我有一台安装了 Windows 10 的 PC。目前的分区布局如下:
Drive Partition Size Description
==================================================================
HDD (sdb) 1000,0 GB MBR partitioned drive
C: 460,5 GB Windows (and some programs)
Recovery 0,7 GB
D: 460,5 GB Several programs
SSD (sdd) 500,0 GB (Unformated/unpartitioned SSD)
这就是我想要实现的目标:
Drive Partition Size Description
==================================================================
HDD (sdb) 1000,0 GB MBR partitioned drive (with a single partition)
D: 980,0 GB (former D: on HDD extended to full drive)
SSD (sdd) 500,0 GB MBR partitioned drive (with a single bootable partition)
C: 460,5 GB Windows (and some programs) (former C: on HDD)
我尝试使用(大致) 克隆C:
到 SSD ,但 Windows 仍然从 HDD 启动,而不是从 SSD 启动。ntfsclone
ntfsclone -O /dev/sdd1 /dev/sdb1
不幸的是,有些启动程序安装在 上D:
,而不是 上C:
。因此,我需要确保:
- C:落在 SSD 上(例如
ntfsclone -O /dev/sdd1 /dev/sdb1
), - Windows 从 SSD 启动(这里不知道,MB 启动管理器应该使用 SSD,但没有),并且
- Windows 正确识别 D:分区。
如何才能同时将主启动分区从 HDD 迁移到 SSD 以及将其他分区扩展到整个 HDD?
请注意,我不想进行完整的磁盘到磁盘克隆。如果这有任何不同,我手头有 grml 和 Clonezilla。
答案1
对于 Windows,GPT 磁盘始终通过 UEFI 启动,而 MBR 磁盘则通过 CSM/BIOS 启动。您有一个 MBR 磁盘,因此我假设您在 UEFI 中启用了 CSM,并且它用于启动 Windows。再加上缺少 EFI 系统分区 (ESP),这意味着您可以像以前的 BIOS 一样有效地启动。
这意味着要使驱动器能够自主启动 Windows,您必须:
- 在 UEFI 中设置正确的启动顺序。
- 将 Windows MBR 写入驱动器。
- 将正确的 VBR(又名引导扇区)写入系统分区。
- 确保
bootmgr
使用该驱动器的 BCD。 - 更新 BCD 中的条目。
可以使用 Windows 7 或更高版本的任何安装介质执行步骤 2-5。如果你没有,只需从 Microsoft 下载 Windows 10并制作可启动的闪存盘,可以使用他们提供的工具或鲁弗斯(确保选择 BIOS/CSM 启动模式)。
首先克隆您的分区。然后断开旧驱动器(当然,PC 必须关闭)。启动 Windows 安装媒体,然后按Shift+F10打开命令提示符。
- 要写入 MBR:
bootrec /fixmbr
- 要写入 VBR:
bootrec /fixboot
要重新创建 BCD:
C: (or whatever letter got assigned) cd boot attrib bcd -s -h -r rename bcd bcd.old bootrec /rebuildbcd
这应该足以使新驱动器能够自主启动。您可以重新连接旧驱动器,在 UEFI 中检查启动优先级并确保 SSD 可以启动。然后,您可以使用全新的克隆继续对旧驱动器进行分区。