如何用损坏的启动代码来启动FreeBSD系统?


8

我有一个安装了FreeBSD的HDD(或SSD,或闪存驱动器),并且以某种方式破坏了启动代码(MBR的前446个字节)。我该如何启动这个FreeBSD?

Answers:


13

假设有512字节的类似DOS的MBR,并且已用一些废话(或仅/dev/urandom输出)替换了它的前446字节,或以其他方式损坏了引导代码。在这种情况下,MBR分区表就位,但是系统无法从该设备引导。

想法是使用其他类似BSD的系统的加载程序来引导您的设备和内核。

  • 您应该开始通过BMC从另一个HDD,CD,闪存驱动器,PXE,虚拟介质引导到任何类似BSD的OS(我曾尝试使用FreeBSD 6.0、7.0、8.0、8.1、8.2、8.3、8.4、9.2和Frenzy 1.4)。 / KVM等
  • 在启动过程中,在加载程序屏幕上单击“转至加载程序提示”(在较旧的FreeBSD系统中为“ 6”,在FreeBSD 9中为“ 3”,在Frenzy中为“ 8”)
  • 通过键入卸载内核及其模块 unload
  • disk0s1a键入以下内容找出要从中引导FreeBSD的设备(通常是)lsdev
  • 通过键入将此设备设置为“当前” set currdev="disk0s1a"
  • loder.conf通过键入以下内容从您的设备中重新读取(以确保将应用所有内核调整和破解)read-conf boot/loader.conf
  • 启动操作系统并享受-只需输入 boot-conf

当操作系统启动时,您可以修复引导代码。我用sysinstall它(自定义- >分区,W<Yes>BootMgr( “安装FreeBSD的启动管理器”), , ,,<OK> ),但自从9.0-RELEASE弃用,因为10.0-RELEASE从底部排出。另一种方法是使用存储在中的备份从中提取引导代码:Q<Exit><Exit Install>/boot

# gpart bootcode -b /boot/mbr /dev/yourbootdevice
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.