修改分区和EXT4文件系统大小
遇到一个问题,需要缩小Linux系统的分区和EXT4文件系统的大小(分区没有使用LVM),并且数据不能丢失。
注意:下面的操作涉及到修改分区和文件系统,具有一定的风险,最好先备份,防止操作失误导致数据丢失。
1. 启动到Linux,保证要修改的分区是 Unmount 的(推荐使用另外的Linux启动盘来引导系统)
2. 使用 fsck检查文件系统(保证文件系统没有错误,为修改文件系统做准备)
# e2fsck -f /dev/sda1
3. 修改文件系统的大小(使用 resize2fs)
# resize2fs /dev/sda1 7600000s
数字后面的‘s’表示通过扇区数(按每扇区512字节算)来指定文件系统的大小。还可以指定K(KB),M(MB),G(GB)等。具体细节参考man resize2fs。
4. 修改分区大小
# fdisk /dev/sda
因为fdisk无法动态的修改分区大小,所以只能先删除分区,然后再重建一个小一点的分区(size要计算好,必须要能容纳下我们在上一步调整后的文件系统)。
在删除之前,请记住分区的起始扇区(通过fdisk -l可以看到)。在重新创建分区的时候,必须保证起始扇区不变!另外,如果你修改的是可引导分区,注意它的可引导标志要保留,否则可能导致系统无法boot。
5. 修改完成之后,重新启动系统,看看修改是否生效。
如果是要扩大分区的size,则需要先修改分区大小,再修改文件系统的size,顺序是反的。
上面的方法是使用fdisk和resize2fs 来修改分区和文件系统,也可以使用gparted。gparted提供了图形界面,而且它在resize分区的同时会帮你resize文件系统,用起来更方便,不容易出错。
参考: