使用安装了 Windows 7 的硬盘启动 Windows 8?

使用安装了 Windows 7 的硬盘启动 Windows 8?

我最近升级了我的计算机,并在 SSD 上安装了 Windows 8。现在我有安装了 Windows 7 的旧启动硬盘,我想将其连接到我的新计算机,以便将其用作数据存储,而不是启动硬盘。但是,每当我连接它时,Windows 8 都会尝试启动并尝试启动修复实用程序。如果我不连接旧硬盘,Windows 8 就可以正常启动。

Windows 7 HDD 有多个分区,并设置为与 Linux 双启动。它使用旧的 MBR 格式,并与带有常规 BIOS 的主板一起使用。新系统使用 GPT 表和 UEFI 主板。

Windows 7 HDD 不是主板中列出的启动盘,而是位于 SSD 后的 SATA 插槽中。

我怀疑检测磁盘是否可启动存在一些问题。

有什么方法可以让我维护分区表但又使其不可启动?

或者这可能完全是另一个问题?

更新

所以我尝试了很多方法让它正常工作。我相信问题与 Windows 启动管理器有关,无论出于什么原因,它都会在插入 Win7 HDD 时尝试从该硬盘启动。我在清除 Win7 上的 MBR 后才弄清楚,但它仍然尝试从该硬盘启动。

有趣的是,无论有没有 MBR,它都以同样的方式失败。可能是因为它正在寻找 GPT 分区并获得了 MBR?

因此,现在我已将范围缩小到 Windows 启动管理器(在 terdon 的帮助下),我能够提取以下启动信息:

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Windows\system32>bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume4
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {1b65e2bf-23e8-11e3-b714-d8efdcc6606f}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows 8
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {1b65e2c1-23e8-11e3-b714-d8efdcc6606f}
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {1b65e2bf-23e8-11e3-b714-d8efdcc6606f}
nx                      OptIn
bootmenupolicy          Standard
bootlog                 Yes
sos                     Yes

查看引导加载程序,它似乎正在寻找分区“C:”。当然,这与旧的 Win7 HDD 的驱动器号相同。所以也许它获取了错误的“C:”驱动器?那么我该如何改变它?我尝试通过硬盘管理器更改分区上的驱动器号,但没有效果。

好的一面是,我能够通过主板启用 SATA 端口上的热插拔功能,在 Win8 中启动驱动器。而且驱动器完全可读(分区表完好无损)。

答案1

从技术上来说,问题解决了!

通过将磁盘从 MBR 转换为 GPT我能够让系统在两个驱动器都插入的情况下启动。如前所述,我通过在主板上打开热插拔支持并在启动后插入 SATA 电缆来管理对 HDD(Win7)的访问。虽然我可以轻松地转到 MBR 机器,将其插入,将 BIOS 启动优先级设置为不包括 HDD,然后在另一台机器上处理它。

也就是说,一旦连接,我就将所有数据备份到另一个驱动器。然后我打开 Windows 8 磁盘管理工具删除了所有分区。我在这里遇到了一些麻烦,因为它拒绝删除一个逻辑分区,并显示错误“磁盘上没有足够的空间可以删除”(或类似的东西)。所以我打开了一个管理员命令行,并执行以下操作磁盘分区

diskpart
list disk
select disk 3      // The win7 HDD
detail disk        // Really make sure I'm on the right disk
list partition
select partition 0 // The only one left was the logical partition
delete partition

现在,删除了最后一个分区后,Windows 8 磁盘管理器将允许我右键单击该驱动器并点击“转换为 GPT”。

在转换为 GPT 的过程中,驱动器上的某些内容被删除,而 Windows 8 启动管理器认为这些内容是“可启动”标志。现在系统可以使用两个驱动器启动。

但是我确实必须删除我的数据。这是我试图避免的事情。事后看来,有很多方法可以进行转换而不会丢失任何数据。请参阅gdisk 方法。 要不就去谷歌上查询

相关内容