如何复制当前的 Ubuntu 分区并将其复制到另一个分区,然后从该分区启动 Ubuntu?

如何复制当前的 Ubuntu 分区并将其复制到另一个分区,然后从该分区启动 Ubuntu?

原因是我想要增加我的 Ubuntu 分区大小,但由于“不能有重叠分区”之类的错误而无法这样做,所以现在我想复制整个分区的内容并将其粘贴到另一个 ext4 分区中。

我只是想知道如何指示 grub 从该特定分区启动(如果需要)?

以下是屏幕截图:
截屏

答案1

我已经多次这样做了,但有一些棘手的手动步骤。如果您是 Linux 新手,这种方法可能会令人望而生畏(抱歉):

我假设您之前删除了 sda1 分区,这就是为什么在磁盘开头有未分配的空间,高级过程是:

  • 重新创建 sda1 分区
  • 将新的 sda1 分区格式化为 ext4
  • 我建议您将新分区标记为:
    • e2标签 /dev/sda1 ssdroot1
  • 挂载新的 sda1 分区
  • 将当前系统复制到新的 sda1
    • 为此,我使用了一个技巧来复制正在运行的系统:

假设你的新 sda1 安装在 /mnt/sda1/:

 mkdir /bind
 mount -o bind / /bind
 cd /bind
 cp -a . /mnt/sda1/
 cd
 umount /bind
  • 最后,您需要编辑 /mnt/sda1/etc/fstab 以使新的 sda1 成为 /(根)分区。
    • 将新的 UUID 替换 sda5 UUID

您可以通过执行以下操作来查看 UUID 和标签:

blkid | grep sda

重新启动之前,请记下 sda1 标签或 UUID。

首次启动到 sda1 时,您需要通过编辑启动参数在 grub 提示符下手动覆盖根目录。这些编辑只影响本次启动,不会保存到磁盘。

Press 'e' to edit
find the linux line with root=UUID=....
change it to the new UUID, or remove the root=UUID=... and put in root=LABEL=ssdroot1
(assuming you labeled your new sda1 partition)

按 F10 继续启动,如果幸运的话,您将启动到 sda1 的 Linux 副本。

检查你是否确实处于新的 Linux 中:

df
cat /proc/mounts

进入新的 Linux 副本后,我建议您运行:

update-grub

请注意,主引导记录仍将引用您的旧 sda5 Linux。

如果要使这些更改永久生效,以便可以删除 sda5,则必须通过从 sda1 Linux 运行以下命令来更新 MBR 以引用 sda1 Linux:

grub-install /dev/sda

祝你好运!- 格雷格

答案2

我想提供另一种选择。我知道您在标题中说您想复制当前的 Linux 分区并从中启动,我在另一个答案中提到了这一点,但是,如果您真正想做的只是更好地利用 SSD 驱动器,您还有其他选择。

您仍然需要重新创建和格式化 sda1 分区,但是,您可以将新的 sda1 分区挂载为 /data(例如),然后访问额外的存储。

这比我的第一个答案要简单得多,也不太复杂,但是你的 Linux 系统不会被复制。它将保留为 sda5

  • 格雷格

相关内容