我买了预装 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本指南。
从 Linux 实时启动启动
确定主分区的分区号。
sudo fdisk -l
,sudo blkid
或者GParted
可以在这里为您提供帮助。确保您的系统使用正确的分区号!挂载你的分区:
sudo mount /dev/sdaX /mnt
如果您有单独的 /boot、/var 或 /usr 分区,请重复步骤 2 和 3 将这些分区分别挂载到 /mnt/boot、/mnt/var 和 /mnt/usr。
绑定挂载一些其他必要的东西:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
chroot 进入您的安装:
sudo chroot /mnt
此时,您处于安装状态,而不是实时会话,并且以 root 身份运行。更新grub:
update-grub
根据您的情况,您可能需要重新安装 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。
结论
在采取任何行动之前,请参考我包含的所有帖子和链接。如果这篇文章有任何错误信息,我非常感谢纠正。祝你好运!