分区扩容
注意,这种方法只能用于最后一个分区的扩容
使用lsblk
查看现有分区情况,如:
1 | $ lsblk |
使用fdisk进入要分区编辑界面
1 | $ fdisk /dev/vda |
删除原分区
1 | Command (m for help): d |
在相同起始位置新建分区:
1 | Command (m for help): n |
告诉文件系统修改了大小。ext系列文件系统可以使用resize2fs
命令,xfs文件系统可以用xfs_growfs
命令
1 | $ resize2fs /dev/vda1 |
数据迁移
考虑旧的boot分区容量爆满,我们要将它迁移到一块新的容量更大的磁盘的情况。
接入新磁盘,通过lsblk
查看新磁盘:
1 | $ lsblk |
假设我们的新磁盘为/dev/sdb
,我们要将原/dev/sda1
boot分区的内容迁移到/dev/sdb1
。
首先使用fstab
为新磁盘创建分区。略
然后使用dd
命令迁移数据。dd
会迁移每个字节,包括分区信息以及UUID
1 | $ dd if=/dev/sda1 of=/dev/sda status=progress |
修改文件系统大小
1 | resize2fs /dev/sdb1 |
由于dd
会将uuid一并复制,所有需要修改uuid
1 | tune2fs -U random |
这时我们的boot分区已经迁移到新磁盘,而且使用新的uuid,所有需要修改boot相关的配置,文件系统挂载、引导分区:
- fstab
- grub
修改fstab文件,将boot分区的UUID修改为新的boot分区的UUID
1 | $ vim /etc/fstab |
同时grub引导程序中仍然使用就得boot分区,所有也需要进行修改
1 | grub-install /dev/sdb |
1 | grub-mkconfig -o /path/to/new/bootfile |