现在在我监督下的服务器的前任管理员犯了一个错误.他偶然在一个实际上包含带有数据的Ext4分区的磁盘上创建了一个LVM卷(不过我认为,但不是确定的pvcreate).如何从这样的错误中恢复数据?我准备阅读ext4文档并推出自己的文档,但也许我不需要?我试过的一些工具无法在其上找到Ext4文件系统,所以我想我需要更严肃的东西.
解决方法
如果运行mkfs.ext4 -n / / partition,它将打印出该系统上EXT4格式化驱动器的外观.
# mkfs.ext4 -n /dev/dm-3 mke2fs 1.42.8 (20-Jun-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks,Stripe width=0 blocks 3276800 inodes,13107200 blocks 655360 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 400 block groups 32768 blocks per group,32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768,98304,163840,229376,294912,819200,884736,1605632,2654208,4096000,7962624,11239424
值得注意的是,它会告诉你超级块位置在哪里.
使用此信息,尝试使用备用超级块安装驱动器..
mkdir /tmp/mntpnt mount -o ro,sb=163840 /dev/dm-3 /tmp/mntpnt
只提供分区的标题被破坏,这可能有效.
但是,如果这不起作用,您可以尝试通过指定超级块地址使用fsck.ext4修复文件系统.在执行此操作之前,请使用dd或其他内容备份数据.
fsck.ext4 -b 163840 /dev/dm-3
这可能最终会用一个已知的好的超级块覆盖坏的超级块,这可能足以让整个磁盘重新安装.然后,您可能会丢失密钥inode(如您的根文件系统inode).里程可能会有所不同.