保留塊問題:分區大小已成功更改但作業系統無法辨識
我執行雙引導系統,Linux 發行版是 Ubuntu 14.04。
我使用 GParted 擴大了一個名為 的邏輯分區,
/dev/sda6
該/home
目錄通常安裝在該分區上。根據 GParted 報告,該操作已成功完成。分區大小為 85 GiB,其中 83GiB 已使用,2 GiB 空閒(d),如預期的那樣。然而,這有兩個奇怪的地方:
- 登錄後無法辨識此增益。當我使用 檢查磁碟使用情況時
df -h
,報告顯示已/dev/sda6
正確安裝在 上的分區/home
大小為 85 GiB,其中 83 個已使用,0個可用。聲稱使用率為 100%。- 另一個奇怪的是,我可以通過圖形使用者界面定期登錄我的使用者資料。但是,在辨識出憑據後,系統會停止並且不會飛濺到桌面環境中。為了獲取
df -h
資訊,我需要在任何文本終端中使用我的正常身份登錄,或者在圖形使用者界面中使用訪客身份登錄。附帶說明一下,看起來數據並未損壞。我該如何解決這種情況?目的是使分區的大小增加對作業系統完全可用。謝謝你的協助。
您可能正在使用其中一種
ext
文件系統(通常是預設的 linux 文件系統ext4
)。大多數情況下,在創建時,它將使用名為reserved blocks
. 這個保留的空間只能被系統程序和root寫入,因此可以保護作業系統免受使用者填充磁碟的影響。的主要目的
df
是顯示總計中可用的磁碟空間量。雖然它還顯示了(由使用者)使用的空間,但它不顯示這個保留空間。預設情況下,此緩衝區佔整個磁碟的 5%。你可以檢查你是否有這樣的緩衝區
sudo tune2fs -l /dev/sda6 | grep Reserved
。通過鍵入sudo tune2fs -l /dev/sda6 | grep [bB]locks
one 還可以讀取保留塊的數量和塊大小(以 B 為單位),從而確定此構造佔用的分區空間。這可以解釋系統看到 85GiB,但只有 83 個使用和 0 個空閒。如果你真的想要,你可以將緩衝區設置為較低的值
sudo tune2fs -m 2 /dev/sda6
(2 是百分比的範例值,預設情況下為 5)。更好的選擇是實際調整大小,以便有足夠的磁碟空間可用以確保安全。85GiB 中的 2GiB 僅為 2.35%,這不是很多,而且在大多數情況下會相對較快地填滿。如果您確定您的空間使用量將穩定在 83GiB,那麼您可以使用 tune2fs 保留 0% 的空間以確保安全,但是一旦您的磁碟填滿(到 85GiB),您將無法登錄全部和機器可能會崩潰並且更難修復。
5%的安全邊際是相對合理的。因此,在這種情況下,我會將分區設置為至少 90GiB,但可能甚至 100 或更多,只是為了有一些空間以備不時之需。磁碟空間很便宜,修復因磁碟已滿而引起的問題的時間可能更昂貴。
這個問題的答案讓我們對推理有了更多的了解。