Linux技巧:使用Fsck命令修复损坏的分区
如果Linux分区有损坏情况,启动有问题,不能正常进入文本或图形界面。那么一般会出现提示,需要输入Root密码登录后采用
fsck -t ext3 -r /usr/local 修复 , /usr 是提示检查不能通过的分区。
fsck的命令的几个使用方法
指令:fsck
使用权限 : 超级使用者
使用方式 : fsck [-sACVRP] [-t fstype] [–] [fsck-options] filesys […]
说明 : 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统
参数 :
filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)
-t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
-s : 依序一个一个地执行 fsck 的指令来检查
-A : 对/etc/fstab 中所有列出来的 partition 做检查
-C : 显示完整的检查进度
-d : 列印 e2fsck 的 debug 结果
-p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
-R : 同时有 -A 条件时,省略 / 不检查
-V : 详细显示模式
-a : 如果检查有错则自动修复
-r : 如果检查有错则由使用者回答是否修复
例子 :
检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便自动修复 : fsck -t msdos -a /dev/hda5
注意 :
此指令可与 /etc/fstab 相互参考操作来加以了解。
运行fsck命令后产生的文件有什么用?
当执行fsck命令时,fsck命令如果发现存在孤立的文件或目录,这些孤立的文件或目录对于系统管理员或用户来说,无法访问到它,因为它与它的上级目录失去了关联,如果用户允许fsck重新把它们找回来的话,fsck命令就会把这些孤立的文件或目录放在文件系统的/lost+found目录下,并用各自的i-node号来命名,以便用户查找自己需要的文件。Lost+found目录通过它的英文含义我们都可以知道,它是一个失物认领处。
因此当某个用户发现自己丢失了某个文件,可以在执行fsck之后到/lost+found目录下去查找,这时通过文件名已无法辨认出文件的作用,只能用file之类的命令来确定文件的类型,如果是数据文件,可以用more或vi命令来查看,如果是二进制文件,可以用dbx命令来调试或者试着执行它(注意它可能是一个具有破坏性的程序),知道文件或目录的作用之后,可以对其进行改名。
如果用户不允许fsck把这些孤立的文件或目录找回来,那么fsck命令就会破坏这些文件或目录,彻底丢失这些文件或目录,用户或系统管理员永远也无法找回它们。
fsck 命令
1、fsck
fsck是可以说是使用次数第一的工具(系统自己使用占90%以上)。它是FS完整性检查,包括supblk,cylgrpblk,inode.tab,data区等。检查的原理是:冗余发。修复时按照实际情况调整记录信息。
lost+found目录:在fsck的时候,将找不到父目录的那些文件拷贝到该目录中,并以i节点号作为文件名。
当系统启动的时候会使用fsck对文件系统进行扫描,并相应的报出扫描结果。例如:/dev/rdsk/c0t0d0s7 stable等。
后面是Fs的状态。其中,clean表示文件系统umount后无人用,stable表示文件系统用过,但却是完整的,好的。而出一大堆的话,还有什么fragment %什么的的那都表示文件系统上有乱的地方,那么就应该进入系统后使用fsck来整理。提起这个来,我想说说在非法关机后(各种原因),再次启动的时候会有很多的情况,上面说的是一种情况,再厉害一些是系统只能进入但用户状态,最厉害的是连单用户的状态都无法进入(肯定是/和/usr区有问题。这是因为fsck对/区的扫描无法通过的话,系统当然无法启动,而fsck调用的一些函数库又在/usr上。。。。)
当系统的状态是clean,stable和logging的状态的时候(logging??不知道的看上一课吧)fsck不运行。
2、fsck的使用
本课讲的三个参数:
-o f 对系统进行强制检查,不论系统是否在clean等状态
-o p 非交互式检查并修复文件系统,对有的问题则立即退出
-o b=xx 用来修复超级块的错误,就是将备份的超级块内容拷入超级块中。solaris对超级块很重视,它的备份有很多,一般的b=32就可以了,如果不行可以使用命令newfs -N /dev/rdsk/cxtxdxsx来查看超级块的位置,其中任何一个备份块都可使用
3、一些错误的情况
一、RECONNECT
表示目录丢失,可将其存入lost+found中再作转移。回答yes
二、SUPERBLK坏(注意是坏,不是wrong)
修复见上面(如果是wrong就随便了,修不修都可以)
三、CLEAR
删i节点,可能会错
四、REMOVE
删文件,一般给出文件名。file=....
五、ADJUST
调整连接数。实际数与原记录不符。回答yes
六、SALVAGE
自由列表计数不正确。回答yes
(题外话:其实我使用一般都是yes过去的,而且书上说不能在正在mount的文件系统上操作,否则有可能导致文件系统损坏。但我也没有碰到过用fsck导致发生错误的情况。不过还是建议大家操作的时候规范一些,否则出错了不要来找我呀。尤其是考试的时候)
4、df和du命令
最长用的是
df -k看现在系统的挂接和使用情况
du -ks看一个目录的总容量。
别的我觉的不常用,而且书上讲的也很清楚,就不在这里说了。
是出现经常非法关机,断电,导致文件系统不连续,而在强制检查后不能通过的情况,系统会进入一个修复(repair)模式……
【一】
是出现经常非法关机,断电,导致文件系统不连续,而在强制检查后不能通过的情况,系统会进入一个修复(repair)模式,
需要远程协助开启network和sshd服务,然后 cd /boot; umount / ; fsck -y /dev/sda3(假设根目录分区为sda3)
这里可能会有一些不连续或者部分损坏的文件被系统搁置到/lost+found目录下,都以#开头,以节点命名的目录,
需要手动恢复,恢复步骤自行到网上查询,需要确认原来的目录结构
【二】
另外一种比较严重,同样因为某些原因,例如升级内核,例如频繁断电,导致启动到内核后,出现类似以下错误,
Boot error:
-----------------------------------------------------
root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
kernel /vmlinuz-2.6.15.6 ro root=LABLE=/ rhgb quiet
[Linux-bzImage, setup=0x1e00, size=0x1807f8]
initrd /initrd-2.6.15.6.img
[Linux-initrd @ 0x37f82000, 0x6d283 bytes]
Uncompressing Linux... Ok, booting the kernel.
Red Hat nash version 4.1.18 starting
mkrootdev: label / not found
umount /sys failed:16
mount: error 2 mounting ext3
mount: error 2 mounting none
switchroot: mount failed: 22
umount /initrd/dev failed: 2
Kernel panic - not syncing: Attempted to kill init!
-------------------------------------------------------
a. 远程协助,进入grub后,能否检测到系统完整的 LINUX分区,如果分区完整,并且进一步分区下的目录结构和文件初步完整,OK
将 kernel 后的 root=LABEL=/ 改成 root=/dev/hda3 或者 root=/dev/sda3 (根目录所在分区,我一般分为sda3)
应该可以顺利进入系统,然后参考 mklabel 命令,给根分区打上LABEL,或者修改grub.conf,将标签项改成用分区表示,然后grub-install ....
进行grub安装
b. 远程协助,进入grub后,只能检测到/boot所在分区,而root分区不完整,只能通过进入rescue模式,或者用live cd, 利用fsck了,
这里提醒一下,尽量别用带x-window的LIVECD,这种垃圾盘把我害惨了.
另外尽量平时能备些CD的盘,大家用习惯了DVD,可是这次的情况就是服务器上没有DVD,全是CD,又找不来移动DVD
只能通过网络PXE来完成了.....
c. 把磁盘挂载到其他的主机上个别分区如果挂载不上提示指定文件系统的话我们可以通过如下步骤来恢复数据:
恢复数据实践步骤!!!
1.复制磁盘
dd if=源盘分区 of=目标盘分区 (最好一模一样大小) ,例如目标盘分区为/dev/sdb3
2.
mkfs.ext3 -n /dev/sdb3 (一定要有-n,切记) 记住最后一个数字值
3.
screen -S check
fsck -b XXXX /dev/sdb3 -y
XXX为第二部里最后一个数字
开始检测,不用管,按 Ctrl+a -> d ,切换到后台,等扫描完, fsck -y /dev/sdb3 确认。
4.
mount /dev/sdb3 /mnt
【三】
至于连grub都进不去的,不用说了,远程协助,直接进入live cd 或者 rescue模式,先看分区是否完整,如果完整,直接用grub-install.......,具体使用参考网络
如果分区不完整,那只能用数据恢复软件,数据重要的话就花点时间找吧,或者花点money,不重要的话直接reinstall吧
文章来自中国建站:http://www.jz123.cn/text/1628386.html
Linux技巧:使用Fsck命令修复损坏的分区相关推荐
- 使用diskpart命令修复U盘分区
使用diskpart命令修复U盘分区 2016-05-22 00:08 700人阅读 评论(0) 收藏 举报 分类: 业余爱好(1) 版权声明:架构 ICE 微服务 讨论群[469331966] ; ...
- linux格式化fat的命令,在Linux中使用mkfs命令格式化磁盘或分区上的文件系统
mkfs是Linux中的命令行工具,用于在您选择的特定文件系统中格式化磁盘或分区.本篇文章分享了如何在Linux中使用mkfs命令格式化磁盘或分区上的文件系统 mkfs代表" make fi ...
- 在Linux中使用fsck命令检查和修复文件系统错误
有几种情况下,您可能需要使用fsck.如果您的系统无法启动,设备(外部驱动器或存储介质)无法正常运行,或者您看到了文件损坏的证据,您会想要运行此命令. Fsck实际上是一个 "前端" ...
- Linux shell:fsck命令使用方法
fsck(file system check)命令作用为检查文件系统并尝试修复错误.当文件系统发生错误四化,可用fsck指令尝试加以修复. 注:千万不能在运行的系统上面直接执行fsck,特别是RHEL ...
- java 执行linux命令行_10个高效Linux技巧及Vim命令对比
专注于Java领域优质技术,欢迎关注 作者:vimtutor 来自:Vim教程网 Vim的很多命令和功能与Linux系统的命令和功能及其相似,可以说是一脉相承.Vim教程网(https://vimjc ...
- 10个高效Linux技巧及Vim命令对比
写在前面:今天没来得及唱歌~一个多星期没更新了,今天记录下我自己用得比较多的Linux命令行快捷键,小伙伴们别嘲笑我哈~不知道为啥,每次发文就有好几个小伙伴取消关注离开之前,可以告诉我为什么吗~~ V ...
- linux单用户模式修复磁盘,在单用户模式下使用fsck命令修复受损的Mac硬盘
在Mac上使用磁盘工具来恢复硬盘是官方推荐的方法,不过万一连系统都进不去就操蛋了.所以在很多情况下,在Unix/Linux系统的单用户模式下使用fsck都是最后的救命稻草. fsck 这个命令行工具在 ...
- linux系统开机grub命令修复方法,解析Linux系统下GRUB故障修复
在使用Linux的过程中,大多初学者都遇到过系统启动到"grub>"提示符后就停止不前的问题,功夫不深的爱好者可能会束手无策,转而选择重装系统,其实这只是系统出现了一点小问题 ...
- linux渗透测试_渗透测试:选择正确的(Linux)工具栈来修复损坏的IT安全性
linux渗透测试 Got IT infrastructure? Do you know how secure it is? The answer will probably hurt, but th ...
最新文章
- Vue_双向绑定解析以及指令介绍
- jsp cookie 中文乱码 的解决方法
- 用SQL语言建表,课1
- Oracle数据库的状态查询
- 图算法之——dijkstra算法
- swagger : Could not resolve reference because of: Could not resolve pointer
- IDL | 实验四 IDL输入输出
- 如何设置透明FLASH
- Android简单闹钟设置
- 免费好用的文字转语音工具
- Neo4j:足球转移图表
- 【译】Using the SafetyNet API (使用SafetyNet API)
- 从零开始学微信小程序开发:1
- Java实现圆面积计算
- compare用法java_Java中的Compare和Comparator的使用方法
- 利用计算机解决古代数学问题鸡兔同笼,古代趣味数学:鸡兔同笼的4种算法,你都能看懂吗?...
- Math数学方法,String字符串型、Date日期
- 前端发展历程,前端路由和后端路由,到底有什么区别?
- 迅捷CAD编辑器中我们怎么快速选择工具,提高绘图效率?
- 银行保理 VS 商业保理