fsck命令功能与主超级块修复

简介:

 fsck 命令用于检查和维护文件系统,该命令类似于windows下的chkdsk命令。

通常当意外关闭了电源,或者电源异常中断而导致系统意外关闭,一般会造成数据丢失,严重的会破坏文件系统的完整性,这时就需要用fsck命令检查文件系统的一致性,同时修复被破坏的文件系统。
在运行fsck命令之前,一定要保证文件系统处于非挂起状态,也就是说只能在文件系统被卸载后才能使用fsck命令。使用fsck命令时,必须保证文件系统对应的逻辑卷能够访问。如果文件系统没有问题,是完整的,使用fsck命令时仅仅报告这个文件系统中的文件数,已使用的块数,以及空闲的块数。如果文件系统出现了问题,那么将报告相应的问题信息,同时提示是否进行修复。如果文件系统损坏严重,无法修复时,只能恢复该文件系统的备份。
 
fsck 命令的常用参数:
-f :要求执行一个快速的检查。
-n –y :用于回答fsck命令想用户提出的问题。-y 通常用于修复一个严重被破坏的文件系统,用-y 参数时,fsck命令也会删除一些严重被破坏的文件。
-p :不显示fsck命令检查的小问题的信息。
-v :指出被检查的文件系统的类型,默认jfs ,用那个后要检查jfs2 类型的文件系统,就要指定-v jfs2参数。
 
直接执行这个命令会检查/etc/filesystems文件中check=true的文件系统。通常新建的文件系统不执行默认的检查,因此,如果需要执行默认检查的话,需要在etc/filesystems文件中该文件系统小节添加check =true 选项。
 
fsck 与超级块( superblock) 的修复
1、  jfs 系统 :当执行mount命令挂载jfs文件系统,如果出现如下错误,则很有可能是由于超级块损坏所造成的。
# mount /testjfs
 mount: 0506-324 Cannot mount /dev/lv00 on /testjfs: A system call received a parameter that is not valid.
# fsck /testjfs --执行fsck命令进行修复时提示信息如下:
 Not a recognized filesystem type. (TERMINATED)
# od -x -N 100 /dev/lv00 0x1000 --查看超级块的内容,-x 标志显示十六进制格式的输出而 -N 标志指示系统只从偏移参数(+)格式化 64 个输入字节,这指定了文件中开始文件输出的点。
fsck命令功能与主超级块修复
 0x1000(3030 3130)处破坏的幻值。如果创建文件系统时接受了所有缺省值,则幻数应该为 (4321 8765)。如果覆盖了任何缺省值,则幻数应该为 (6587 2143)。对比当前幻数的第二个超级块( secondary superblock jfs secondary superblock 的地址固定为 block 31
fsck命令功能与主超级块修复
注意 0x1f000 处的正确幻值。下面将第二个超级块复制到主超级块。
# dd count=1 bs=4k skip=31 seek=1 if=/dev/lv00 of=/dev/lv00 --还原备份到主超级块。
# fsck /dev/lv00 –检查文件系统
fsck命令功能与主超级块修复
# mount /testjfs     --挂载文件系统成功。
 
2、  jfs2  系统:当执行mount命令挂载jfs2文件系统,如果出现如下错误,则很有可能是由于超级块损坏所造成的。
# mount /test    --/test是逻辑分区/dev/fslv02的挂载点,为jfs2文件系统。
mount: 0506-324 Cannot mount /dev/fslv02 on /test: The media is not formatted or the format is not correct.
 
JFS2 系统超级块有所不同,其默认偏移量为 32 ,可用 fsck 命令可自动备份超级块来修复主超级块。
# fsck /dev/fslv02 -- fsck 命令检查 /dev/fslv02 分区。
fsck命令功能与主超级块修复
由于主超级块(superblock)被破坏,可以从备份超级块中恢复数据,因此fsck命令提示是否要修复主超级块,修复过程中有可能会删除一些破损严重的文件。在这里输入y还原主超级块数据。
# mount /test --挂载/test .
 

   转载自:http://sm.xfy.cn/html/201117/87.html

本文转自戴柏阳的博客博客51CTO博客,原文链接http://blog.51cto.com/daibaiyang119/647942如需转载请自行联系原作者

daibaiyang119


相关文章
|
7月前
|
Shell Linux C语言
【Shell 命令集合 磁盘维护 】Linux 用于检测和标记坏扇区(bad blocks)mbadblocks命令使用教程
【Shell 命令集合 磁盘维护 】Linux 用于检测和标记坏扇区(bad blocks)mbadblocks命令使用教程
108 0
|
7月前
|
算法 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 检查和修复文件系统错误 fsck命令使用教程
【Shell 命令集合 磁盘维护 】Linux 检查和修复文件系统错误 fsck命令使用教程
93 0
|
2月前
|
Kubernetes Linux 容器
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
205 0
|
安全 Linux
Linux常见维护报错,修复MBR引导/修复grub2菜单/内核文件丢失
Linux常见维护报错,修复MBR引导/修复grub2菜单/内核文件丢失
152 0
Linux常见维护报错,修复MBR引导/修复grub2菜单/内核文件丢失
|
7月前
|
存储 安全 Shell
【Shell 命令集合 磁盘维护】Linux 检测和识别硬盘或文件系统中的坏块 badblocks命令使用教程
【Shell 命令集合 磁盘维护】Linux 检测和识别硬盘或文件系统中的坏块 badblocks命令使用教程
215 0
mount: 文件系统类型错误、选项错误、/dev/rbd0 上有坏超级块、
mount: 文件系统类型错误、选项错误、/dev/rbd0 上有坏超级块、
2808 0
|
安全 Windows
使用系统文件检查器工具修复丢失或损坏的系统文件win10、win7
以管理员运行CMD命令行 sfc /scannow 流程结束后,你可能收到以下消息之一: Windows 资源保护找不到任何完整性冲突。这表示您没有任何丢失或损坏的系统文件。Windows 资源保护无法执行请求的操作。
1757 0
|
Windows
Windows系统下磁盘结构的恢复方法
Windows系统下磁盘结构层面的数据恢复是一类很有趣的问题,处理这类问题的效果是非常明显,往往会给用户比较神奇的感觉。这次我们就结合实例来谈谈这类问题的处理方法与技巧。首先我们来了解一下磁盘分区的大致结构:   上图是磁盘大致的分区结构。
2211 0