Linux分區端大於物理磁碟和分區大小
我的硬碟上有兩個分區。
/dev/sdb1
對於我的整個系統和/dev/sdb2
作為交換驅動器。我遇到了幾次系統崩潰,並認為我可能需要將交換驅動器的大小從 2GB 增加到 16GB。我通過使用parted 內部的命令將 end 減少/dev/sdb1
14 GB(從 494GB 到 480GB)來做到這一點。resizepart
重新啟動後,我的系統(Arch Linux)啟動失敗:我設法通過
/dev/sdb1
再次將分區末尾增加到 494GB 來修復錯誤。但我不明白為什麼 parted 顯示驅動器容量為 500GB,分區結束 (dev/sdb1
) 為 494GB。lsblk
並fdisk
返回 465.76 GB 的總驅動器大小和 460.1 GB 的分區大小 (/dev/sdb1
)。為什麼文件系統大小比物理硬碟大 480GB 而不是 494GB(與上述錯誤有關)?這是我的輸出
lsblk
,fdisk
和parted
:提前謝謝了。
使用
parted
調整分區大小是不夠的,您還需要調整剛剛調整大小的分區上的文件系統大小(parted
不這樣做)。您打開了 ext4 文件系統,/dev/sda1
因此在調整分區大小後,parted
您還需要執行sudo resize2fs /dev/sda2
以調整文件系統的大小(在resize2fs
沒有大小的情況下執行,只需將文件系統大小調整為底層設備的大小)。沒有這個,您將無法掛載文件系統,這就是引導失敗的原因。
parted
大小之間的差異lsblk
是舊的公制(GB) 與二進制(GiB) 單位。lsblk
使用二進制單位(1 GiB 是 1024 MiB),parted
使用公制單位(1 GB 是 1000 MB)。500 GB 大約是 465.66 GiB,所以這裡沒有什麼奇怪的事情發生。