Ответы:
Предполагая, что существует 512-байтовая DOS-подобная MBR, и вы заменили первые 446 байтов ее на какое-то дерьмо ( нули или просто /dev/urandomвывод), или повредили загрузочный код другим способом. В этом случае таблица разделов MBR находится на своем месте, но система не может загрузиться с этого устройства.
Идея состоит в том, чтобы использовать загрузчик другой BSD-подобной системы для загрузки с вашего устройства и вашего ядра.
unloaddisk0s1a), набравlsdevset currdev="disk0s1a"loder.confс вашего устройства (чтобы убедиться, что все настройки ядра и хаки будут применимы), набравread-conf boot/loader.confboot-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