1.使用Clonezilla

1.使用Clonezilla

我买了预装 Win 10 的新电脑。我在新分区(同一磁盘)上安装了 Debian,一切顺利。但现在我添加了新磁盘,我想将 Debian 移至该磁盘。

有简单的方法吗?

我尝试使用dd将Linux分区复制到新磁盘,但我不知道如何更新grub,因为update-grub没有将带有Debian分区的新分区添加到其菜单中。

这是fdisk -l输出:

Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0F8FCBCA-F7B2-429C-B02B-4A420C815CB7

Device             Start       End   Sectors   Size Type
/dev/nvme0n1p1      2048    739327    737280   360M EFI System
/dev/nvme0n1p2    739328   1001471    262144   128M Microsoft reserved
---------Win 10 partition-----------
/dev/nvme0n1p3   1001472 405315583 404314112 192.8G Microsoft basic data
---------Old Debian partition-----------
/dev/nvme0n1p4 405315584 484538367  79222784  37.8G Linux filesystem
/dev/nvme0n1p5 484538368 500117503  15579136   7.4G Linux swap


Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 77489E99-4F1D-4E2A-A984-6BE441B8A849

Device        Start       End   Sectors   Size Type
/dev/sda1      2048  15626239  15624192   7.5G Linux swap
---------New Debian partition-----------
/dev/sda2  15626240 488397134 472770895 225.4G Linux filesystem

/dev/nvme0n1是带有 Win10 和 Debian 的旧光盘,我现在使用的 /dev/sda是新光盘,我想将当前的 Debian 迁移到新光盘

现在,我可以安全地启动到旧的 Debian。关于如何将其迁移到 /dev/sda 有什么建议吗?如果需要,我可以格式化或更改新磁盘的结构。

答案1

#您可以按照以下方式更新grub本指南

  1. 从 Linux 实时启动启动

  2. 确定主分区的分区号。sudo fdisk -lsudo blkid或者GParted可以在这里为您提供帮助。确保您的系统使用正确的分区号!

  3. 挂载你的分区:

     sudo mount /dev/sdaX /mnt
    

如果您有单独的 /boot、/var 或 /usr 分区,请重复步骤 2 和 3 将这些分区分别挂载到 /mnt/boot、/mnt/var 和 /mnt/usr。

  1. 绑定挂载一些其他必要的东西:

     for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  2. chroot 进入您的安装:

     sudo chroot /mnt
    
  3. 此时,您处于安装状态,而不是实时会话,并且以 root 身份运行。更新grub:

     update-grub
    
  4. 根据您的情况,您可能需要重新安装 grub:

      grub-install /dev/sdX
      update-grub
    

如果 Ubuntu 以 EFI 模式安装,并且 EFI 分区 UUID 已更改,您可能需要在 /etc/fstab 中更新它。比较一下:

blkid | grep -i efi
grep -i efi /etc/fstab

如果一切正常,没有错误,那么您就可以退出并重新启动。

但是,如果您想了解有关如何将当前操作系统移动到新驱动器的更多信息,可以通过几种不同的方法来完成此任务。我将参考这个帖子因为它与你的问题非常相关。

1.使用Clonezilla

您可以创建一个实时启动克隆属克隆或创建 Linux 安装的映像,然后将其迁移到新磁盘。 Clonezilla 网站有文档关于如何将映像恢复到更大的磁盘。请确保您阅读了他们的常见问题/问答第一的。那么你需要安装grub到您的新驱动器。

2.使用Rsync

使用此选项,您不必创建实时启动。您可以启动到原始 Debian 安装并运行 rsync 将当前安装备份到新磁盘。之后,您将必须调整分区大小以填充剩余的未分配磁盘空间。不过,此步骤最好使用实时启动来完成。

在大多数情况下应该有效的 rsync 命令是这样的:

sudo rsync -a / [/Path/to/Mounted/New/Disk] --exclude /sys --exclude /proc --exclude /dev --exclude /tmp --exclude /media --exclude /mnt --exclude /run

完成后,您将需要mkdir sys proc dev tmp media mnt run在新的根目录中运行以重新创建丢失的元素。您不想将它们包含在 rsync 命令中,因为它们中至少有一个将包含新磁盘的文件系统和挂载点,从而在您在此过程中备份备份时导致一些问题。请参考rsync 文档在完成任务之前了解有关该过程的更多信息。再次完成后,您将必须在新驱动器上更新 grub。

结论

在采取任何行动之前,请参考我包含的所有帖子和链接。如果这篇文章有任何错误信息,我非常感谢纠正。祝你好运!

相关内容