帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
linux基本功之fsck命令详解
发布时间:2024-03-06 13:08:10   分类:帮助文档
linux基本功之fsck命令详解






💓 大家好,我是沐风晓月,双一流院校英语+计算机双专业在读; 💓 想要学好Linux,命令是基本功,企业中常用的命令大约200多个,不管是写shell脚本还是管理操作系统,最常用的命令必须要牢牢掌握,像我们以前学乘法口诀一样,烂熟于心,唯有如此,才能打牢基础。 💓 只要地球不爆炸,我们永远不放假,只要宇宙不重启,我们永远不休息,,风里雨里节日里我们都在机房等着你 💓 知识最重要的是记忆,反复练习才能有所成就 💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺



文章目录
前言一. fsck命令介绍二. 语法格式及常用选项三. 参考案例四. 拓展知识4.1 fsck的运行过程4. 2 文件系统有哪些?4.3 在 Linux 启动时启用 XFS 磁盘分区扫描
总结


前言
一. fsck命令介绍
大家好,又见面了,我是沐风晓月, 每天月上树梢的时候时候开始学习。
计算机难免会因为某些系统因素或人为误操作(突然断电)出现系统异常,这种情况下非常容易造成文件系统的崩溃,严重时甚至会造成硬件损坏。这也是我们一直在强调的“服务器一定要先关闭服务再进行重启”的原因所在。
如果真出现了文件系统损坏的情况,有办法修复吗?当然可以了,对于一些小问题,我们使用 fsck 命令就可以很好地解决。
fsck 命令用于检查文件系统并尝试修复出现的错误。
二. 语法格式及常用选项
依据惯例,我们还是先查看帮助,使用 man help查看 语法格式:
fsck [ -sACVRTNP ] [ -t fstype ] [filesys ... ] [--] [ fs-specific-options ]

这里的filesys 可以是多种形式,比如可以是:
一个设备名(例如: /dev/hdc1, /dev/sdb2)一个挂载点(例如: /, /usr, /home),一个ext2文件系统的磁盘标签也可以是UUID指定符(例如:UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd 或 LABEL=root)
fsck 执行完成后,会有默认的返回值,返回值的数字不同,代表的结果不一样,如下表:
返回数字描述0- 没有错误1文件系统有错但已修复2系统应当重启4文件系统错误没有修复8运行错误16用法或语法错误32户撤销了fsck 操作128共享库出错
常用参数:
参数描述-s顺序执行fsck的操作-t检查要指定的文件类型-A搜索 /etc/fstab 文件,一次检查所有在文件中有定义的文件系统-R当使用 -A 标志来检查所有文件系统时,跳过root文件系统 (它可能已经被挂载为可读写)-a自动修复文件系统,没有任何提示信息。-r采取互动的修复模式,在修改文件前会进行询问,让用户得以确认并决定处理方式。-y自动修复,和 -a 作用一致,不过有些文件系统只支持 -y-C显示检查分区的进度条。
注意: 此命令通常只有身为 root 用户且文件系统出现问题时才会使用,否则,在正常状况下使用 fsck 命令,很可能损坏系统。另外,如果你怀疑已经格式化成功的硬盘有问题,也可以使用此命令来进行检查。
使用 fsck 检查并修复文件系统是存在风险的,特别是当硬盘错误非常严重的时候,因此,当一个受损文件系统中包含了非常有价值的数据时,务必首先进行备份!
三. 参考案例
案例一: 采用互动的方式 修复/dev/sdb1
这里主要是对分区进行修复,我们可以使用-r 参数,这个参数表示自动修复
root@mufenggrow ~]# fsck -r /dev/sdb1
fsck,来自 util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
fsck.ext2: 没有那个文件或目录 当尝试打开 /dev/sdb1 时
Possibly non-existent device?
/dev/sdb1: status 8, rss 1348, real 0.009302, user 0.000000, sys 0.004639


当然我这里并没有 /dev/sd1 ,所以会提示没有那个文件。
案例二: 检查和修复磁盘分区/dev/sda5的文件系统,在执行修复时进行询问,让用户决定处理方式,显示详细修复过程
#fsck -rV -t ext4 /dev/sda5

案例三: 检查磁盘分区/dev/sdb1的文件系统,并显示完整的检查进度 -C参数是显示进度条 -t 是指定要检查的系统文件
fsck -C -t ext4 /dev/sdb1

案例四: 使用fsck.ext4命令检查/dev/sdb1磁盘分区的文件系统
# fsck.ext4 /dev/sda5

XFS文件系统中,不再使用此命令,二十使用xfs_repair 来检查和修复文件系统,修 复时该文件系统不能被挂载。
案例五: 强制检查文件系统的损坏情况:
[root@mufenggrow ~]# fsck -f /dev/sda2

如果要是使用fsck对XFS系统进行检查,需要在检查之前,先卸载要检查的磁盘分区。 然后用xfs_repair命令的-n参数进行检查和修复磁盘错误。
如果只是检查,并不进行磁盘修复,可以不用-n参数
[root@localhost ~]# xfs_repair /dev/sda1
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done

四. 拓展知识
4.1 fsck的运行过程
运行fsck后,该命令会分6个阶段对文件系统进行检查,分别是:
检查块和块的大小: 移除一些没有相关文件的目录入口检查路径名: 重新连接一个已经分配但无不能访问的文件检查连接性 : 调整连接数检查参考计数: 检查未分配的块数和超级块中的所给出的自由块表的一致程度检查自由快列表补救自由块列表
4. 2 文件系统有哪些?
常见的文件系统有,XFS, FAT、NTFS、ExtFAT、ext2、ext3、ext4 ,reiserFS、VFAT、APFS。
目前的centos6系统,默认是ext4 centos7系统,默认是XFS windows: NTFS
4.3 在 Linux 启动时启用 XFS 磁盘分区扫描
如果 Linux 操作系统正在使用磁盘分区,则无法卸载磁盘分区。而XFS文件系统需要卸载才检查,这时候唯一的办法就等下次系统启动的时候进行磁盘扫描
要使 xfs_repair 命令能够在 Linux 启动时运行,可以在 GRUB 菜单内核命令的末尾添加“fsck.mode=force fsck.repair=yes”。
查看系统日志以验证磁盘修复命令的执行情况
[root@localhost ~]# journalctl |grep systemd-fsck

要向在系统启动时永久启用磁盘检查,就必须在 GRUB 配置文件中添加“fsck.mode=force fsck.repair=yes”。
参考下面的grub配置文件,找到 GRUB_CMDLINE_LINUX 参数并在行尾附加fsck.mode=force fsck.repair=yes。
沐风晓月出品
[root@localhost ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap fsck.mode=force fsck.repair=yes"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

根据新参数重新生成 GRUB 菜单配置
#grub2-mkconfig

最后重启系统:
init 6

总结
以上就是fsck的全部内容 ,fsck命令在日常工作中,一般不常用,要用就一定是磁盘出问题了,慎重呀!
💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨ 🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~





香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价