Vista 64x Enterprise 修复启动管理器

Vista 64x Enterprise 修复启动管理器

我的电脑上有两个版本的 Vista,我删除了一个,现在我无法再启动另一个 Vista 64x Enterprise。

bootsect.exe我已尝试使用 bcd 指令来修复引导加载程序,但是由于缺少它,我无法使其工作。

有人知道我该如何修复我的启动管理器吗?

我的 Vista 分区不是主分区,这有关系吗?

如果确实如此,有什么方法可以在不格式化的情况下更改它吗?

答案1

您是否有单独的启动分区和系统分区?

bootmgr 和包含 BCD 的启动文件夹需要位于活动分区上;无论它是什么。只有主分区可以处于活动状态,并且您最多可以有 4 个主分区。

编辑:
看起来您必须将 bootmgr 和 BCD 放在恢复分区上并将其标记为活动。如果您启动计算机附带的 Windows CD,则在启动完成后,您可以按 Ctrl+F8,然后您将获得命令提示符。

从那里打开diskpart并运行list vol,记下当前处于活动状态的卷号以及恢复分区的编号。运行sel vol #(其中 # 是您为恢复卷记下的编号)。act然后运行exit​​。

现在应该能够bootrec /fixboot继续运行bootrec /rebuildbcd,然后就可以走了。

如果出现严重问题(不太可能),您必须找一个可以深入研究该问题的人,一定要告诉他们这些变化以及您从上面记录的信息。

编辑2:(哎呀)
再次在 Windows 设置中打开命令提示符,运行cp X:\bootmgr $:其中“$”是恢复驱动器号(如果您忘记了,磁盘部分会再次告诉您;但它可能是“C”)。

答案2

您得到的确切错误是什么?如果是 BCD 问题,我预计您会看到非常不友好的 BSOD。确切的信息可能会有所帮助。此外,如果您可以从 Windows 安装磁盘启动(如 @Chris S 所述),您可以复制并粘贴日志(如果您可以进入命令提示符,我真的忘了怎么做,因为我们使用的是 WinPE,它无论如何都在同一个基础上运行;如果您有安装程序磁盘,我相信 WAIK,您可以自己制作)。只需找出损坏分区的路径(恢复/PE 环境通常可以智能地进行自动映射,因此我假设它将是 C:,而启动 CD 的实际“分区”默认情况下将是 X: 上的 ramdisk)。从命令提示符执行此操作,然后将输出的文本文件发布在此处:

bcdedit /store "%DRIVE%\boot\bcd"> “%USBDRIVE%\bcdoutput.log”

我很肯定它会是 C:,所以像这样(并确保 USB 驱动器正确):

bcdedit /store "C:\boot\bcd"> “F:\exampledrive-so-check-bcdoutput.log”

如果您不这样做/store,它只会为您提供 CD 的启动信息,因此这毫无用处。请确保您使用它。如果您在此处发布该信息,我可能会更好地了解如何帮助您。这种情况在我的实验室中经常发生,很抱歉这对您造成了不利影响。

@Chris S 有一个非常可靠的答案,这将是我的第一直觉。

答案3

好的。我本来想把这个写成评论,但写到一半就太长了。在继续之前,如果我不说这些显而易见的话,那我在道德上就是失职的:首先备份你的文件。当我这样做时,它有效,但我也在实验室机器上这样做,没有丢失任何后续数据。我现在已经警告过你了,除非完全绝望,否则请不要让你的情况变得更糟。

所以,Chris S 很好地解释了启动部分。我们使用的实用程序控制得更细粒度(因此可以帮您搞砸系统)bootsect。据我所知,它包含在 Vista 和 7 的安装盘中。我可能错了,但您很快就会发现。所以,这就是它的工作原理。

  1. 你确实需要了解计算机中的驱动器:有多少个?两个操作系统是否都安装在不同的分区上?同一磁盘不同的磁盘? 这可能解释了部分问题。我假设您至少在不同的分区上安装了系统,也许是不同的磁盘,并且所有启动配置数据都存储在您删除的分区上,无论是否在同一磁盘上。底线:您需要知道要恢复的分区的驱动器号,据我所知,并且能够确认它。您应该能够通过在explorer该提示符中键入来打开资源管理器窗口(我认为)。如果没有,请mountvol在命令提示符下检查以查看每个磁盘的列表和分配的字母。因此,如果资源管理器不起作用,您可以使用命令提示符中的命令浏览目录dir。如果您不明白我的意思,请询问。

  2. 找到正确的驱动器后,请dir /ash %DRIVEHERE%\(我再次猜测,dir C:\除非您的系统很奇怪)查找必要的隐藏系统目录和引导加载程序本身。如果它正常运行,您应该会看到类似这样的内容。

2009 年 12 月 22 日下午 7:06 启动

2009 年 7 月 13 日 晚上 9:38 383,562 bootmgr

如果不存在这些,你应该再检查一下dir C:\Boot,并dir C:\bootmgr确保部分退货是文件未找到。最有可能的是你缺少了这两者,而 Chris 提到的并没有让它们达到它们需要的位置,也许只是配置错误。如果他们存在,我会复制它们或重命名它们(move C:\bootmgr bootmgr.arc只是move C:\Boot Boot.arc为了安全)。

  1. 如果你已经做到了这一点,那么乐趣就从这里开始了。从安装盘复制所有启动目录。

    REM # 再次,C:可能不正确,这取决于您在上面发现的内容。X:肯定是正确的。

    xcopy /y /e /h X:\bootmgr C:\

    xcopy /y /i /e /h X:\Boot*.* C:\Boot

  2. 更新引导扇区代码。

    REM # 在显示新位置中的所有文件之后,执行以下操作。

    REM # 下面的命令将强制重置磁盘本身的引导代码。MAKE

    REM#确保您获得了正确的驱动器!

    bootsect /nt60 C:/force

  3. 重新配置 BCD 存储,注意驱动器号。

    REM # 您现在可能必须重置 BCD 存储。同样,这很有趣,但如果您不对写入分区执行此操作,则只会很糟糕。这里是

    bcdedit /store C:\boot\bcd /set {memdiag} 设备分区=C:

    bcdedit /store c:\boot\bcd /set {ntldr} 设备分区=C:

    bcdedit /store c:\boot\bcd /set {default} 设备分区=C:

    bcdedit /store c:\boot\bcd /set {默认} osdevice 分区 = C:

    bcdedit /store c:\boot\bcd /set {bootmgr} osdevice 分区=C:

    bcdedit /store c:\boot\bcd /set {bootmgr} 设备分区=C:

  4. 重启。

    REM #这将重新启动安装程序环境

    wpeutil 重新启动

现在我知道有一种 Windows 恢复盘,它使用经过修改的映像,就像安装盘一样,可以自动完成这些操作,但我相信只有拥有某些 CAL 安排的企业客户才能使用它。它被称为 WinRE。现在,话虽如此,我不确定它是否只是我提议的 GUI,还是 Chris S 提议的 GUI。我希望这能有所帮助。我从开始使用 Vista 时摆弄大量损坏的 Windows 计算机中学到这一点。YMMV,但我希望这会引导您朝着正确的方向前进。

相关内容