love2006 发表于 2016-11-02 17:24

zfs引导出错将无法进入,电脑变砖头

在boot/loader.conf配置错误后无法引导进入系统,这时候用livecd载入zfs池zroot,可以看到ports,src等目录,也能编辑,但是看不到boot,etc等目录,因为他分配到./目录,无法覆盖原来的目录,是只读系统。
如果载入到其他目录,也只能看到几个目录,并没有boot,etc,因为无法修改系统。这样的话系统就变成砖头,不可以恢复了。只能格盘重装。可能是为了安全,如果zfs加密了,用修复系统谁都能进入,安全就没保障了。

难怪苹果手机改动了密码会变成砖头。

lsstarboy 发表于 2016-11-03 16:22

挂zfs的时候,有altroot选项,能看到boot目录。

bleakwind 发表于 2016-11-03 17:00

你都能看到zfs存储池了还谈什么砖头?
电脑的世界本来就没有砖头一说.砖头是指无法启动,无法进入刷机(bios)模式.
没听过苹果手机改了密码会变砖,又也不是一码事.
你只是boot分区你不会引导罢了. zfs完好无损你自己也能看到.
boot分区默认zfs配置是单独分区的,不在存储池中,所以你才看不到.

可尝试bios里修改从第二块硬盘上引导.因为每个硬盘都有份boot分区
实在要从装也可以,你都能看到zfs存储池了,导出数据后再从装.

lsstarboy 发表于 2016-11-03 19:54

回复 3# bleakwind

单独分区的那个boot跟/boot不一样吧?一般磁盘分三个区,freebsd-boot,freebsd-swap,freebsd-zfs,这个freebsd-boot是放启动代码的,应该不是/boot,/boot里面放kernel之类的东东。

lsstarboy 发表于 2016-11-03 19:55

我用的zfs:
History for 'zroot':
2015-06-25.15:40:31 zpool create -o altroot=/mnt -O compress=lz4 -O atime=off -m none -f zroot ada0p3.nop
2015-06-25.15:40:31 zfs create -o mountpoint=none zroot/ROOT
2015-06-25.15:40:31 zfs create -o mountpoint=/ zroot/ROOT/default
2015-06-25.15:40:31 zfs create -o mountpoint=/tmp -o exec=on -o setuid=off zroot/tmp
2015-06-25.15:40:31 zfs create -o mountpoint=/usr -o canmount=off zroot/usr
2015-06-25.15:40:32 zfs create zroot/usr/home
2015-06-25.15:40:32 zfs create -o setuid=off zroot/usr/ports
2015-06-25.15:40:32 zfs create zroot/usr/src
2015-06-25.15:40:32 zfs create -o mountpoint=/var -o canmount=off zroot/var
2015-06-25.15:40:32 zfs create -o exec=off -o setuid=off zroot/var/crash
2015-06-25.15:40:33 zfs create -o exec=off -o setuid=off zroot/var/log
2015-06-25.15:40:33 zfs create -o setuid=off zroot/var/tmp
2015-06-25.15:40:33 zpool set bootfs=zroot/ROOT/default zroot
2015-06-25.15:40:33 zpool export zroot
2015-06-25.15:40:35 zpool import -o altroot=/mnt zroot
2015-06-25.15:40:37 zpool set cachefile=/mnt/boot/zfs/zpool.cache zroot

love2006 发表于 2016-11-03 20:35

我说的苹果变砖头是说被别人(黑客)改了密码自己无法进去,这时候就是砖头了。

zfs安装用了自动分区,/boot,/etc目录应该就是放在/目录下面,但是/并不是在一个池里面,因此无法通过载入池载入查看修改
zpol import -f -o altroot=/mntzroot 载入后/mnt并没有/boot,/etc (这个mnt是另外一个可读写盘)

zpool create -o altroot=/mnt -O compress=lz4 -O atime=off -m none -f zroot ada0p3.nop
zfs create -o mountpoint=none zroot/ROOT
zfs create -o mountpoint=/ zroot/ROOT/default
这三个创建的池中,boot目录放哪个池呢? 如果在zroot/ROOT,没有载入点就看不到了。
如果在zroot/ROOT/default,好像没有看到这个池,
大家用livecd进去载入zroot看看

love2006 发表于 2016-11-03 20:41

本帖最后由 love2006 于 2016-11-03 21:03 编辑

freebsd11的zfs似乎不稳定,以前10.3似乎稳定点,可能使用了ntfs导致

用了ntfs系统崩溃了几次,现在改用ufs,暂时没发现问题

love2006 发表于 2016-11-03 20:46

直接载入zpool importzroot,并不会载入/boot,/boot依然是livecd的只读系统,不是硬盘的

love2006 发表于 2016-11-03 20:49

10.3版本我还载入修改过fstab,不过11不行,难道是因为系统出了故障无法载入覆盖livecd的目录?再研究看看

bleakwind 发表于 2016-11-04 01:04

lsstarboy 发表于 2016-11-03 19:54
回复 3# bleakwind

单独分区的那个boot跟/boot不一样吧?一般磁盘分三个区,freebsd-boot,freebsd-swa ...

明白意思了, 是说/boot目录东西被改错了. /boot好像默认在/根创建的, 至于为啥导入池看不到? 我也不知道, 我是菜鸟来的. 你们继续, 哈哈...
页: [1] 2 3
查看完整版本: zfs引导出错将无法进入,电脑变砖头