恢复丢失的分区,文件系统错误的修复方法

作者: 金沙澳门官网  发布:2019-10-20

金沙澳门官网手机版注册,背景
超越“/dev/hda: device not found”那样的音信,表达您的硬盘肯定出题目了(废话-_-)!而这种新闻也许是出于分歧情状引起的,在此边介绍属于磁盘分区表受到伤害时的计划。这种景观下,磁盘数据都还在,只然而目前不能够访谈。

Linux 文件系统错误的修补方法  ddrescue代替dd的过来软件  备用一流块

方法
是因为仅凭记念手工业复苏分区表是不现实的,这里介绍通过软件苏醒分区表:使用gpart程序扫描钦赐的磁盘驱动器,标记看似分区具名的表项。gpart私下认可只是呈现疑似分区的表项,但它也能将表项写入磁盘,进而重新建立分区表。注意,这一个进度是危殆的。可是总比遗失全体数目要强 :)


 

在您的硬盘还健康的时候,能够品尝备份分区表并寄存到安全的地点,以供劫难恢复生机:
金沙澳门官网送注册58,dd if=/dev/xxx of=filename bs=512 count=1
用于恢复生机的指令:
dd if=filename of=/dev/xxx bs=1 count=64 skip=446 seek=446
上边的两条命令中,xxx代表你的磁盘符号,比方hda、sda等;filename为备份文件的文本名。
注:下边的授命同期也备份了MB奥迪Q5和Boot Record

这段时间管理的龙精虎猛件 linux 服务器断电导致文件系统运营后文件系统不可读写,数据不可用的案
例,现计算下 Linux 文件系统错误的修补方法。
EXT3-fs error (device hda3) in start_transaction: Journal has aborted
If your system abruptly loses power, or if a RAID card is beginning to fail, you might see an
ominous message like this within your logs:
EXT3-fs error (device hda3) in start_transaction: Journal has aborted
Basically, the system is telling you that it’s detected a filesystem/journal mismatch, and it can’t
utilize the journal any longer. When this situation pops up, the filesystem gets mounted read-only
almost immediately. To fix the situation, you can remount the partition as ext2 (if it isn’t your active
root partition), or you can commence the repair operations.
If you’re working with an active root partition, you will need to boot into some rescue media and
perform these operations there. If this error occurs with an additional partition besides the root partition,
simply unmount the broken filesystem and proceed with these operations.
Remove the journal from the filesystem (effectively turning it into ext2):
# tune2fs -O ^has_journal /dev/hda3
Now, you will need to fsck it to correct any possible problems (throw in a -y flag to say yes to all
repairs, -C for a progress bar):

ID,但复苏时只回复了中间的64字节(分区表)。

gpart暗许能识别上面包车型地铁文件系统:beos,bsddl,ext2&ext3,fat,hpfs,hmlvm,lswap,minix,ntfs,4,rfs,s86dl和xfs。

工作
下面以/dev/hda为例:
gpart /dev/hda
上面包车型客车授命会列出gpart猜出来的分区构成,大大多气象下是和实在契合的。确认准确后,能够运用上边发号出令重新建立分区表:
gpart -W /dev/hda /dev/hda
比方不放心,能够在写前备份现成的MB奥迪Q7:
gpart -b filename -W /dev/hda /dev/hda
当中,filename为备份文件。

总结
磁盘主分区表损坏造成的驱动器不恐怕识别错误,常常是相比比较简单于化解的,gpart能够完美地猜出和重写磁盘分区表。假设是磁盘因为严重磨损而不能够挂接,则能够参见本专题第二篇小说——从严重损坏的磁盘恢复生机数据

硬盘故障导致的数码错过有希望是人命关天的,但万风流倜傥已经爆发了,就要求最大程度地将数据复苏出来。本文介绍当磁盘因严重难点不大概访谈后(但BIOS还可以辨别),数据的施救措施,并钻探ext2&ext3格式分区的磁盘短读(short read)错误。首先约定:需求手动输入的字符用钟鼓文字给出,其余的为终端输出。

倘使使用ext2或ext3文件系统,大概会接收类似下边一些警戒新闻,该警示音信来源e2fsck实用程序:

e2fsck /dev/hda1
e2fsck: Attempt to read block from filesystem resulted in short read

只要看见那些新闻,首先想到大概是磁盘的主顶级块损坏。而在创立文件系统的时候,mke2fs已经自行成立了磁盘的顶尖块的备份。能够告诉e2fsck主次选取三个备用一级块检查文件系统。备用一级块常常创造于块8193、16384或32768,决意于磁盘的大小(能够行使mkfs.ext3 -n /dev/hda1查看)。假若是块大硬盘,则使用:

e2fsck -b 32768 /dev/hda1

举个例子是一流块的标题,则程序再次来到后,备用拔尖块被启用,磁盘苏醒符合规律。倘使提醒上面包车型大巴难题:
e2fsck: Attempt to read block from filesystem resulted in short read while checking ext3 journal for /dev/hda1
表明难题不是出在一级块,出自日志文件系统的日志。此时能够悠闲自在地删除ext3文件系统的日记:

tune2fs -f -O ^has_journal /dev/hda1

如此那般就删除了/dev/hda1文件系统上的日记,那时能够又一次尝试挂载分区,要求的话能够重建日志系统(使用tune2fs -j /dev/xxx)。
例如tune2fs提醒下边包车型大巴失实:
tune2fs: Attempt to read block from filesystem resulted in short read while reading journal inode
则证实指向日志的inode坏了,意味着不可能排除日志。那时能够尝尝debugfs命令,它是ext2&3文件系统的调节和测验器。也得以再一次使用e2fsck,加上-c参数检查文件系统的坏块。至此,因为不只怕检查或修复难点磁盘上的文件系统,该拿出徘徊花锏了。

利用ddrescue克隆损坏的磁盘
风华正茂旦磁盘因为坏块而妨碍了读取,能够使用三个原始的磁盘复制实用程序创造磁盘的二个别本。Unix/Linux系统自带了叁个简约实用程序dd,它把三个文件/分区/磁盘复制到另一个(在率先个专项论题里用到过)。前提条件时必得在系统里增添后生可畏块体积相当的大于难点磁盘的新硬盘。
新硬盘计划稳当后,输入下边沾沾自喜:

dd if=/dev/hda of=/dev/hdb conv=noerror,sync

地点的命令将坏磁盘(/dev/hda)复制到新磁盘(/dev/hdb),忽视读取时遭受的不当(noerror),当境遇无法访问的块时用合适数量的空值填充输出(sync)。
但是dd有多少个毛病:首先是速度太慢;然后是不显得速度音信,直到完毕前它都以沉默的;不重复尝试失败的读取,那会回降能从坏盘恢复生机的数据量。由此在这里地介绍另贰个软件——ddrescue,可以从 获取最新版(Fedora8客户能够直接用yum install dd_rescue安装) 。近些日子ddrescue最新版本是1.7,直接下载链接:
编写翻译、安装后,能够应用下边甘之若素实现一样的天职:

ddrescue --max-retries=-1 /dev/hda /dev/hdb

里头max-retries=-1参数表示不管境遇某个错误都毫无结束。程序从hda读取数据并写到hdb中时,不断更新每一种数据,能够实惠地查看专门的学问展开状态。
在ddrescue甘休磁盘复制后,在新硬盘上运转e2fsck,以裁撤原始磁盘的坏块引起的文件系统错误。由于自然会有大量错误,能够用-y参数运转e2fsck,提示e2fsck对各类难点都回答yes:

e2fsck -y /dev/hdb

那时,能够采纳mount命令挂载文件系统,看看数据的死灰复燃状态了。记得检查驱动器根目录下的lost+found文件夹,fsck把不能够科学链接的文书和目录放在了那个文件夹里。

金沙澳门官网送注册58 1

# e2fsck /dev/hda3

Once that's finished, make a new journal which effectively makes the partition an ext3 filesystem
again

# tune2fs -j /dev/hda3

You should be able to mount the partition as an ext3 partition at this time:

# mount -t ext3 /dev/hda3 /mnt/fixed

Be sure to check your dmesg output for any additional errors after you’re finished!

 

硬盘故障导致的数量错过有不小可能率是严重的,但假设已经发生了,就须要最大程度地将数据复苏出来。

那介绍当磁盘因严重难点不能访谈后(但 BIOS 还是能够鉴定分别),数据的解救措施,并研讨ext2&ext3 格式分区的磁盘短读(short read)错误。

第繁荣昌盛约定:要求手动输入的字符用大篆字给出,其他的为巅峰输出。
只要应用 ext2 或 ext3 文件系统,只怕会接收类似上边一些警戒音讯,该警报新闻来自e2fsck 实用程序:

e2fsck /dev/hda1
e2fsck: Attempt to read block from filesystem resulted in short read

 

借使见到那些消息,首先想到大概是磁盘的主超级块损坏。而在创设文件系统的时候,mke2fs 已经自行创造了磁盘的一流块的备份。

能够告知 e2fsck 程序行使三个备用拔尖块检查文件系统。

备用一流块日常成立于块 8193、16384 或 32768,有赖于磁盘的轻重(能够选用 mkfs.ext3 -n /dev/hda1 查看)。倘若是块大硬盘,则选择:

e2fsck -b 32768 /dev/hda1

 

假定是顶尖块的难点,则程序重临后,备用超级块被启用,磁盘复苏平常。要是提醒上边包车型地铁标题:

e2fsck: Attempt to read block from filesystem resulted in short read while checking
ext3 journal for /dev/hda1

 

证实难点不是出在超级块,出自日志文件系统的日志。此时能够安全地删除 ext3 文件系统的日记:

tune2fs -f -O ^has_journal /dev/hda1

 

这么就删除了/dev/hda1 文件系统上的日记,那时能够再度尝试挂载分区,须求的话可以重新创立日志系统(使用 tune2fs -j /dev/xxx)。
假使 tune2fs 提示上边包车型大巴不当:

tune2fs: Attempt to read block from filesystem resulted in short read while
reading journal inode

 

则表明指向日志的 inode 坏了,意味着不可能排除日志。那时能够品味 debugfs 命令,它是ext2&3 文件系统的调节和测量试验器。

也得以重复利用 e2fsck,加上-c 参数检查文件系统的坏块。至此,因为不可能检查或修复问题磁盘上的文件系统,该拿出刺客锏了。
选择 ddrescue 克隆损坏的磁盘
假定磁盘因为坏块而妨碍了读取,可以选择一个原来的磁盘复制实用程序创立磁盘的叁个别本。

Unix/Linux 系统自带了二个简易实用程序 dd,它把多少个文书/分区/磁盘复制到另四个(在第一个专项论题里用到过)。

前提条件时必需在系统里增添如日方升块体积非常大于难题磁盘的新硬盘。
新硬盘图谋稳妥后,输入上面志高气扬:

dd if=/dev/hda of=/dev/hdb conv=noerror,sync

 

上面的吩咐将坏磁盘(/dev/hda)复制到新磁盘(/dev/hdb),忽视读取时遭逢的一无是处(noerror),当蒙受不可能访谈的块时用适合的量数量的空值填充输出(sync)。
唯独 dd 有多少个毛病:首先是速度太慢;然后是不显得速度新闻,直到完结前它都以沉默的;

不重复尝试退步的读取,那会优惠扣能从坏盘复苏的数据量。据此在这里边介绍另三个软件——ddrescue,

可以从 获取
新型版(Fedora8 顾客可以一贯用 yum install dd_rescue 安装) 。

 

现阶段 ddrescue 最新版本是 1.7,间接下载链接:
编写翻译、安装后,能够选取下边处之怡然完结同样的天职:

ddrescue --max-retries=-1 /dev/hda /dev/hdb

当中 max-retries=-1 参数表示不管蒙受有个别错误都不用截至。程序从 hda 读取数据并写到 hdb 中时,不断更新每一种数据,可以实惠地查看专业拓宽状态。
在 ddrescue 停止磁盘复制后,在新硬盘上运行e2fsck,以消弭原始磁盘的坏块引起的文
件系统错误。由于自然会有多量荒唐,能够用-y 参数运维 e2fsck,提示 e2fsck 对各种难点都答应 yes:

e2fsck -y /dev/hdb

 

那时候,能够行使 mount 命令挂载文件系统,看看数据的重整旗鼓状态了。记得检查驱动器根目录下的 lost+found 文件夹,

fsck 把无法准确链接的公文和目录放在了那么些文件夹里

本文由金沙澳门官网送注册58发布于金沙澳门官网,转载请注明出处:恢复丢失的分区,文件系统错误的修复方法

关键词:

上一篇:linux修改系统时间详解,修改系统时间
下一篇:没有了