Gentoo 半死 → 修復

emerge -e system
を実行しておいたら、中途半端なところでエラーが出ていた。
起動し直すと、カーネルは立ち上がるが、"initがない"などと表示され、その先に進めない。

原因は、/usr のファイルシステムを読み取りのみでマウントしながらアップデートを仕掛けたため。
/ に属する /lib, /sbin, /etc, /bin などの一部が消えていた。
/usr 以下も怪しかった。

インストールしなおさずに、消えた(あるいは壊れた)ファイルを復元するため、
パーティションに stage1 のファイルを展開し、
emerge -e system
のところまでインストール手順を実行した。

できたパーティションから、先ほどの消えたディレクトリをコピー。
すると一応立ち上がるようになったので、
起動時のエラーを見て
jfsutils, portmap
などの emerge しなおす。

そもそも /usr を読み取り専用でマウントしていたのはなぜか?
起動時にfsckが働かなかったから?
普段でも、ときどきシステム停止時の umount がうまくいかないことがある。
大抵は NFS でサーバーからマウントしているやつで、
無視しても問題ないのだが。