|  Linux 
            Tips | 
        
 
          
  | 
 
            
 壊れたパーティションを修復するには 
北浦訓行 
              2005/4/21 
 | 
      
  パーティションがクラッシュすると、Linuxの起動とは関係ないパーティションであっても以下のようなメッセージが表示されることがある。
Checking root filesystem 
fsck.ext3/dev/hda5: : Bad magic number in super-block while trying to open /dev/hda5 
(省略) 
*** An error occurred during the file system check. 
*** Dropping you to a shell; the system will reboot 
*** when you leave the shell. 
Give root passwrd for maintenance 
(or type Control-D to continue): | 
 上記の場合、メッセージから/dev/hda5のファイルシステムが壊れているために起動できないことが分かる。このようなときの復旧には、KNOPPIXが便利である(注)。
| 注:この方法で必ずパーティションを復旧できというわけではない。最悪の場合を想定して、必要なデータをバックアップしてから行うべきである。 | 
 メッセージの指示どおりに[Ctrl]+[D]を押すとシステムがリブートする。このとき、KNOPPIXのCD-ROMをドライブに入れて、KNOPPIXを起動する(KNOPPIXをコンソールモードで起動するには参照)。KNOPPIXのコンソールが起動したら、mkfs.ext3コマンドでブロックサイズ(Block size)とスーパーブロックのバックアップが保存されている場所(Superblock backups)を調べる。
# mkfs.ext3 -n /dev/hda5 
mke2fs 1.35 (28-Feb-2004) 
Filesystem label= 
OS type: Linux 
Block size=4096 (log=2) ←ブロックサイズ 
Fragment size=4096 (log=2) 
1305600 inodes, 2610554 blocks 
130527 blocks (5.00%) reserved for the super user 
First data block=0 
80 block groups 
32768 blocks per group, 32768 fragments per group 
16320 inodes per group 
Superblock backups stored on blocks: 
        32768, 98304, 163840, 2294912, 294912, 819200, 884736, 1605632 ←スーパーブロックのバックアップが保存されている場所 | 
 次に、fsck.ext3コマンドでファイルシステムのチェックを行う。その際に、-bオプションでスーパーブロックバックアップの場所、-Bオプションでブロックサイズを指定する。
# fsck.ext3 -b 32768 -B 4096 /dev/hda5 | 
 「Pass 1:〜」のように正常に終了すればいいが、
fsck.ext3: Bad magic number in super-block while trying to open /dev/hda5 | 
のようにエラーが表示されるときは、-Sオプション付きでmke2fsコマンドを実行して、スーパーブロックを再作成してみる。
# mke2fs -S /dev/hda5 
mke2fs 1.35 (28-Feb-2004) 
Filesystem label= 
OS type: Linux 
Block size=4096 (log=2) 
Fragment size=4096 (log=2) 
1305600 inodes, 2610554 blocks 
130527 blocks (5.00%) reserved for the super user 
First data block=0 
80 block groups 
32768 blocks per group, 32768 fragments per group 
16320 inodes per group 
Superblock backups stored on blocks: 
        32768, 98304, 163840, 2294912, 294912, 819200, 884736, 1605632 
 
Writing superblocks and filesystem accounting information: done 
 
This filesystem will be automatically checked every 35 mounts or 180 
 days, whichever comes first.  Use tune2fs -c or -i to override. | 
 以上で復旧作業は終了だ。rebootコマンドでシステムを再起動して、正常に起動できるかどうかを確認する。それでも駄目なら、問題のあるパーティションを削除するしかないだろう。
      
|  Linux Squareフォーラム Linux Tipsカテゴリ別インデックス | 
 
	
		Linux & OSS 記事ランキング
		
		
			本日
			月間