恢复ext4文件系统superblock
1. Create ext4 文件系统。
[[email protected] ~]# mkfs.ext4 /dev/vdb1
[[email protected] ~]# partprobe /dev/vdb
2. 挂载文件系统
[[email protected] ~]# grep vdb2 /etc/fstab
/dev/vdb1 /ext4 ext4 defaults 0 0
[[email protected] ~]# mount -a
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vdb1 100G 1.7G 94G 2% /ext4
3. 卸载文件系统,并破坏super block
[[email protected] ~]# umount /ext4
[[email protected] ~]#
[[email protected] ~]# dd if=/dev/zero of=/dev/vdb1 bs=1024 count=5
5+0 records in
5+0 records out
5120 bytes (5.1 kB) copied, 0.00481915 s, 1.1 MB/s
[[email protected] ~]# partx /dev/vdb
partx: /dev/vdb: failed to read partition table
[[email protected] ~]#
[[email protected] ~]# mount /ext4
mount: wrong fs type, bad option, bad superblock on /dev/vdb1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
[[email protected] ~]# dmesg
[22600278.492089] EXT4-fs (vdb1): VFS: Can‘t find ext4 filesystem
4. 恢复superblock
[[email protected] ~]# fsck -t ext4 /dev/vdb1
fsck from util-linux 2.20.1
e2fsck 1.41.14 (22-Dec-2010)
fsck.ext4: Superblock invalid, trying backup blocks...
One or more block group descriptor checksums are invalid. Fix? yes
Group descriptor 0 checksum is invalid. FIXED.
Group descriptor 1 checksum is invalid. FIXED.
Group descriptor 2 checksum is invalid. FIXED.
...
Fix? yes
/dev/vdb1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/vdb1: 11/6553600 files (0.0% non-contiguous), 459349/26214144 blocks
5. 测试是否恢复了。
[[email protected] ~]# mount -a
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vdb1 100G 1.7G 94G 2% /ext4