[轉] Linux Ext3檔案系統超級塊損壞後的修復

msdnchina發表於2009-08-16

Linux Ext3檔案系統超級塊損壞後的修復

在mount 檔案系統時,有時會遇到如下的情況:

mount: wrong fs type, bad option, bad superblock on /dev/sdc, or too many mounted file systems

比如:(以下摘自:)

# mount /dev/sde1 /foo

mount: wrong fs type, bad option, bad superblock on /dev/sde1,

or too many mounted file systems


的問題。請問這種問題怎麼能解決呢?


回答:

這個錯誤資訊標識 /dev/sde1 裝置上的 ext3 檔案系統的超級塊損壞了,ext3 檔案系統的後設資料儲存在超級塊中。


ext3 檔案系統還有一些備份的超級塊,可以嘗試用備份的超級塊載入 ext3 檔案系統和修復 ext3 檔案系統。


備份的超級塊資訊可以透過以下命令獲得,這個命令模擬 ext3 檔案系統建立時的動作並列印出備份超級塊的位置,給出的位置預設是以4k為單位的,mount 在使用時需要為它提供以1k為單位的偏移,需要乘4:


注意!一定要使用'-n'作為引數模擬 ext3 檔案系統的建立而不是真的建立 ext3 檔案系統

# mkfs.ext3 -n /dev/hda7

mke2fs 1.38 (30-Jun-2005)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

2198880 inodes, 4393738 blocks

219686 blocks (5.00%) reserved for the super user

First data block=0

135 block groups

32768 blocks per group, 32768 fragments per group


16288 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

4096000


使用備份的超級塊來載入 ext3 檔案系統的命令:


語法: mount.ext3 -o sb=n

# mount.ext3 -o sb=131072 /dev/hda7 /media/hda7


使用備份的超級塊來修復 ext3 檔案系統的命令


語法:fsck.ext3 -b superblock

# fsck.ext3 -b 32768 /dev/hda7

 

今天就遇到了mount時出現這個錯誤的情況,雖然不是super block出錯,但是我也試驗了一下修復的方法.

特記錄一下..

 

另外請特別注意:fsck.ext3 -y /dev/sda3 時,要umount掉該檔案系統,否則可能損壞該檔案系統,比如以下網址中的情況:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/161195/viewspace-612456/,如需轉載,請註明出處,否則將追究法律責任。

相關文章