予備スーパーブロックの場所を特定するコマンド January 3, 2008
ext2/ext3のスーパーブロックが壊れるとmount不能になる。
この場合、fsck -bで予備のスーパーブロックを指定することで復旧できる可能性が高いが、どこに保管されているのかよく分からない。
そんな時はmkfs.ext3 -n /dev/hda1を使うらしい。
出典は「壊れたパーティションを修復するには」(@IT)
リンク先の記事中ではKNOPPIXを使えということになっているが、コマンド自体はLinux汎用。
-nを指定し忘れるとパーティションをフォーマットしてしまうので作業は慎重に行う必要がある。
なお、こんなコマンドを打つ場面は明らかにロクでもない事態なわけだが、今まさに玄箱のディスクがクラッシュしている。 hdparmでHDDを止めるを書いた頃から「昨日、ついにディスクがカリカリ音を立て始めてブートしなくなるという危機的状況に陥った」という異常な感じにはなっていた。 スーパーブロックはこの手順で直ったが、肝心の中身が壊れていることが判明。 原因だけははっきりしていて、過労。
不良セクタを避けてExt3を作成する方法、など…
mkfs.ext3 -c /dev/hda1のように-cオプションをつけると、不良セクタをスキャンしてそこを使わないようにファイルシステムを作成できる。 各種ディストリビューションのGUIインストーラにも…..