У меня есть жесткий диск (или SSD, или флэш-диск) с установленным на нем FreeBSD, и каким-то образом я сломал загрузочный код (первые 446 байтов MBR). Как я могу загрузиться в этот FreeBSD?
Предполагая, что существует 512-байтовая DOS-подобная MBR, и вы заменили первые 446 байтов ее на какое-то дерьмо ( нули или просто /dev/urandom
вывод), или повредили загрузочный код другим способом. В этом случае таблица разделов MBR находится на своем месте, но система не может загрузиться с этого устройства.
Идея состоит в том, чтобы использовать загрузчик другой BSD-подобной системы для загрузки с вашего устройства и вашего ядра.
unload
disk0s1a
), набравlsdev
set currdev="disk0s1a"
loder.conf
с вашего устройства (чтобы убедиться, что все настройки ядра и хаки будут применимы), набравread-conf boot/loader.conf
boot-conf
Когда ваша ОС запускается, вы можете восстановить загрузочный код. Я использую sysinstall
для этого (Custom -> Partition, W, <Yes>
, BootMgr
( "Установка FreeBSD Boot Manager"), <OK>
, Q, <Exit>
, <Exit Install>
), но это не рекомендуется , так как 9.0-RELEASE и удаляется из базы , так как 10,0-RELEASE. Другой способ - использовать резервную копию, сохраненную в /boot
, для извлечения из нее загрузочного кода:
# gpart bootcode -b /boot/mbr /dev/yourbootdevice