fsck命令詳解

2022-03-21 22:17:36 字數 3673 閱讀 4914

基礎命令學習目錄首頁

本文出自 「airfish2000」 部落格,

fsck命令

使用fsck命令可以檢查檔案系統並嘗試修復系統的錯誤。

命令語法:

fsck [選項] [檔案系統]

命令中各選項的含義如表所示。

表                                fsck命令選項含義

選項

含義

-a自動修復檔案系統,不詢問任何問題

-a按照/etc/fstab配置檔案的內容,檢查檔案內所列的全部檔案系統

-n不執行命令,僅列出實際執行會進行的動作

-p當搭配-a選項使用時,則會同時檢查/目錄的檔案系統

-r採用互動模式,在執行修復時詢問,讓使用者確認並決定處理方式

-r當使用-a選項檢查所有檔案系統的時候,跳過/目錄的檔案系統

-t 《檔案系統型別》

指定要檢查的檔案系統型別

-c顯示完整的檢查進度

-y關閉互動模式

-c檢查壞塊,並將它們新增到壞塊列表

-p自動修復檔案系統錯誤

-f強制檢查,即使檔案系統被標記乾淨

例:檢查磁碟分割槽/dev/sda5的檔案系統。

[root@rhel ~]# fsck /dev/sda5

例:強制檢查磁碟分割槽/dev/sda5的檔案系統

[root@rhel~]# fsck -f /dev/sda5

fsckfrom util-linux-ng 2.17.2

e2fsck1.41.12 (17-may-2010)

第一步:檢查inode,塊,和大小

第二步:檢查目錄結構

第3步:檢查目錄連線性

pass4: checking reference counts

第5步:檢查簇概要資訊

/dev/sda5:12/6561792 files (0.0% non-contiguous), 459863/26215641 blocks

例:檢查和修復磁碟分割槽/dev/sda5的檔案系統,在執行修復時進行詢問,讓使用者決定處理方式,顯示詳細修復過程。

[root@rhel ~]# fsck -rv -t ext4 /dev/sda5

例:檢查磁碟分割槽/dev/sda5的檔案系統,並顯示完整的檢查進度。

[root@rhel ~]# fsck -c -t ext4/dev/sda5

例:檢查磁碟分割槽/dev/sda6的msdos檔案系統的是否正常,如果有異常便自動修復。

[root@rhel ~]# fsck -t msdos -a/dev/sda6

個人分類: linux運維

功能說明:檢查檔案系統並嘗試修復錯誤。

語  法:fsck [-aanprrstv][-t 《檔案系統型別》][檔案系統...]

補充說明:當檔案系統發生錯誤四化,可用fsck指令嘗試加以修復。

注意:千萬不能在執行的系統上面直接執行fsck,特別是rhel6.0以下ext3的檔案系統,否則100%損壞根檔案系統,使用fsck -y /dev/sdb1 修復磁碟時,必須將sdb1分割槽umount掉

參  數:

-a 自動修復檔案系統,不詢問任何問題。

-a 依照/etc/fstab配置檔案的內容,檢查檔案內所列的全部檔案系統。

-n 不執行指令,僅列出實際執行會進行的動作。

-p 當搭配"-a"引數使用時,則會同時檢查所有的檔案系統。

-r 採用互動模式,在執行修復時詢問問題,讓使用者得以確認並決定處理方式。

-r 當搭配"-a"引數使用時,則會略過/目錄的檔案系統不予檢查。

-s 依序執行檢查作業,而非同時執行。

-t《檔案系統型別》 指定要檢查的檔案系統型別。

-t 執行fsck指令時,不顯示標題資訊。

-v 顯示指令執行過程。

fdisk -l 檢視裝置號

執行 fsck -y /dev/sdb1 修復磁碟  -y引數為自動確認修復

這條命令也是用fsck修復磁碟是,常使用的命令

特別說明:在ext3(實際上其他檔案系統也類似)無法mount,或者提示fsck時,如果有重要資料,應該慎重對待,千萬不可貿然執行"fsck -f -y "這樣的自動修復功能。如果可能,先對故障區域做dd全映象後再執行,或者以唯讀方式執行,並仔細看修復過程,如果提示大量inode錯誤、需要重建樹、或大小不對等就不可再繼續下去了。

不管是哪種檔案系統,其根本目的都是相同的:如何把檔案存在系統給定的區域裡,如何有效地管理檔案的讀與寫。為實現這樣的目的,驅動層需要完善、周密地應付附加在檔案系統上的各種操作。這些操作通常不會是一條指令完成的,如果乙個過程需要多條指令完成,在執行這些操作時,全部指令未完成的情況下產生中斷,那這個檔案系統便會出現一致性錯誤(或者叫連續性錯誤)。

為了保證盡可以少的出現一致性錯誤,現在主流的檔案系統都會設計成日誌型的。日誌型檔案系統的主要特點就是把乙個操作的所有指令執行過程都另外緩衝下來,如果全部執行完成再清除日誌標誌,如果操作沒有執行完成,可以在重新啟用後通過日誌回溯或繼續完成。

ext3的日誌功能通過在ext2的設計基礎上增加乙個特殊的檔案(通常是8號節點檔案),在這個檔案中記錄檔案系統的操作過程。但ext系統檔案系統本身在節點、間接索引塊、目錄節點方面沒有冗餘保護,所以當檔案系統除日誌外的其他結構並不一致,卻又要通過fsck來進行修復,這種一致性有可能將原本正確的結構也錯誤化。(就像原來是1+2=3,現在錯成了1+3=3,也許改完後變成了1+3=4,就完全沒辦法還原成最早的1+2=3)。

資料恢復領域經常會遇到這類情況:一次raid出故障後,下次啟動系統提示做fsck,但做完後,也無法mount分割槽或者mount 分割槽後資料全是錯的。需要對這類情況進行資料修復的難度是很大的,從乙個完整的結構(fsck後實際上從系統角度看已經是完整的了)再構建另乙個完全不同的結構要比修正乙個錯誤的結構更難以下手。其實這類情況,很多是因為raid5有早離線的盤加入了兩個邏輯磁碟組,導致所有的資料流是以新+舊的方式交錯組成的,自然會有太多錯誤。這時候如果做fsck後,有可能資料都無法恢復了。

所以,在ext3(實際上其他檔案系統也類似)無法mount,或者提示fsck時,如果有重要資料,應該慎重對待,千萬不可貿然執行"fsck -f -y "這樣的自動修復功能。如果可能,先對故障區域做dd全映象後再執行,或者以唯讀方式執行,並仔細看修復過程,如果提示大量inode錯誤、需要重建樹、或大小不對等就不可再繼續下去了。

補充說明:當檔案系統發生錯誤四化,可用fsck指令嘗試加以修復。

注意:千萬不能在執行的系統上面直接執行fsck,特別是rhel6.0以下ext3的檔案系統,

否則100%損壞根檔案系統,使用fsck -y /dev/sdb1 修復磁碟時,必須將sdb1分割槽umount掉

fdisk -l 檢視裝置號

執行 fsck -y /dev/sdb1 修復磁碟  -y引數為自動確認修復

這條命令也是用fsck修復磁碟是,常使用的命令

特別說明:在ext3(實際上其他檔案系統也類似)無法mount,或者提示fsck時,如果有重要資料,應該慎重對待,千萬不可貿然執行"fsck -f -y "這樣的自動修復功能。如果可能,先對故障區域做dd全映象後再執行,或者以唯讀方式執行,並仔細看修復過程,如果提示大量inode錯誤、需要重建樹、或大小不對等就不可再繼續下去了。

fsck命令詳解

功能說明 檢查檔案系統並嘗試修復錯誤。語 法 fsck aanprrstv t 檔案系統.補充說明 當檔案系統發生錯誤四化,可用fsck指令嘗試加以修復。參 數 a 自動修復檔案系統,不詢問任何問題。a 依照 etc fstab配置檔案的內容,檢查檔案內所列的全部檔案系統。n 不執行指令,僅列出實際...

fsck命令使用詳解

fsck命令使用詳解及特別注意事項 功能說明 檢查檔案系統並嘗試修復錯誤。語 法 fsck aanprrstv t 檔案系統型別 檔案系統.補充說明 當檔案系統發生錯誤四化,可用fsck指令嘗試加以修復。注意 千萬不能在執行的系統上面直接執行fsck,特別是rhel6.0以下ext3的檔案系統,否則...

fsck修復分割槽系統命令

格式 fsck.ext3 ext4 xfs 必要引數 選擇引數 裝置代號 ext3為檔案系統 必要引數 a 非互交模式,自動修復 c 檢查是否存在有損壞的區塊。c 反敘述器 fsck.ext3命令會把全部的執行過程,都交由其逆向敘述,便於監控程式 d 詳細顯示命令執行過程 f 強制進行檢查 f 檢查...