如何将 ext4 主分区更改为逻辑分区

如何将 ext4 主分区更改为逻辑分区

我的分区是这样的。我承认,它们的创建方式很蹩脚:) 分区

我的主要目标是能够为第三个操作系统创建另一个主分区,但为此我需要做一些事情,因为我不明智地创建了/home主分区。

最有可能的是,我将删除并重新创建交换和 Windows 分区(重新安装 Windows)。

因此,对我来说,实现此目的的唯一方法是以某种方式将分区更改为逻辑分区。除了重新安装 Linux并丢失 `sda2 上的数据sda2外,我什么都不介意做。sda1

我有什么选择?例如,是否可以删除所有内容,sda1然后sda2以某种方式克隆sda2到新创建的扩展分区的新逻辑分区?

答案1

您可以使用我的FixParts 程序。许多 Linux 发行版在gdiskgptfdisk包中提供它;命令名称是fixparts。不过,有一些注意事项;即,您需要在紧接的前面至少有一个空闲(未分配)扇区每一个逻辑分区。目前还不清楚当前分区之前是否有这样的空闲扇区。/dev/sda2如果没有,创建此类间隙的最安全方法是使用 GParted 进行缩小/dev/sda1(即/dev/sda1不是 /dev/sda2) 尽可能小地减少——可能是 1MiB。这将在/dev/sda1和之间打开一个间隙/dev/sda2,这将使 FixParts 能够/dev/sda2从主分区转换为逻辑分区。请注意,您需要从实时 CD 执行所有这些操作(或至少执行 GParted 操作);GParted 不会让您对当前已安装的分区进行操作,如果/dev/sda1您从它启动,则必须这样做。

答案2

您有空间将 /home 移回根目录。

sudo mkdir /home2
sudo rsync -ax /home/ /home2/
sudo umount /home  (you'll need to boot as single user to do this)
sudo rmdir /home
sudo mv /home2 /home 

然后编辑 /etc/fstab,使其不挂载 /home

然后您可以删除 /dev/sda2 并将其重新创建为扩展分区。请注意,如果第三个操作系统是 Linux 或类似操作系统,则它不需要位于主分区中。Grub 可以从逻辑分区启动它。

答案3

在我看来你需要做的只是:

  • 从未分配的空间创建新的分区
  • 在那里安装新的操作系统
  • 可选。如果第三个操作系统是 Windows,则修复 GRUB 和 MBR,它很可能会将其自身放入启动选项中以覆盖 MBR。

相关内容