我的分区是这样的。我承认,它们的创建方式很蹩脚:)
我的主要目标是能够为第三个操作系统创建另一个主分区,但为此我需要做一些事情,因为我不明智地创建了/home
主分区。
最有可能的是,我将删除并重新创建交换和 Windows 分区(重新安装 Windows)。
因此,对我来说,实现此目的的唯一方法是以某种方式将分区更改为逻辑分区。除了重新安装 Linux并丢失 `sda2 上的数据sda2
外,我什么都不介意做。sda1
我有什么选择?例如,是否可以删除所有内容,sda1
然后sda2
以某种方式克隆sda2
到新创建的扩展分区的新逻辑分区?
答案1
您可以使用我的FixParts 程序。许多 Linux 发行版在gdisk
或gptfdisk
包中提供它;命令名称是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。