環(huán)境:
重編譯完內(nèi)核,安裝后重啟,顯示:zfs: failed with error 6,然后就是mountroot>提示了。
這是一種很少見的zfs錯(cuò)誤代碼,一般2或19居多。
追蹤:
看最后一行,仍然顯示一串guid號(hào),所以懷疑問題仍然出在gpt上面。
在loader.conf里面加上兩行后仍然不行:
kern.geom.label.gptid.enable="0"
kern.geom.label.disk_ident.enable="0"
加這兩行的原因是安裝的時(shí)候,是以adap3為zfs目標(biāo),如果沒有這兩行,會(huì)把磁盤顯示為guid的格式,導(dǎo)致zfs pool找不到磁盤,從而產(chǎn)生錯(cuò)誤2。
加上下面一行,顯示zfs調(diào)試信息,但是由于USB鍵盤不能使用,所以只能看到最后一行,仍然為guid格式。
vfs.zfs.debug="1"
boot_pause="YES"
最后重新過濾了一遍kernel配置,發(fā)現(xiàn)有三項(xiàng)被注釋掉了:
options GEOM_PART_GPT # GUID Partition Tables.
#options GEOM_RAID # Soft RAID functionality.
options GEOM_LABEL # Provides labelization
這三項(xiàng)跟guid緊密相聯(lián)的,懷疑是跟它們有關(guān),于是先加下面兩行到loader.conf,重啟:
geom_label_load="YES"
geom_part_gpt_load="YES"
竟然順利啟動(dòng)了!
原因:
在內(nèi)核中禁用了GEOM相關(guān)的選項(xiàng),導(dǎo)致geom系統(tǒng)不正常工作。
解決:
去掉注意,重新編譯內(nèi)核:
options GEOM_PART_GPT # GUID Partition Tables.
#options GEOM_RAID # Soft RAID functionality.
options GEOM_LABEL # Provides labelization