获取启动分区以识别第二个操作系统

获取启动分区以识别第二个操作系统

我将系统映像(包含操作系统)从一台计算机(“src”)“恢复”到另一台计算机(“dest”)的一个分区,该计算机的一个分区上已经安装了操作系统。

(而不是从头开始安装所有应用程序。并打算将产品 ID 更改为其他产品 ID。)

我如何让启动分区(“目标”上的第三个分区)识别新的操作系统并让我选择要启动哪一个?

更多信息:

系统映像确实包含“src”启动分区的映像,但我没有“恢复”它,因此它不会导致整个计算机崩溃(因为它“不知道”dest 上的第一个操作系统)。

所有操作系统都是Windows 7。

答案1

您必须修改系统分区中的“BCD”,即“启动配置数据库”(它被称为“系统”,而不是“启动” - “启动”分区是操作系统所在的分区;磁盘管理器将确认这一点)。您没有将系统分区“恢复”到“目标”是正确的。

您可以使用 Windows 附带的命令行工具进行必要的更改bcdedit。它必须以管理员身份运行,并且不会提示 UAC 提升,因此运行它有点复杂:

  1. 在“dest”上启动并登录到您的旧操作系统。

  2. 打开管理员模式的命令提示符。命令提示符位于 Windows 系统下的“开始”菜单中;导航到该快捷方式,右键单击它,然后单击“以管理员身份运行”。

  3. 在出现的命令提示符窗口中,输入以下命令。

    bcdedit /copy {default} /d "Second OS"

引号中的部分可以是任何您喜欢的内容 - 这将标识启动选择菜单中的选项。

您将收到如下回复:

The entry was successfully copied to {b848b9c2-204a-11e2-a72b-b053348c13b0}.

括号中的字符串是 GUID,即新 BCD 条目的唯一标识符。你必须将其复制到下一个命令(您不能使用这里的一个)。

  1. 接下来的两个命令是:

bcdedit {b848b9c2-204a-11e2-a72b-b053348c13b0} /set osdevice partition=d:

bcdedit {b848b9c2-204a-11e2-a72b-b053348c13b0} /set device partition=d:

请记住,不要简单地复制上述内容!您需要将 GUID 更改为从 /copy 命令的输出中获得的 GUID。(命令提示符允许复制粘贴。)

实际上你可以用一个命令来完成这个任务:

bcdedit {b848b9c2-204a-11e2-a72b-b053348c13b0} /set osdevice partition=d: device partition=d: 

但通过将其显示为两个命令,我避免了在这里换行。:)

要使用的驱动器号是分区的驱动器号正如 Windows 启动管理器所见,它不一定与您在目标上的现有操作系统下看到的相同。但可能是相同的。但是,当您启动该操作系统时,它可能会显示为 C:。这通常是一件好事。

然后,您可以使用msconfig(从“运行”提示符或任何命令提示符运行)轻松更改标识文本,将新条目设为默认条目,并进行其他细微更改。一旦第二个分区启动,您就可以使用任一操作系统中的 bcdedit 或 msconfig 对 BCD 进行更改。

动词。树液。:如果您经常使用管理员模式的命令提示符,则可以将命令提示符固定到任务栏,使其更容易访问。然后,要以管理员身份运行它:右键单击它,右键单击子菜单中出现的“命令提示符”,然后选择以管理员身份运行。只需点击三次,而不是五次。

而且,如果你经常使用bcdedit,你可能会研究一下名为 EasyBCD 的图形工具(参见http://neosmart.net/EasyBCD/)。有免费版和商业版。一个优点是它“知道”正确的驱动器号应该是什么。(除了作为免费版的满意用户外,没有关系。)

答案2

Jamie 的回答是正确的;但我的语法略有不同
代替

bcdedit {b848b9c2-204a-11e2-a72b-b053348c13b0} /设置 osdevice 分区=d:
bcdedit {b848b9c2-204a-11e2-a72b-b053348c13b0} /设置设备分区=d:

我必须放置/放像这样在钥匙前面……

bcdedit /set {b848b9c2-204a-11e2-a72b-b053348c13b0} osdevice 分区=D:
bcdedit /set {b848b9c2-204a-11e2-a72b-b053348c13b0} 设备分区=D:

相关内容