Boot

FreeBSD 引導載入程序不會從正確的池引導

  • November 13, 2016

我在一個系統上安裝了 FreeBSD 10.1,它有兩個 ZFS 池,並且從另一個硬碟引導,它只包含引導載入程序。主池磁碟連接到 PCI-E 卡上的 SATA 埠,而引導載入程序嘗試從錯誤的池(第二個池,直接連接到主機板上的 SATA 埠)引導。

錯誤如下:

Can't find /boot/zfsloader
FreeBSD/x86 boot
Default: storage:/boot/kernel/kernel
boot:
/
Cant't find /boot/kernel/kernel
FreeBSD/x86 boot
Default: storage:/boot/kernel/kernel
boot: 

我試圖在 /mnt/boot/loader.conf 中設置 vfs.root.mountfrom=“zfs:zpool” 或 “zfs:zpool/ROOT” 但它不起作用。

如果我拔下第二個池的磁碟,系統會正確啟動。

非常感謝。

好的,我自己想通了。

ZFS Loader 不允許設置引導的根池,但它會嘗試通過將 BIOS 池化為引導優先級順序來猜測正確的池。

為了讓它從正確的池啟動,我在 BIOS 中將包含引導載入程序的驅動器設置為第一個啟動設備,並將屬於根鏡像池的驅動器設置為第二個和第三個。

嘗試cp -r /boot從正確的池到錯誤的池。確保bootfs錯誤池上的屬性為空或設置為正確池。

引用自:https://unix.stackexchange.com/questions/178262