hoge diary - December 23, 2006

[出来事] ファイルシステム破壊

やってしまいました.GNU Parted 1.7.1 + libreiserfs (progsreiserfs 0.3.0) でパーティションのサイズを変更しようとして... 以下のような今日の小咄 2003年12月分の記述と同様のエラーが発生してしまいました.具体的な残り時間や node 番号は失念したため,ここでは xxxx で示しています.

shrinking... 12% (time left xxx:xx) Error: Invalid node detected (xxxxxx). Unkonwn
 type.

ファイルシステムは破壊され,マウントできなくなってしまいました.reiserfsck --fix-fixable もダメもとで試しましたが,やはりダメでした.仕方なく最終手段の reiserfsck --rebuild-tree を実行することに.

実行後,居場所を失ったファイルやディレクトリが lost+found ディレクトリに大量移動してきました.その総容量,約 576MBytes.本当に消えて困るデータは別マシンにバックアップしていたのでいいのですが,Gentoo Linux の再インストールを今やるのは大変です.

幸い,/etc, /usr, /bin, /var は難を逃れたようです(もちろん完全に逃れたとは思えませんが...).そこで,これらも別なマシンにバックアップし,バックアップが完了し次第,パーティションを切り直してファイルシステムを再構築後,ファイルを元に戻し,システムを復帰させることにします.

新ルートパーティションに退避したデータをコピーして,GRUB の設定や /etc/fstab の書き換えを行った後,マシンを再起動すると... 問題なくGDM のログイン画面まで到達しました.

いざログインしようとすると,KDE が起動しません.

% kdeinit
kdeinit: symbol lookup error: /usr/kde/3.5/lib/libkdecore.so.4: undefined symbol: (xx)
%

(xx) で書いたところは文字化けして読めませんでした.シンボル名が文字化けしてるということは... 一見,難を逃れたように見えるファイルはやはりダメージを受けているということになります.

KDE 関連は怪しいので,kdebase と kdelibs を入れ直してみようとするも,今度は Perl のファイルが見つからない(lost+found へ行ってしまったのでしょう)とのことで,Automake が起動しません.よって perl も再インストールします.

perl が入ったので,次は kdelibs をインストールしようとすると... 途中でコンパイルがコケました.

/usr/include/X11/Xlib.h:3772: error: 'XConnectionWatchProc' has not been declared

嫌な予感がします./usr/include/X11/ の下で grep -R XConnectionWatchProc を実行しても,その定義が見当たりません.X も再インストールです.

こうなってくると,もう最初から入れ直した方が早いんじゃないだろうかと思うのですが,とりあえず作業を続行することにします.

私が作業を手抜きしようとしたがために得た今回の教訓は,「GNU Parted で ReiserFS のリサイズをするより,全てをバックアップしてパーティションを切り直した方が安全」です.

コメント

名前(何でも可):

テキスト(http:// を含む内容は投稿できません):

トラックバック

トラックバック URI: https://www.pakunet.jp/hoge/trackback/2006122301

トラックバックはありません.


Valid XHTML 1.1! Valid CSS!
© 2004-2009 ぱくちゃん.
Last modified: Thu Nov 01 01:17:02 JST 2007