实际上,我已经在ZFS磁盘ada0上安装了我的日常工作ada0 13.1发行系统:
=> 40 976773088 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 8 - free - (4.0K)相反,在磁盘ada2上,我已经安装了我在驱动器ada0上安装的大多数服务和应用程序,有时我切换到这个系统(这是相同的13.1版本,但在UFS2 fs上):
=> 40 625142368 ada2 GPT (298G)
40 532480 1 efi (260M)
532520 616030208 2 freebsd-ufs (294G)
616562728 8388608 3 freebsd-swap (4.0G)
624951336 191072 - free - (93M)有时,当我在安装在磁盘ada2上的系统上时,我希望挂载安装在/dev/ada0p4 (磁盘ada0上的FreeBSD)上的系统的根分区,为此,我使用以下命令:
zfs mount -a
mount -t zfs -fw zroot/ROOT/31-03-2022-b /mnt/freebsd-zfs有什么问题吗?问题是,它工作了很多时间,但不是每次,我不明白原因。有时,就像现在一样,它会给出下面的错误。是否有更安全的方法来挂载ZFS分区,使其工作100%?谢谢。
mount: zroot/ROOT/31-03-2022-b: No such file or directory更新:我尝试过这样做,它几乎成功了,但不幸的是,我没有看到磁盘上存储的所有文件和文件夹:
# zpool import -f -R /mnt/freebsd-zfs zroot
ls /mnt/freebsd-zfs tmp
usr var zroot这也不起作用:
# zpool import -f -R /mnt/freebsd-zfs zroot/ROOT/31-03-2022-b
cannot import 'zroot/ROOT/31-03-2022-b': no such pool available我希望挂载路径"zroot/ROOT/31-03-2022-b“:
# sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 216G 230G 96K /mnt/freebsd-zfs/zroot
zroot/ROOT 203G 230G 96K none
zroot/ROOT/31-03-2022-a 512K 230G 43.4G /mnt/freebsd-zfs
zroot/ROOT/31-03-2022-b 203G 230G 175G /mnt/freebsd-zfs
zroot/tmp 10.6M 230G 10.6M /mnt/freebsd-zfs/tmp
zroot/usr 11.7G 230G 96K /mnt/freebsd-zfs/usr
zroot/usr/home 192K 230G 192K /mnt/freebsd-zfs/usr/home
zroot/usr/ports 8.33G 230G 8.33G /mnt/freebsd-zfs/usr/ports
zroot/usr/src 3.36G 230G 3.36G /mnt/freebsd-zfs/usr/src
zroot/var 1.26G 230G 96K /mnt/freebsd-zfs/var
zroot/var/audit 96K 230G 96K /mnt/freebsd-zfs/var/audit
zroot/var/crash 1.11G 230G 1.11G /mnt/freebsd-zfs/var/crash
zroot/var/log 3.59M 230G 3.59M /mnt/freebsd-zfs/var/log
zroot/var/mail 130M 230G 130M /mnt/freebsd-zfs/var/mail
zroot/var/tmp 18.1M 230G 18.1M /mnt/freebsd-zfs/var/tmp发布于 2022-08-14 04:30:17
在导入之前,尝试将池上的altroot属性设置为/mnt/freebsd-zfs 或zfs mount-ing (任何数据集)。
来自man zpoolprops:
altroot备用根目录。如果设置了该目录,则将此目录置于池中任何挂载点的前面。在检查无法信任挂载点的未知池时,或者在典型路径无效的备用引导环境中,都可以使用这种方法。altroot不是一个持久属性。它只有在系统运行时才有效。设置altroot默认为使用cachefile=none,尽管可以使用显式设置来覆盖此设置。
注意,它写着"<#>not是一个持久的属性“。每次需要导入池并将其数据集挂载到ufs2引导环境时,都需要这样做。
https://unix.stackexchange.com/questions/713556
复制相似问题