Answers:
我有以下情况:
我将FreeBSD 10.1 USB .img
文件安装到1GB棒上并将FreeBSD安装到16GB棒上。被认为是1GB的棒/dev/da0
,而16GB的棒被认为是/dev/da1
。FreeBSD安装到16GB以下/dev/da1s2a
。然后我删除1GB棒 - 通常无法自动启动到FreeBSD系统。系统说无法启动vfs.root.mountfrom="/dev/da1s2a"
,但是让我手动启动进入FreeBSD,所以我不得不将启动切片更改为/dev/da0s2a
,并且工作正常。当然,我不想手动完成,所以我找到了这篇文章。
它启发我搜索变量的位置vfs.root.mountfrom
,所以我重新启动系统,拉出16GB棒,放回1GB棒,从它作为Live CD启动。此时,我放回16GB棒,安装它(mount /dev/da1s2a /mnt
)并搜索“vfs.root.mountfrom”。我的发现是:
/boot/loader.conf
文件!/boot/defaults/loader.conf
文件!因为做那些事会搞乱装载机!
解决的办法是在调整/etc/fstab
上/mnt
(16GB棒)改变输入/dev/da1s2a
到/dev/da0s2a/
作为装载机正在寻找的fstab
文件系统在fstab
启动过程中,并自动写入的值vfs.Root.Mountfrom
变!
所以在重启期间我删除了1GB棒,机器成功启动了FreeBSD!
文件/boot/loader.conf包含以root用户身份挂载文件系统的说明。
检查此文件是否为enrty:
vfs.root.mountfrom="ufs:ad6s1a"
并调整它(如果它缺少则添加它):
vfs.root.mountfrom="ufs:ad4s1a"
(假设设备4的片1的分区a)
我想你想改变/boot.config
。
请参见boot.config手册页。
它表明你想要的东西
echo "1:ad(4,a)/boot/loader" > /boot.config
但是首先看看文件/dev/ad6
是什么,然后找出/dev/ad4
应该是什么。
/etc/disktab
和bsdlabel -B
?/boot/kernel.conf
?