FreeBSD下zfs: failed with error 6错误解决
环境:
重编译完内核,安装后重启,显示:zfs: failed with error 6,然后就是mountroot>提示了。
这是一种很少见的zfs错误代码,一般2或19居多。
追踪:
看最后一行,仍然显示一串guid号,所以怀疑问题仍然出在gpt上面。
在loader.conf里面加上两行后仍然不行:
kern.geom.label.gptid.enable="0"
kern.geom.label.disk_ident.enable="0"
加这两行的原因是安装的时候,是以adap3为zfs目标,如果没有这两行,会把磁盘显示为guid的格式,导致zfs pool找不到磁盘,从而产生错误2。
加上下面一行,显示zfs调试信息,但是由于USB键盘不能使用,所以只能看到最后一行,仍然为guid格式。
vfs.zfs.debug="1"
boot_pause="YES"
最后重新过滤了一遍kernel配置,发现有三项被注释掉了:
options GEOM_PART_GPT # GUID Partition Tables.
#options GEOM_RAID # Soft RAID functionality.
options GEOM_LABEL # Provides labelization
这三项跟guid紧密相联的,怀疑是跟它们有关,于是先加下面两行到loader.conf,重启:
geom_label_load="YES"
geom_part_gpt_load="YES"
竟然顺利启动了!
原因:
在内核中禁用了GEOM相关的选项,导致geom系统不正常工作。
解决:
去掉注意,重新编译内核:
options GEOM_PART_GPT # GUID Partition Tables.
#options GEOM_RAID # Soft RAID functionality.
options GEOM_LABEL # Provides labelization