我有一個 400GB 磁碟,帶有 320GB ext4 分割區。我想擴大 ext4 分割區以使用剩餘空間(80GB 可用空間)。
+--------------------------------+--------+
| ext4 | Free |
+--------------------------------+--------+
我怎麼能這樣做呢?
我看過有人使用resize2fs
,但我不明白它是否會調整分割區大小。
另一個解決方案是使用fdisk
但我不想刪除我的分割區和鬆散的資料。我怎樣才能簡單地擴大分區而不丟失任何文件?
注意:我說的是沒有 LVM 的未掛載資料分割區,而且我有備份,但我想避免花費一些時間進行還原。
答案1
您必須從卸載分割區開始。如果您無法卸載它(例如,它是您的根分區或系統需要運行的其他分區),請使用類似系統救援光碟反而。
運行
parted
,或者gparted
如果您更喜歡 GUI,請調整分區大小以使用額外的空間。我更喜歡它,gparted
因為它為您提供了一個很好的圖形表示,與您在問題中繪製的圖形非常相似。resize2fs /dev/whatever
e2fsck /dev/whatever
(只是為了看看你是否安全)重新安裝您的分割區。
雖然我從未見過這種失敗,但請先備份您的資料!
答案2
使用growpart
和resize2fs
範例:
請注意以下情況和之間的空格:
/dev/sda
1
growpart /dev/sda 1
這是兩個命令:
growpart /dev/sda 1
resize2fs /dev/sda1
$ growpart /dev/sda 1
CHANGED: partition=1 start=2048 old: size=39999455 end=40001503 new: size=80000991,end=80003039
$ resize2fs /dev/sda1
resize2fs 1.45.4 (23-Sep-2019)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/sda1 is now 10000123 (4k) blocks long.
如果這沒有按預期工作,可能是由於擴展分區所致,在這種情況下,應應用以下答案:https://unix.stackexchange.com/a/687489/124109
答案3
是的,如果您的分割區已經排序,您可以在線上成長 EXT4 檔案系統。分區整理好了嗎?有LVM嗎?
sudo resize2fs /dev/drive_to_grow
fdisk
將調整您的分割區大小,確實如此,但如果這是根分割區(或實際上任何已安裝的分割區),則必須先卸載它。所以很有可能離線!
與任何與磁碟/檔案系統操作相關的事情一樣,我強烈建議進行備份、經過測試、易於理解的復原過程。
答案4
接受的答案有些過時:調整 ext4 檔案系統的大小較好在線的而不是離線,因為線上擴展程式碼路徑比離線擴展程式碼路徑更常用。
更困難的事情可能是擴展底層分區,除非您使用 LVM和您的捲組中有可用空間。要在線擴展分區,可以使用fdisk
或parted
;然後,您必須運行kpartx <device>
以通知內核變更。如果使用 LVM,則需要將pvresize
剛剛調整大小的分割區放在lvresize
磁碟區之前。
最後,您可以發布resize2fs
您的檔案系統。