参照
https://wiki.archlinuxcn.org/wiki/Parted

1.防止数据丢失
有重要数据的话先备份,防止系统崩了数据没了
可以的话先在虚拟机练习一下

2.注意点

修改分区的初始位置似乎需要删除分区后重建分区,意味着分区数据全被删除。
所以修改分区初始位置可能需要其它办法
修改分区的初始位置风险有点大,可能是因为分区初始位置存储着分区表 参照:https://superuser.com/questions/775305/how-to-modify-the-starting-boundary-of-an-ext4-partition

要扩展分区及其文件系统,
(1)先扩展分区
(2)再扩展文件系统

要收缩分区及其文件系统,
(1)先收缩文件系统
(2)再收缩分区

确保文件系统新的大小满足下面的条件:
新的大小必须大于已有数据的大小,否则会导致数据损失。
新的大小必须等于或小于当前设备的可用空间。

这样做是因为分区始终大于文件系统,就像箱子里装满文件夹,要先把箱子变大,才能增加文件夹。要先减少文件夹,才能把箱子变小。

不是根分区都是可以在线扩容和缩小
根分区是可以在线扩容,但不可以在线缩小
根分区缩小需要进入救援模式 参照:https://documentation.suse.com/zh-cn/sles/12-SP5/html/SLES-all/cha-resize-fs.html

3.操作参照:http://positon.org/resize-an-ext3-ext4-partition

resize2fs可能需要root权限

(1)扩展分区

cfdisk /dev/sdx
# 删除分区并重新创建所需大小的分区
resize2fs -f /dev/sdxY

在不指定任何大小的情况下,resize2fs 将文件系统扩展到分区的大小。

(2)缩小分区

# 例如,如果你想要一个 10G 分区
# 调整文件系统的大小,使其大小小于所需大小
resize2fs -f /dev/sdxY 9G
cfdisk /dev/sdx
# 删除分区并重新创建所需大小的分区(10G)
# (比文件系统大一点!!
# 然后再次启动 resize2fs
resize2fs -f /dev/sdxY

这样做,我们可以在不损失任何空间的情况下获得良好的分区大小。

开机如果出现
Dependency failed for /home.
Dependency failed for Local File System
应该是文件系统表不正确了,导致访问文件系统失败。
使用救援盘挂载分区
删除原来的文件系统表重新生成文件系统表fstab

rm /mnt/etc/fstab
genfstab -U /mnt >> /mnt/etc/fstab

或者能进到root用户再重新生成文件系统表也可以