!!在進行實際操作之前,切記進行相關數據的備份,由於本主題將修改分區表,務必一同備份分區表或者手工記錄下每個分區的起始結束柱面號!
調整ext3/ext4分區大小
要增加一個分區大小,你需要做以下兩步:
1.使用分區工具增加實際硬盤分區大小。
2.使用文件系統工具同步分區大小。
要減小一個分區大小,需要多做一點(順序相反,因為減小可能導致分區末端數據的遺失,所以要現在系統下運用工具將存儲在末尾的數據上移至有效位置):
1.使用文件系統工具減小分區大小。
2.使用分區工具減小物理硬盤分區大小(調整后的大小應不小於等於希望得到的大小)
3.再次使用文件系統工具同步分區。
Example(我的Archlinux系統分區情況):
~ # clear ~ # df 文件系統 1K-塊 已用 可用 已用% 掛載點 rootfs 2580272 2215972 233232 91% / dev 254376 0 254376 0% /dev run 256168 212 255956 1% /run /dev/sda2 2580272 2215972 233232 91% / shm 256168 0 256168 0% /dev/shm tmpfs 256168 0 256168 0% /tmp /dev/sda1 198337 33302 154795 18% /boot /dev/sda3 3096912 139232 2800396 5% /home /dev/sda4 2377644 92736 2164128 5% /root ~ # fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = 扇區 of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x46391393 設備 Boot Start End Blocks Id System /dev/sda1 2048 411647 204800 83 Linux /dev/sda2 411648 5654527 2621440 83 Linux /dev/sda3 5654528 11945983 3145728 83 Linux /dev/sda4 11945984 16777215 2415616 83 Linux ~ #
由於之前創建系統時經驗不足,將根(/)分區設置的太小,本身一共給了虛擬機8G空間,根只留了2.5G而幾乎不怎么用的 /home 和主目錄 /root 空間太多完全用不到,由於分區的物理連續性,我之前已經將 /dev/sda2(根分區) 和 、/dev/sda3(/home分區)之間的swap分區給刪掉擴充給 /dev/sda2(根分區)了,但顯然這點也只能救救急而已,所以今天突然來了興致再學下擴展分區,打算把 /dev/sda3(/home分區) 干掉!顯然,要擴展 /dev/sda2 就必須減小或者刪除 /dev/sda3 ,而要減小 /dev/sda3 也就是后移 /dev/sda3 的起始扇區會影響到存儲在那得實際數據,所以如果你非要那么做就得自己手動備份該分區的所有數據再重新定義分區才行或者使用某些工具(沒用過)。 我這里簡單多了,直接干掉再做個同步就行了.
Code:
在執行這些之前你需要卸載對應卷或者使用維護光盤鏡像(比如才SystemRescueCd 可以成功操作)
~ # fdisk /dev/sda # delete the partition /dev/sda3 , /dev/sda2 and recreate it again with the desired size (maximum by default) # and perhaps you have to do fsck before. ~ # fsck /dev/sda2 ~ # resize2fs /dev/sda2
是不是很簡單呢,注意這期間只是改變分區表信息,別去格式化哦。。。
成果:
/ # df 文件系統 1K-塊 已用 可用 已用% 掛載點 rootfs 5676640 2217020 3171272 42% / dev 254376 0 254376 0% /dev run 256168 208 255960 1% /run /dev/sda2 5676640 2217020 3171272 42% / shm 256168 0 256168 0% /dev/shm tmpfs 256168 0 256168 0% /tmp /dev/sda1 198337 33302 154795 18% /boot /dev/sda4 2377644 92736 2164128 5% /root / #
end.