linux基本功之fsck命令详解
💓 大家好,我是沐風曉月,雙一流院校英語+計算機雙專業在讀;
💓 想要學好Linux,命令是基本功,企業中常用的命令大約200多個,不管是寫shell腳本還是管理操作系統,最常用的命令必須要牢牢掌握,像我們以前學乘法口訣一樣,爛熟于心,唯有如此,才能打牢基礎。
💓 只要地球不爆炸,我們永遠不放假,只要宇宙不重啟,我們永遠不休息,,風里雨里節日里我們都在機房等著你
💓 知識最重要的是記憶,反復練習才能有所成就
💕 座右銘: 先努力成長自己,再幫助更多的人 ,一起加油進步🍺🍺🍺
文章目錄
- 前言
- 一. fsck命令介紹
- 二. 語法格式及常用選項
- 三. 參考案例
- 四. 拓展知識
- 4.1 fsck的運行過程
- 4. 2 文件系統有哪些?
- 4.3 在 Linux 啟動時啟用 XFS 磁盤分區掃描
- 總結
前言
一. fsck命令介紹
大家好,又見面了,我是沐風曉月, 每天月上樹梢的時候時候開始學習。
計算機難免會因為某些系統因素或人為誤操作(突然斷電)出現系統異常,這種情況下非常容易造成文件系統的崩潰,嚴重時甚至會造成硬件損壞。這也是我們一直在強調的“服務器一定要先關閉服務再進行重啟”的原因所在。
如果真出現了文件系統損壞的情況,有辦法修復嗎?當然可以了,對于一些小問題,我們使用 fsck 命令就可以很好地解決。
fsck 命令用于檢查文件系統并嘗試修復出現的錯誤。
二. 語法格式及常用選項
依據慣例,我們還是先查看幫助,使用 man help查看
語法格式:
這里的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.ext4命令檢查/dev/sdb1磁盤分區的文件系統
# fsck.ext4 /dev/sda5XFS文件系統中,不再使用此命令,二十使用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命令在日常工作中,一般不常用,要用就一定是磁盤出問題了,慎重呀!
💕💕💕 好啦,這就是今天要分享給大家的全部內容了,我們下期再見!? ? ?
🍻🍻🍻如果你喜歡的話,就不要吝惜你的一鍵三連了~
總結
以上是生活随笔為你收集整理的linux基本功之fsck命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开关磁阻电机控制 SR 无感 预估磁链换
- 下一篇: openldap主机搭建