如何将 Windows 7 启动文件 (bootmgr,...) 移动到其他驱动器?

如何将 Windows 7 启动文件 (bootmgr,...) 移动到其他驱动器?

我想要双启动设置。因此,我首先在一个硬盘驱动器的第一个分区(我们称之为 HDD1)上安装了 Windows 7,然后在 HDD1 的第二个分区上安装了 Ubuntu 9.10。不幸的是,这没有奏效(它绕过了 GRUB2 并直接进入了 Windows)。我决定重新安装 Ubuntu,这时我注意到(出于某种原因)Windows 决定将其启动文件放在另一个硬盘驱动器(我们称之为 HDD3)上。

我想修复这个问题 - 我想将启动文件从 HDD3 移到 HDD1。这可能有助于修复我的双启动问题,但即使没有,根据我的经验,它也会省去很多麻烦。我该怎么做?我认为这并不像复制文件那么简单,但我希望证明我错了 :)

答案1

通过谷歌搜索,我找到了以下解决方案(我使用 HDD1 和 HDD3 来表示我关心的两个硬盘,如上文我的问题中所述):

  1. 启动文件由一个名为引导以及一个名为的应用程序引导管理器。它们是系统文件,因此通常是隐藏的。您必须使它们可见。
  2. 将它们都从 HDD3 复制到 HDD1。它会抱怨两个文件无法复制浮力调节装置BCD日志,两者都在引导文件夹。后者不重要(它只是一个日志文件),可以忽略;前者将在下一步中复制。
  3. 使用管理员权限打开命令提示符。输入以下命令:bcdedit /export HDD1:\Boot\BCD,其中 HDD1 是目标驱动器的驱动器号。在我的情况下,HDD1 是C,因此命令是bcdedit /export C:\Boot\BCD
  4. 现在,你必须编辑浮力调节装置文件,以便所有条目都正确。我使用了bcd 编辑Windows 7 自带的程序,但还有其他程序。我听说易BCD非常好(而且免费),但最新版本不完全支持 Windows 7。我相信支持 Windows 7 的新版本很快就会推出。首先,我导航到HDD1\启动在命令提示符下(具有管理员权限)并输入bcdedit /store BCD /enum ALL。我使用/store开关来指定浮力调节装置当前目录中的文件 - 省略此开关将使用默认开关,我认为该开关位于 HDD3 上。此命令列出了浮力调节装置文件。
  5. 我扫描了条目,结果发现{bootmgr}和的条目{memdiag}都指向 HDD3。当然,我希望它们指向 HDD1。因此我发出以下形式的命令:bcdedit /store BCD /set [entry_name] device partition=HDD1:。由于 HDD1 是C在我的计算机上,我会输入以下内容来设置{bootmgr}条目:bcdedit /store BCD /set {bootmgr} device partition=C:

就是这样。最后一步是通过Disk Management(从计算机管理访问)使 HDD1 处于活动状态 - 它在我的系统上已经处于活动状态,所以我不需要做任何事情。

现在,至于奇怪的双启动问题,原来我忘记了自己已经物理切换了硬盘驱动器的顺序。因此,BIOS 启动顺序不正确(它试图从硬盘3首先,而不是 HDD1)。是的,这是我犯的一个非常愚蠢的错误 :)

答案2

最简单的方法就是下载并安装免费的 EasyBCD:http://neosmart.net/dl.php?id=1

在 EasyBCD 的“BCD 备份/修复”页面上,有一个名为“更改启动驱动器”的选项,它会显示所有本地磁盘的列表。您只需选择所需的磁盘,EasyBCD 就会为您自动完成整个过程,包括使所选分区处于活动状态并可启动、导入旧的引导加载程序内容以及写入 MBR。

(披露:我是 EasyBCD 的作者)

相关内容