!!在进行实际操作之前,切记进行相关数据的备份,由于本主题将修改分区表,务必一同备份分区表或者手工记录下每个分区的起始结束柱面号!
调整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
/ #