将 Linux 和 Windows 从两个独立磁盘克隆到单个 SSD

将 Linux 和 Windows 从两个独立磁盘克隆到单个 SSD

背景故事概述:将 OpenSUSE 从/dev/sda2克隆到/dev/sdc1,将 Windows 7 从/dev/sdb1克隆到/dev/sdc2;格式化/dev/sda2/dev/sdb1;重新配置 GRUB2 并将其安装在 上/dev/sdc;OpenSUSE 加载,Windows 7 却不能。

背景故事(长):几天前,我将两个系统从不同的驱动器克隆到单个 SSD。假设 上有 OpenSUSE/dev/sda2和 Windows 7 /dev/sdb1,双启动,并在/dev/sda的 MBR 中安装了 GRUB2。

克隆本身是通过 Clonezilla 的部分到部分方法完成的,SUSE 转到新创建的/dev/sdc1,W7 转到/dev/sdc2。GRUB2 从 Mint liveusb 更新(简而言之,chroot使用 liveusb 的根目录进入克隆系统的已安装根目录,/sys /dev /proc然后/run从 liveusb 的根mount --bind目录进入克隆的根目录)。

第一个问题(已解决):grub2-mkconfig找到系统(两个 SUSE 和两个 W7),自行更新,并在 /dev/sdc 上安装了 grub2。但是,无论我从哪个硬盘启动并选择哪个选项,OpenSUSE 都只能从旧驱动器加载(对旧 IDE 驱动器进行特定破解并有足够的加载时间)。在 Windows 中,旧驱动器上的那个启动正常(尽管这有点违背了迁移的目的),第二个根本无法启动(黑屏上闪烁的光标)。

经过一些测试,我发现当/dev/sda物理拔出时,grub 可以从 SSD 中加载 OpenSUSE。接下来,我灵机一动,格式化了/dev/sda2OpenSUSE 曾经所在的旧分区。以及/dev/sdb1W7 曾经所在的分区(无论出于什么原因)。

结果:OpenSUSE 可以正常加载。W7 则不行。

恢复 Windows 时出现的问题:

  1. Windows 修复盘(从 Microsoft 网站下载)无法识别 SSD 上的克隆 Windows。我认为 Windows 7 恢复盘通常不太适合 SSD。
  2. Windows 不允许我将它安装在第二个分区上(从技术上讲,不是第一个分区上)。

问题: 我假设旧的 Windows 分区上有某种 PBR(分区引导记录)(如果我理解正确的话,这就是 GRUB2 链式加载的内容)。为什么 clonezilla 没有将它与分区的其余部分一起复制?如果是,为什么它现在无法启动,即使 GRUB 在其 cfg 中有这个分区?

如果它不是 PBR 而是 MBR,那么是否可以以某种方式复制和调整它以让第二个分区上的 Windows 启动?

有没有什么办法可以让 W7 安装从 SSD 上的第二个分区启动?

相关内容