我的主要 FreeBSD 13.1 安装在启动过程的某个时刻冻结,显示以下消息:
Mounting local filesystem
eval : zfs not found
eval: touch not found
/etc/rc : date not found
我知道问题是由我错误安装的不正确的数据集引起的,因此现在 /bin 和其他内容丢失了。我不知道如何解决它。
这是磁盘“损坏”:
NAME USED AVAIL REFER MOUNTPOINT
zroot 412G 33.9G 96K /mnt/zroot/zroot
zroot/ROOT 399G 33.9G 96K none
zroot/ROOT/13.1-RELEASE-p2_2022-11-11_174736 8K 33.9G 321G /mnt/zroot
zroot/ROOT/13.1-RELEASE-p3_2022-11-17_193042 8K 33.9G 343G /mnt/zroot
zroot/ROOT/13.1-RELEASE_2022-09-01_041825 8K 33.9G 308G /mnt/zroot
zroot/ROOT/31-03-2022-a 512K 33.9G 43.4G /mnt/zroot
zroot/ROOT/31-03-2022-b 399G 33.9G 318G /mnt/zroot
zroot/tmp 15.0M 33.9G 15.0M /mnt/zroot/tmp
zroot/usr 11.2G 33.9G 96K /mnt/zroot/usr
zroot/usr/home 192K 33.9G 192K /mnt/zroot/usr/home
zroot/usr/ports 11.2G 33.9G 11.2G /mnt/zroot/usr/ports
zroot/usr/src- 96K 33.9G 96K /mnt/zroot/usr/src-
zroot/var 1.26G 33.9G 96K /mnt/zroot/var
zroot/var/audit 96K 33.9G 96K /mnt/zroot/var/audit
zroot/var/crash 1.11G 33.9G 1.11G /mnt/zroot/var/crash
zroot/var/log 3.91M 33.9G 3.91M /mnt/zroot/var/log
zroot/var/mail 130M 33.9G 130M /mnt/zroot/var/mail
zroot/var/tmp 18.1M 33.9G 18.1M /mnt/zroot/var/tmp
我已经找到了50%的解决方案。我已经分离了所有外部磁盘,并且发现该磁盘:
=> 40 1953525095 da4 GPT (932G)
40 532480 1 efi (260M)
532520 1024 2 freebsd-boot (512K)
533544 984 - free - (492K)
534528 4194304 3 freebsd-swap (2.0G)
4728832 1948794880 4 freebsd-zfs (929G)
1953523712 1423 - free - (712K)
干扰包含 zroot 池的磁盘的启动:
=> 40 976773095 ada0 GPT (466G)
40 532480 1 efi (260M)
532520 1024 2 freebsd-boot (512K)
533544 984 - free - (492K)
534528 4194304 3 freebsd-swap (2.0G)
4728832 972044288 4 freebsd-zfs (464G)
976773120 15 - free - (7.5K)
这意味着如果我启动安装在磁盘 ada0 上的 FreeBSD 并且 USB 磁盘 da4 连接到 PC,我会收到这些错误。它看起来是我在该磁盘上制作的先前 FreeBSD 安装的安装文件,或者我已将 zroot 池连接到该磁盘。两个磁盘以某种方式连接,但我不知道如何连接。所以,我想打破这种联系。我检查了 fstab 文件中是否有错误,但似乎没有:
# Device Mountpoint FStype Options Dump Pass#
/dev/ada0p1 /boot/efi msdosfs rw 2 2
/dev/ada0p3 none swap sw 0 0
linprocfs /compat/linux/proc linprocfs rw 0 0
linsysfs /compat/linux/sys linsysfs rw 0 0
tmpfs /compat/linux/dev/shm tmpfs rw,mode=1777 0 0
fdesc /dev/fd fdescfs rw 0 0
proc /proc procfs rw 0 0
也许连接位于磁盘 ada0 的 /boot 文件夹内,但我无法理解它可能在哪里。如果我在不连接 USB 磁盘 da4 的情况下启动 FreeBSD,我不会收到这些错误,并且 FreeBSD 完全正确地安装在 ada0 启动上。
这是磁盘 da4 的内容:
# zpool import -f -R /mnt/zroot2 zroot2
ok
mario@marietto:/mnt/zroot2 # ls
boot dev tmp usr var zroot zroot2
mario@marietto:/mnt/zroot2 # cd zroot2
mario@marietto:/mnt/zroot2/zroot2 # ls
Data Informations backup
正如您所看到的,已经放置了 zfs 池的典型文件。现在你们中的某个人应该很容易理解该怎么做。请帮助我,我不想每次使用 FreeBSD 时都分离磁盘 da4。