抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

分区扩容

注意,这种方法只能用于最后一个分区的扩容

使用lsblk查看现有分区情况,如:

1
2
3
4
5
$ lsblk
vda 253:0 0 12G 0 disk
├─vda1 253:1 0 1K 0 part
├─vda2 253:2 0 2G 0 part [SWAP]
└─vda3 253:3 0 8G 0 part /

使用fdisk进入要分区编辑界面

1
2
3
$ fdisk /dev/vda

Command (m for help):

删除原分区

1
2
Command (m for help): d
Partition number (1-3): 3

相同起始位置新建分区:

1
Command (m for help): n

告诉文件系统修改了大小。ext系列文件系统可以使用resize2fs命令,xfs文件系统可以用xfs_growfs命令

1
$ resize2fs /dev/vda1

数据迁移

考虑旧的boot分区容量爆满,我们要将它迁移到一块新的容量更大的磁盘的情况。

接入新磁盘,通过lsblk查看新磁盘:

1
2
3
4
5
6
7
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 259:0 0 476.9G 0 disk
├─sda1 259:1 0 512M 0 part /boot
├─sda2 259:2 0 460.4G 0 part /
└─sda3 259:3 0 16G 0 part [SWAP]
sdb 128G 0 disk

假设我们的新磁盘为/dev/sdb,我们要将原/dev/sda1boot分区的内容迁移到/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

评论