答案1
看图,最后三个分区是不能动的。但你可以创造在未分配的空间中创建一个新分区,然后将现有分区复制/home
到那里,例如使用 rsync。
完成此操作后,您可以释放驱动器末端的 23Gb,使其(更)有助于扩展系统磁盘。
稍微分解一下:
- 创建一个新的
ext4
在未分配的空间中分区(实际上 gparted 会创建一个分割,你可能需要做一个mkfs.ext4
或类似的事情才能使文件系统)。 - 暂时挂载(不是 as
/home
,而是例如 as/mnt
) 使用 rsync (如根)复制整个
/home
树,例如,rsync -va /home/ /mnt
修改您的
/etc/fstab
以安装新分区/home
(最好将旧分区保留/home
在不同的路径上)- 重启
- 完成验证后,通过卸载旧分区、从中删除行,
/etc/fstab
然后使用 删除分区来停用旧分区gparted
。
答案2
分区是磁盘的一个段,而不是段的组合。由于主分区位于磁盘的末尾,而根分区紧邻其前面,因此没有空间扩展主分区。
您可以扩展已安装的分区,但不能移动已安装的分区。所以你应该在实时系统中工作。
您可以将home分区移动到可用空间中;然后您就可以将其扩大到~44GB。但我建议您不要只是移动分区,而是将 Linux 分区切换到左心室容量(另请参阅建筑维基百科)。 LVM是一种比基本的MBR/UEFI系统灵活得多的分区系统;它唯一的缺点是它特定于 Linux,因此它通常位于 MBR/UEFI 分区内。如果您使用 LVM,您可以非常轻松地扩大主分区。
从实时系统:
跑向
fdisk
:- 删除交换分区。之后我们将重新创建它。
- 在可用空间中创建一个类型为“Linux LVM”的分区。给它数字 5。
在新分区上创建 LVM 物理卷。 LVM 物理卷是磁盘上用于 LVM 分区的空间。
pvcreate /dev/sda5
创建LVM卷组。卷组将物理卷(磁盘段)与逻辑卷(文件系统或交换空间的容器)相关联。这
arch
是群组的名称,您可以随意选择不同的名称。vgcreate arch /dev/sda5
创建逻辑卷以将根文件系统和主文件系统移动到 LVM 中,并用于交换空间。确保根卷和主卷至少与现有文件系统一样大。请注意,GParted 是邪恶的:它会舍入文件系统大小,因此如果您使用它显示的内容,您可能会在最后丢失一些数据,这可能会使文件系统无法恢复。使用实际尺寸信息。
grep sda[67] /proc/partitions # shows partition sizes in kB lvcreate -L "$(awk '$4=="sda6" {print $3}' /proc/partitions)k" -n root arch cat /dev/sda6 >/dev/arch/root lvcreate -L "$(awk '$4=="sda7" {print $3}' /proc/partitions)k" -n home arch cat /dev/sda7 >/dev/arch/home lvcreate -L 24g -n swap arch
挂载主分区和根分区的新位置,以确保副本正常。
mkdir /media/root /media/home mount /dev/arch/root /media/root mount /dev/arch/home /media/home # Check that both filesystems look fine
编辑
/etc/fstab
并确保它使用对分区的有效引用。如果您正在使用 UUID 或标签,则可以继续使用。如果您使用分区号,则必须更改它。您可以使用 LVM 设备位置,它们很稳定:/dev/arch/root
和/dev/arch/home
。我不知道 Arch Linux 如何设置其引导系统。在某些发行版上,您需要重新生成第二阶段引导加载程序和 initramfs 以包含 LVM 支持。在 Arch 上,似乎您需要添加
lvm2
并/etc/mkinitcpio.conf
重新生成 initramfs。您不再需要带有主分区和根分区的旧空间。您可以通过在其中创建 LVM 物理卷 (
pvcreate /dev/sda6 /dev/sda7
) 并将这些物理卷添加到现有卷组 (vgextend arch /dev/sda6 /dev/sda7
),将它们重新用于 LVM。之后,如果您想扩展文件系统,您可以调用lvextend
而不必担心位置:它将使用卷组中任何位置的可用空间来扩展逻辑卷,然后调用resize2fs
以扩大文件系统。