最近,我在我的主要 Arch Linux 计算机上使用 PATA/SATA>USB 适配器和 qemu 在 6GB PATA 2.5" 硬盘上设置了 FreeBSD 11。FreeBSD 在 qemu 中启动正常,但当移动到我的 Dell Latitude XPi (P133 ,56mb RAM)它加载引导加载程序,然后说:
Can't work out which disk we are booting from.
Guessed BIOS device 0xffffffff not found by probes, defaulting to disk0:
can't load 'kernel'
Type '?' for a list of commands, 'help' for more detailed help.
OK
使用 lsdev 列出设备后,我得到:
cd devices:
disk devices:
disk0: BIOS drive a:
disk1: BIOS drive c:
pxe devices:
我看到引导程序尝试加载不存在的软盘驱动器而不是 HDD 的内核;我尝试过boot disk1:boot/bootX
,其中 X 是一个数字(至少在 iso 上有几个标记为 boot 的二进制文件和 /boot/ 中的一个数字),但它返回can't find 'disk1:boot/bootX
答案1
1:ad(1,a)
在 boot2 提示符下输入
或阅读 man boot、man boot.config man loader 等...希望能有所帮助。祝你好运
答案2
旧的 FreeBSD 引导加载程序(“boot1”)与 BIOS 一起查找并解析根分区,以便找到加载程序。这需要正确配置柱面/磁头/扇区以匹配 IDE 驱动器的物理几何形状。这非常烦人,因为 BIOS 在安装过程中有时会对 fdisk 撒谎。后来当 BIOS 支持 LBA 寻址时,这种情况就消失了。
首先尝试启用LBA模式: http://phaq.phunsites.net/2007/05/25/freebsds-loader-fails-with-wrong-harddisk-geometry-in-bios/
血淋淋的内部结构: https://www.freebsd.org/doc/en/books/arch-handbook/book.html#boot-boot1