恢复ext4文件系统superblock

  1. Create ext4 文件系统。

  [root@localhost ~]# mkfs.ext4 /dev/vdb1

  [root@localhost ~]# partprobe /dev/vdb

  2. 挂载文件系统

  [root@localhost ~]# grep vdb2 /etc/fstab

  /dev/vdb1    /ext4    ext4    defaults    0 0

  [root@localhost ~]# mount -a

  [root@localhost ~]# df -h

  Filesystem                       Size  Used Avail Use% Mounted on

  /dev/vdb1                        100G  1.7G   94G   2% /ext4

  3. 卸载文件系统,并破坏super block

  [root@localhost ~]# umount /ext4

  [root@localhost ~]#

  [root@localhost ~]# 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

  [root@localhost ~]# partx /dev/vdb

  partx: /dev/vdb: failed to read partition table

  [root@localhost ~]#

  [root@localhost ~]# 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

  [root@localhost ~]# dmesg

  [22600278.492089] EXT4-fs (vdb1): VFS: Can't find ext4 filesystem

  4. 恢复superblock

  [root@localhost ~]# 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<y>? yes

  Group descriptor 0 checksum is invalid.  FIXED.

  Group descriptor 1 checksum is invalid.  FIXED.

  Group descriptor 2 checksum is invalid.  FIXED.

  …

  Fix<y>? yes

  /dev/vdb1: ***** FILE SYSTEM WAS MODIFIED *****

  /dev/vdb1: 11/6553600 files (0.0% non-contiguous), 459349/26214144 blocks

  5. 测试是否恢复了。

  [root@localhost ~]# mount -a

  [root@localhost ~]# df -h

  Filesystem                       Size  Used Avail Use% Mounted on

  /dev/vdb1                        100G  1.7G   94G   2% /ext4

 

发表评论

邮箱地址不会被公开。 必填项已用*标注