我按照菜单安装了带加密 ZFS 的 FreeBSD 11。使用系统几天后,我在 /boot/loader.conf 中弄乱了一些东西,所以无法启动。我搜索了一下,恢复的方法是从 Live CD 启动并输入:
# cd /tmp/
# mkdir mounted
# geli attach /dev/ada0p3
# zpool import -f -R /tmp/mounted zroot
它成功了,ZFS 的样子如下
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 5.64G 223G 96K /tmp/mounted/zroot
zroot/ROOT 4.05G 223G 96K none
zroot/ROOT/default 4.05G 223G 4.05G /tmp/mounted
zroot/tmp 124K 223G 124K /tmp/mounted/tmp
zroot/usr 1.58G 223G 96K /tmp/mounted/usr
zroot/usr/home 373M 223G 373M /tmp/mounted/usr/home
zroot/usr/ports 642M 223G 642M /tmp/mounted/usr/ports
zroot/usr/src 608M 223G 608M /tmp/mounted/usr/src
zroot/var 1020K 223G 96K /tmp/mounted/var
zroot/var/audit 96K 223G 96K /tmp/mounted/var/audit
zroot/var/crash 96K 223G 96K /tmp/mounted/var/crash
zroot/var/log 512K 223G 512K /tmp/mounted/var/log
zroot/var/mail 120K 223G 120K /tmp/mounted/var/mail
zroot/var/tmp 100K 223G 100K /tmp/mounted/var/tmp
但是,我找不到 /boot/loader.conf !以下目录为空(除其他 ZFS 挂载点外):
# ls /tmp/mounted/
tmp usr var zroot
# ls /tmp/mounted/zroot/
#
我相信我也尝试过在其他地方 zfs mount zroot/ROOT 但也没有发现任何东西。
其他 ZFS 分区看起来都很好,例如:
# ls /tmp/mounted/usr/ports/
.arcconfig .gitattributes .gitignore CHANGES CONTRIBUTING.md ...
我在哪里可以找到 /boot/loader.conf?
答案1
FreeBSD 论坛上的一位开发人员提供了解决方案,从 Live CD 挂载 FreeBSD 加密的 ZFS 并找到根分区
事实证明,ZFS 中的根文件夹在导入时被标记为“不自动挂载”,尽管所有其他 ZFS 切片都已自动挂载。因此,手动挂载解决了这个问题:
zfs mount zroot/ROOT/default