我的一台 Ubuntu 10.04 伺服器給我帶來了麻煩。當我運行時,fsck.ext4 -n /dev/sda5
它告訴我空閒 inode 計數、空閒區塊計數等存在錯誤。
我努力了:
touch /forcefsck
還嘗試過:
shutdown -rF now
重新啟動後,我仍然看到錯誤。
我也剛剛檢查了我的 eeePC 上網本 Ubuntu 10.10,也遇到了同樣的問題!
如何在重新啟動時強制對“/”檔案系統進行真正“強制”“有力”“認真修復我的檔案系統”fsck?
澄清:我運行是fsck.ext4 -n
因為它是一個已安裝的檔案系統,以檢查是否有錯誤。這告訴我有。我認為在啟動過程中每 30 個掛載的自動 fsck 是恰恰處理根檔案系統中的錯誤。但在我的情況下它不這樣做。我可以使用 LiveCD 重新啟動並修復錯誤,然後再次重新啟動,但這對於實時伺服器來說是一些嚴重的停機時間。重新啟動、自動 fsck,然後繼續啟動在即時伺服器上更具可持續性,我相信應該是正確的行為。
附加資訊:這是輸出。看起來 autofsck 可以修復一些問題,不是嗎?
root@server:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning! /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no
Free inodes count wrong (545504, counted=552134).
Fix? no
/dev/sda5: ********** WARNING: Filesystem still has errors **********
/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks
答案1
我知道這是一個非常古老的線程,但我最近必須解決這個問題,所以我想發佈如何強製作業系統修復啟動期間 fsck 發現的問題(對於 12.04)。
您確實需要運行該命令sudo touch /forcefsck
。這將導致它在下次啟動時執行 fsck。您可以在 /var/log/boot.log 中看到 fsck 的結果。
但是,不能保證 fsck 會修復它發現的任何內容。為此,您需要編輯檔案 /etc/default/rcS。該文件的末尾有一行:
FSCKFIX=no
這需要更改為以下內容:
FSCKFIX=yes
這與使用 -y 選項運行 fsck 具有相同的效果,這將強制實施所有可能的修復,並且不會要求使用者互動。
這將允許您像OP要求的那樣運行fsck,而不必求助於從實時磁碟啟動,這並不總是可能的,特別是如果您位於遠端系統上。
答案2
sudo touch /forcefsck
sudo reboot
你有一個拼字錯誤 - 你正在觸摸 /forcefcsk。 “c”和“s”交換。 fsck 是 FileSystemCheckK 的縮寫。
答案3
來自 e2fsck 手冊頁:
「請注意,一般來說,在已安裝的檔案系統上執行e2fsck 並不安全。唯一的例外是指定了-n 選項,並且未指定-c、-l 或-L 選項。但是,即使它是安全的為此,如果檔案系統已安裝,則 e2fsck 列印的結果無效。回答這個問題。
因此,如果您使用 fsck 檢查已安裝的 FS,即使使用 -n 選項,結果也可能根本無效。不檢查已安裝的檔案系統。使用 Live-CD/Live-USB。
如果您在安裝檔案系統時不檢查檔案系統,我不明白為什麼您需要使用touch /forcefsck
您可以卸載它並修復它。但如果是這種情況,並且修復後您的 FS 仍然有錯誤,那麼您可以考慮使用:
e2fsck -cy /dev/sda5
這將解決您可能遇到的稱為壞塊的硬碟相關問題(這將需要很長時間)。
如果您想檢查已安裝的檔案系統,我不知道如何繼續,但我認為您應該建立另一個問題。
答案4
您可以透過以下方式自動完成修訂:
Tune2fs -c 5 -i 10 / dev / sda1
-c
是運行前的最大安裝次數fsck
,-i
也是運行前的最大天數fsck
。
在這種情況下,將每 5 次安裝或每 10 天執行一次,以先到者為準。
我有兩台計算機,一台裝有 Linux SuSE 13.2,另一台裝有 Linux Mint 18.0,兩台計算機都運作良好。