如何将双系统(Windows 10与Ubuntu 22.04)从两个独立NVMe SSD克隆至单块更大的NVMe SSD
如何将双系统(Windows 10与Ubuntu 22.04)从两个独立NVMe SSD克隆至单块更大的NVMe SSD
嗨,看起来你已经完成了关键的第一步——把Windows克隆到新盘,接下来把Ubuntu迁移到新盘的ext4分区其实有几种很靠谱的方案,我来给你一步步拆解:
方案一:用Clonezilla直接「分区到分区」克隆(最直观)
你之前考虑的先做镜像再恢复其实可行,但直接分区到分区克隆会更高效,省去镜像文件的存储和恢复步骤:
- 准备好Clonezilla启动U盘,从它启动进入操作界面
- 选择device-device模式(直接在设备间克隆),接着选择「expert mode」(可选,能更精细控制克隆参数)
- 找到原Ubuntu所在的NVMe盘(比如
/dev/nvme1n1,对应你的第二块SSD),选中Ubuntu的系统分区(如果是整盘装的Ubuntu,通常是/dev/nvme1n1p1根分区;如果有单独的swap分区,要么一起克隆,要么之后在新盘重新创建swap) - 选择新盘上你提前建好的ext4分区作为目标(比如
/dev/nvme0n1p3,假设新盘是/dev/nvme0n1,Windows占了前两个分区) - 确认克隆参数后开始克隆即可
注意:克隆前一定要备份好两个系统里的重要数据,避免意外;另外克隆完成后必须修复GRUB引导,否则系统可能无法正常启动。
方案二:用rsync手动同步(适合喜欢命令行的用户)
如果不想用Clonezilla,用rsync手动同步系统文件也是个稳定的选择:
- 制作Ubuntu Live启动盘,从它启动(不要用原Ubuntu系统,避免系统文件被占用)
- 挂载新盘上的ext4分区到临时目录,比如:
sudo mount /dev/nvme0n1p3 /mnt/newubuntu - 先挂载原Ubuntu的根分区到临时目录(比如
/mnt/oldubuntu),然后执行同步命令,把原系统文件同步到新分区:sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/oldubuntu /mnt/newubuntu - 同步完成后,更新新系统的
fstab:用blkid查看新ext4分区的UUID,然后编辑/mnt/newubuntu/etc/fstab,把旧分区的UUID替换成新的
关键步骤:修复GRUB引导(两种方案都要做)
不管用哪种方法克隆Ubuntu,克隆后引导记录还是指向旧盘,必须修复才能让双系统正常启动:
- 继续用Ubuntu Live启动盘启动
- 挂载新的Ubuntu分区:
sudo mount /dev/nvme0n1p3 /mnt - 挂载EFI分区(你的双系统大概率是UEFI模式,共享Windows的EFI分区即可):
sudo mount /dev/nvme0n1p1 /mnt/boot/efi(这里/dev/nvme0n1p1是新盘的EFI分区) - 绑定必要的系统目录:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - 进入新系统的chroot环境:
sudo chroot /mnt - 更新GRUB配置(会自动检测新盘上的Windows系统):
update-grub - 把GRUB安装到新盘的引导区:
grub-install /dev/nvme0n1 - 退出chroot:
exit,然后重启电脑,在BIOS里把新NVMe盘设为第一启动项
对你疑问的补充
你提到的「先在新盘ext4分区创建镜像再恢复」的方法是可行的,但相当于多了一步镜像存储的过程。如果你担心直接克隆出错,这个方法可以作为备选——先把Ubuntu做成镜像存在新盘的ext4分区,再从镜像恢复到该分区,后续的GRUB修复步骤和上面一致。
最后再提醒几个细节:
- 克隆前一定要关闭Windows的「快速启动」和「休眠」功能,避免Windows文件系统处于不一致状态
- 确认新盘的分区表是GPT格式(和原Windows系统一致,否则可能无法启动)
- 重启后如果遇到引导问题,可以再次用Ubuntu Live启动盘进入,重新执行GRUB修复步骤
备注:内容来源于stack exchange,提问作者medskillz
相关产品推荐
相关产品推荐

