linux *** 作系统故障处理-ext4文件系统超级块“can't read superblock”损坏修复

linux *** 作系统故障处理-ext4文件系统超级块“can't read superblock”损坏修复,第1张

前几天在广州参加植物病毒学会议,一边听会一边开着TeamViewer远程连接实验室装有linux系统的工作站跑程序干活。有一天下午发现TeamViewer显示服务器离线,原来是因为施工导致停电。Anyway, 不重要,发微信让小青儿给我重启服务器,结果发现重启不了,大概就是这个界面。

怎么着都进不去图形界面,简而言之,工作站重启不了了。索性不管了,好好听报告,心想回到福州再收拾工作站。回到福州第一件事就是坐下来重启工作站,发现无论怎么折腾都进不去系统。

虽然图形界面进不去,好在还能够在命令行下进行 *** 作。当看到 /bioinfor ,这个存放目录的路径下啥都没有的时候,这可是我所有的数据啊!如果这个盘里的数据没了,各个合作者还不得把我手撕了。想到这里,冷汗差点下来了。

于是开始寻找解决方法。

首先得想办法进入系统,在反复地 sudo reboot 都无法进入系统之后,通过 df -h 也看不到/dev/sda(也就是挂载到/bioinfor路径的磁盘)信息。然后猜测是不是因为磁盘以及分区表之类出现了错误导致不能进入系统。通过 sudo vi /etc/fstab 将除了系统安装盘之外的所有硬盘的挂载信息全部注释掉,再 reboot , 这时候果然可以进入图形界面系统了。但依然看不到 /bioinfor 盘下的数据。能够开机就让我放心了很多。通过 gparted 工具,能够看到/dev/sda硬盘里used space大概是1.7T,还剩下1.9T左右,这就表示我的数据还在。试图通过 sudo umount /dev/sda 先取消挂载,再重新 sudo mount /dev/sda /bioinfor 挂载到/bioinfor路径,结果报错。

报错信息显示:

搜索网页发现,有一个哥们经历了跟我一样的遭遇, 意外断电造成mount挂载硬盘报错 。所以,这次事故是因为意外断电,基本实锤了。

但到底什么是superblock呢?

继续搜索,直到读到一篇技术文章 linux *** 作系统故障处理,ext4文件系统超级快损坏修复 。本文可以忽略,但这篇技术文章得认真读读。里面讲解了磁头,磁道,柱面,扇区,以及硬盘容量等等概念,以及最重要的inode和block,Superblock(超级块)概念。

既然报错提示Superblock出了问题,那我们就应该从这里入手。linux系统提供了一个磁盘命令 fsck 来尝试对设备进行修复。但可惜,用这个命令的时候,都会提醒你,应该安装最新的 fsck 工具包。

提示如下:

根据这篇文章 E2FSCK: how to handle the “metadata_csum” error by advancing the e2fsck version beyond default installed version 的提示,需要安装1.43X的 e2fsck , 安装方法小结如下。

检验一下是否更新成功:

能够看到已经更新到1.43.5版本。

安装完之后,开始对磁盘进行修复,命令如下:

一般都能修复完毕,然后可以再进行取消挂载或者重新挂载的 *** 作。看到数据都还完好无缺地在电脑上,还处于后怕的我赶紧掏出移动硬盘进行原始数据的备份。

本次debug结束

这篇技术日志对读者可参考性并不高,是因为应用场合实在是少,(试想谁会天天断电呢),但还是有一些体会和感悟:

EXT4、EXT3、EXT2分区误格式化了或者误删除了重要文件该怎么办?本文教你如何使用DiskGenius软件在Windows下轻松实现EXT4、EXT3、EXT2数据恢复。想要恢复丢失的EXT4、EXT3、EXT2分区请参阅:搜索已丢失分区(重建分区表)

EXT4、EXT3、EXT2磁盘丢失了数据怎么办?

EXT4、EXT3、EXT2是Linux系统下使用的文件系统,EXT4文件系统在EXT3的基础之上做了很多改进,引入了大量新功能。目前大部分Linux发行版例如Ubuntu都默认采用EXT4文件系统。作为Linux用户,平时如果没有备份数据的习惯,同样会遇到数据丢失问题。和Windows用户一样,EXT4磁盘上的数据也会因各种原因丢失,例如,误删除、格式化、重装系统、分区损坏打不开、分区丢失、计算机病毒、磁盘坏道等。那么EXT4格式的磁盘丢失了数据还能恢复吗?

不论是什么格式的文件系统,文件丢失后只要没有被覆盖就有希望恢复。EXT4格式的磁盘丢失数据后,也可以在Windows平台下进行恢复,不过,所使用的数据恢复工具需支持EXT4文件系统。接下来,我就介绍一下如何在Windows电脑上恢复EXT4 EXT4、EXT3、EXT2磁盘丢失的数据。

EXT4、EXT3、EXT2误删除、误格式化及分区损坏后数据恢复步骤

DiskGenius专业版支持EXT4、EXT3和EXT2文件系统的读写 *** 作以及数据恢复。当遇到EXT4、EXT3和EXT2分区被误格式化、分区损坏打不开、文件被误删除、分区丢失等问题的时候,可以尝试使用该软件在Windows平台进行数据恢复。现在就和我一起学习一下如何恢复EXT4磁盘丢失的文件。

警告 :当文件被误删除或是分区被误格式化后,不要再对该磁盘激进行写 *** 作。数据恢复的首要原则是防止丢失的数据被覆盖,所以应该立刻停止所有可能的写入 *** 作。一旦数据被覆盖,任何方法都无法恢复了。

第一步:打开DiskGenius软件,选择需要恢复数据的EXT4分区,然后点击“恢复文件”按钮。当程序d出恢复文件对话框后,点击“开始”按钮。

DiskGenius软件正在对EXT4分区进行深度扫描,扫描期间,找到的文件会在软件中实时显示出来。耐心等待扫描结束。

第二步:预览丢失的文件,检查所需要的文件是否正确。

在软件右侧双击某个文件,就可以打开文件预览窗口并查看文件内容。软件支持图片、视频、音频、Office文档、PDF文档以及文本文件的预览,帮助用户预判恢复效果。

第三步:将需要恢复的文件复制保存到其他分区或硬盘。

如果对扫描结果满意,就可以注册软件为专业版,然后将想要恢复的文件复制保存到其他分区或是硬盘,完成数据恢复任务。

从EXT4分区恢复数据常见问题

1. 影响数据恢复成功率的因素有哪些?

为了成功恢复丢失的文件,首先要做的就是防止数据覆盖。因此,在数据完全恢复之前,不要对丢失数据的存储设备进行写入 *** 作其次,就是要使用专业性强的数据恢复软件并且正确 *** 作软件。遇到复杂的数据丢失问题,例如,服务器数据恢复、RAID数据恢复、BitLocker恢复等,在实际恢复之前可以向DiskGenius专家团队免费咨询数据恢复方案。

2. EXT4格式化后数据如何恢复?

EXT4分区格式化后,可以使用DiskGenius软件在Windows系统下执行数据恢复。该软件的“恢复文件”功能支持EXT4文件系统的格式化以及删除恢复。使用该功能扫描后,就可以预览文件,然后将需要恢复的文件复制保存到其他分区。

3. 在Windows下如何将NTFS文件系统该为EXT4?

EXT4是Linux系统下使用的文件系统,Windows *** 作系统不支持EXT4,所以,在资源管理器或是磁盘管理器中无法直接将NTFS分区格式化为EXT4。想要把NTFS改为EXT4,可以使用DiskGenius免费版来格式化,格式化的时候将文件系统设置为EXT4即可。

4. 在Windows下如何读取EXT4硬盘?

Windows *** 作系统不支持EXT4文件系统,所以EXT4格式的硬盘在Windows系统下是无法打开的。这时候可以借助DiskGenius软件来读取EXT4分区里的数据。并且,DiskGenius软件还支持对EXT4进行写入 *** 作。

5. EXT4分区丢失了数据如何恢复?

EXT4分区丢失了不要着急,使用DiskGenius软件来搜索分区即可。将需要恢复分区的硬盘连接到一台运行Windows系统的电脑上,然后打开DiskGenius软件。使用软件的“搜索分区”功能来查找丢失的分区。丢失的分区被找到后,可以点击“保存更改”按钮,将分区保存到分区表。

总结

以上就是关于EXT4、EXT3、EXT2数据恢复的全部内容了。除了上述功能,DiskGenius还支持恢复丢失的EXT4、EXT3、EXT2分区、读写EXT4、EXT3、EXT2分区、调整大小、备份分区为镜像文件、克隆磁盘等。

系统:Oracle Linux OEL6.5 x64

分区格式:ext4

起因:今天手贱在自己服务器上误 *** 作将/home/ORACLE目录给删除了,结果导致服务全面崩溃

遂谷歌了一把发现了神器 extundelete(如果是ext3文件系统请使用ext3grep,本人未做测试),这玩意可比瘟得死下面的各种恢复工具强大多了(至少本人是这么认为的)。

关于extundelete这个工具的说明使用,官方网站extundelete.sourceforge.net是这样说的,extundelete是一种实用的工具,可以从ext3或ext4分区恢复被删除的文件,不能保证恢复所有的文件,所以最好能做好备份.它的最新版本是0.2.4

为什么要用extundelete?

官方这样描述,如果您已经在ext4的文件系统中删除了文件,选extundelete是一个不错的选择,它能够恢复已删除文件的文件名及内容.如果是在ext3的文件系统中删除了文件,extundelete和ext3grep比较仍然有一些优点,extundelete分析日志文件后,能够立即恢复一个文件,ext3grep分析整个硬盘才开始恢复硬盘中的文件,ext3grep方法是是有效的从一个小分区恢复多个文件,所以相比而言,如果需要从一个大的分区中恢复文件,extundelete要快些.

注意:在安装extundelete之前,要确定已经安装了e2fsprogs和e2fslibs(确定e2fsprogs的版本在1.41或者更高版本,可通过运行命令dumpe2fs来查看版本).

一、下载及安装软件

extundelete 主页:http://extundelete.sourceforge.net/

下载地址:http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 (需 跨墙)

ubuntu用户可直接安装: apt-get install extundelete

# wget http://nchc.dl.sourceforge.NET/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

# tar -jxvf extundelete-0.2.4.tar.bz2

# cd extundelete-0.2.4

# ./configure --prefix=/usr/local/extundelete

# make &&make install

extundelete --help 查看有哪些选项 --restore-file 指定恢复文件, --restore-all 恢复全部等等,恢复完成后,恢复的文件就在当前目录下生成的RECOVERED_FILES的目录里.

实测:rm -rf/home/oracle

[plain] view plain copy

[root@rac1 extundelete-0.2.4]# df -Th

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root ext450G 19G 29G 40% /

tmpfstmpfs 998M 80K 998M 1% /dev/shm

/dev/sda1ext4 477M 55M 397M 13% /boot

/dev/mapper/VolGroup-lv_home ext428G 44M 26G 1% /home

二、数据恢复

1.卸载需要恢复文件的分区

[root@rac1 extundelete-0.2.4]# fuser -k ?home <-- 结束使用某分区的进程树

[root@rac1 extundelete-0.2.4]# umount /home<-- 卸载分区

2.使用extundelete查看分区上存在的文件

[plain] view plain copy

[root@rac1 extundelete-0.2.4]# extundelete --inode 2 /dev/mapper/VolGroup-lv_home <div class="crayon-pre" style="box-sizing: border-boxpadding: 0pxmargin: 0pxwhite-space: preoverflow: visiblefont-family: monospace !importantbackground-image: none !importantborder: none !importantcolor: rgb(255, 255, 255) !importantfont-size: 15px !importantline-height: 20px !important"><div class="crayon-line" id="crayon-53febd9362e4c249413479-1" style="box-sizing: border-boxfont-family: inheritborder: 0pxpadding: 0px 5pxmargin: 0pxheight: inheritfont-size: inherit !importantline-height: inherit !importantbackground-position: 0px 50%"><span class="crayon-c" style="box-sizing: border-boxfont-family: inheritheight: inheritfont-size: inherit !importantline-height: inherit !importantcolor: rgb(255, 140, 0) !important"># --inode 为查找某i节点中的内容,使用2则说明为搜索,如果需要进入目录搜索,只须要指定目录I节点即可</span></div></div>NOTICE: Extended attributes are not restored.

Loading filesystem metadata ... 221 groups loaded.

Group: 0

Contents of inode 2:

0000 | ed 41 00 00 00 10 00 00 74 85 fe 53 72 85 fe 53 | .A......t..Sr..S

0010 | 72 85 fe 53 00 00 00 00 00 00 03 00 08 00 00 00 | r..S............

0020 | 00 00 08 00 02 00 00 00 0a f3 01 00 04 00 00 00 | ................

0030 | 00 00 00 00 00 00 00 00 01 00 00 00 11 24 00 00 | .............$..

0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

0080 | 1c 00 00 00 cc 8f 32 d4 cc 8f 32 d4 1c 8c d6 9d | ......2...2.....

0090 | d1 21 ea 53 00 00 00 00 00 00 00 00 00 00 02 ea | .!.S............

00a0 | 07 06 3c 00 00 00 00 00 21 00 00 00 00 00 00 00 | ..<.....!.......

00b0 | 73 65 6c 69 6e 75 78 00 00 00 00 00 00 00 00 00 | selinux.........

00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 73 79 73 74 | ............syst

00e0 | 65 6d 5f 75 3a 6f 62 6a 65 63 74 5f 72 3a 68 6f | em_u:object_r:ho

00f0 | 6d 65 5f 72 6f 6f 74 5f 74 3a 73 30 00 00 00 00 | me_root_t:s0....

Inode is Allocated

File mode: 16877

Low 16 bits of Owner Uid: 0

Size in bytes: 4096

Access time: 1409189236

Creation time: 1409189234

Modification time: 1409189234

Deletion Time: 0

Low 16 bits of Group Id: 0

Links count: 3

Blocks count: 8

File flags: 524288

File version (for NFS): 0

File ACL: 0

Directory ACL: 0

Fragment address: 0

Direct blocks: 127754, 4, 0, 0, 1, 9233, 0, 0, 0, 0, 0, 0

Indirect block: 0

Double indirect block: 0

Triple indirect block: 0

File name | Inode number | Deleted status

. 2

..2

lost+found11

oracle523265 Deleted

被删除的oracle文件夹已经被找到,状态为已经删除,接下来就将它们恢复出来。

[root@rac1

Desktop]# extundelete --restore-all /dev/mapper/VolGroup-lv_home # --restore-all是全部恢复 ,默认全将恢复出来的文件放在当前路径 RECOVERED_FILES/ 目录下,文件名为 file.I节点号

NOTICE: Extended attributes are not restored.

Loading filesystem metadata ... 221 groups loaded.

Loading journal descriptors ... 3108 descriptors loaded.

Searching for recoverable inodes in directory / ...

3576 recoverable inodes found.

Looking through the directory structure for deleted files ...

0 recoverable inodes still lost.

[root@rac1 Desktop]# ls RECOVERED_FILES/

lost+found oracle

[root@rac1 Desktop]# mount /home

[root@rac1 Desktop]# df -Th

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root ext450G 21G 26G 45% /

tmpfstmpfs 998M 80K 998M 1% /dev/shm

/dev/sda1ext4 477M 55M 397M 13% /boot

/dev/mapper/VolGroup-lv_home ext428G 44M 26G 1% /home

[root@rac1 Desktop]# mv RECOVERED_FILES/oracle /home

[root@rac1

Desktop]# df -Th

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root ext450G 19G 29G 40% /

tmpfstmpfs 998M 80K 998M 1% /dev/shm

/dev/sda1ext4 477M 55M 397M 13% /boot

/dev/mapper/VolGroup-lv_home ext428G 2.6G 24G 10% /home

至此2.6G的数据恢复完毕。

恢复之后,权限不一致的,别忘了授权。

[root@rac1

~]# chmod -R 777 /home/oracle

验证数据是否可用:

[root@rac1

home]# su oracle

[oracle@rac1 home]$ db11g

SQL*Plus:

Release 11.2.0.3.0 Production on Thu Aug 28 14:09:49 2014

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to an idle instance.

SQL>搞定!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8543647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存