使用 Linux 将 Win7 分区移动到其他磁盘:如何让 Win7 再次启动?

使用 Linux 将 Win7 分区移动到其他磁盘:如何让 Win7 再次启动?

我最近买了一台预装了 Win7 的新笔记本。我不是 Windows 用户(这里都是 Linux 用户),但我决定保留它以防万一。问题是笔记本附带一个 5400rpm 磁盘,而我有一个新的 7200rpm 磁盘,所以我决定将 Win7 分区移动到 7200rpm 磁盘。我使用 Linux ntfsclone 将原始分区克隆到新磁盘,并且我能够完美地使用 Linux 安装克隆的分区。

问题是新分区似乎无法启动。我按以下方式向 GRUB2 添加了 Win7 配置选项:

menuentry "Microsoft Windows 7 BIOS-MBR" {
    insmod part_msdos
    insmod ntfs
    insmod search_fs_uuid
    insmod ntldr     
    search --fs-uuid --no-floppy --set=root C6E6F7B2E6F7A0BB
    ntldr (${root})/bootmgr
}

我的分区:

[root@gamma ~]# fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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
Disk identifier: 0x85682941

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   168834035    84416986+   7  HPFS/NTFS/exFAT
/dev/sda2       168834036   295795730    63480847+   f  W95 Ext'd (LBA)
/dev/sda3       295804845   442590749    73392952+   b  W95 FAT32
/dev/sda4       442590750   625137344    91273297+   7  HPFS/NTFS/exFAT
/dev/sda5       168834099   207904115    19535008+  83  Linux
/dev/sda6       207904179   217671635     4883728+  82  Linux swap / Solaris
/dev/sda7       217671699   295795730    39062016   83  Linux

看来 Win7 的启动项已损坏,我只能将它们恢复原状。我实际上尝试了一些建议的命令这里,但目前还没有成功。任何形式的帮助都非常感谢。

答案1

您是否尝试过使用 bootrec.exe 相关命令重建 MBR?也许这不是与 MBR 相关的问题,但值得一试。这可能会有所帮助: 如何在 Windows 恢复环境中使用 Bootrec.exe 工具

相关内容