我有一个安装了 FreeBSD 的 HDD(或 SSD 或闪存驱动器),不知何故我破坏了引导代码(MBR 的前 446 字节)。我怎么能启动到这个 FreeBSD?
Ant*_*ioK 13
假设有 512 字节的类似 DOS 的 MBR,并且您已经用一些废话(零或只是/dev/urandom
输出)替换了它的前 446 个字节,或者以其他方式损坏了引导代码。在这种情况下,MBR 分区表就在它的位置,但系统无法从该设备启动。
想法是使用其他类似 BSD 的系统的加载程序来引导您的设备和内核。
unload
disk0s1a
通过键入找出您要从中启动 FreeBSD 的设备(通常是类似)lsdev
set currdev="disk0s1a"
loder.conf
通过键入从您的设备重新读取(以确保您的所有内核调整和黑客都适用)read-conf boot/loader.conf
boot-conf
当您的操作系统启动时,您可以修复引导代码。我使用sysinstall
它 (Custom -> Partition, W, <Yes>
, BootMgr
("Install the FreeBSD Boot Manager"), <OK>
, Q, <Exit>
, <Exit Install>
),但它自 9.0-RELEASE 以来已被弃用,并自 10.0-RELEASE 以来从基础中删除。另一种方法是使用存储在 中的备份/boot
从中提取引导代码:
# gpart bootcode -b /boot/mbr /dev/yourbootdevice
Run Code Online (Sandbox Code Playgroud)