トップ «前の日記 最新 次の日記»

2020-08-29 (Sa) [長年日記]

_ zfs boot できなくなった

Windows を 2004 にアップデートした。 その後、linux が起動できなくなった。

zfs が import できなくて bootfs が見つからない。zfs=zroot/root にしても zroot/root が見つからない。

そして、break=premount で boot して、手動で

zpool import -d /dev/disk/by-uuid -R /new_root -Na
zfs mount -a

して C-d すると問題なく起動してくれる。

どういうコマンドで何が起きてるのかわからんので、 とりあえず /usr/lib/initcpio/install/zfs の zpool import してるところの 直前に echo でどんな引数で zpool import してるのかを出力するようにした。 そして mkinitcpio -p linux-zen して再起動。

zpool import -c /etc/zfs/zpool.cache.org で import するのね。 cache が壊れたのだろうか…?

もう一度 break=premount で boot して zpool import -c ... を実行した ところ、UNAVAIL とか insufficient replica とか書いてある。

replica なんてもともとないんだけど… ボリューム壊れたかな。 それにしては -d だと問題ないのはよく解らんけど。

-d で import して mount して起動して、cachefile を作り直してみた。

zpool set cachefile=none zroot
zpool set cachefile=/etc/zfs/zpool.cache zroot

こうやって作り直すのね。

で、mkinitcpio -p linux-zen して再起動したら、問題なく起動してくれた。

cache が壊れてただけかーー。

ashift 問題の可能性も頭をよぎったりしたけど、これだけで治ってくれて良かった。

いまだ suspend から resume に失敗することは頻繁にあるので、 普通に考えるとそのせいでファイルが壊れた、ってことなんだけど、 Windows の関係性はよく解らん。 たぶん最後の引き金を引いたんだろうけど、どういう引き金だったのやら。


編集 パスワード変更