我将系统映像(包含操作系统)从一台计算机(“src”)“恢复”到另一台计算机(“dest”)的一个分区,该计算机的一个分区上已经安装了操作系统。
(而不是从头开始安装所有应用程序。并打算将产品 ID 更改为其他产品 ID。)
我如何让启动分区(“目标”上的第三个分区)识别新的操作系统并让我选择要启动哪一个?
更多信息:
系统映像确实包含“src”启动分区的映像,但我没有“恢复”它,因此它不会导致整个计算机崩溃(因为它“不知道”dest 上的第一个操作系统)。
所有操作系统都是Windows 7。
答案1
您必须修改系统分区中的“BCD”,即“启动配置数据库”(它被称为“系统”,而不是“启动” - “启动”分区是操作系统所在的分区;磁盘管理器将确认这一点)。您没有将系统分区“恢复”到“目标”是正确的。
您可以使用 Windows 附带的命令行工具进行必要的更改bcdedit
。它必须以管理员身份运行,并且不会提示 UAC 提升,因此运行它有点复杂:
在“dest”上启动并登录到您的旧操作系统。
打开管理员模式的命令提示符。命令提示符位于 Windows 系统下的“开始”菜单中;导航到该快捷方式,右键单击它,然后单击“以管理员身份运行”。
在出现的命令提示符窗口中,输入以下命令。
bcdedit /copy {default} /d "Second OS"
引号中的部分可以是任何您喜欢的内容 - 这将标识启动选择菜单中的选项。
您将收到如下回复:
The entry was successfully copied to {b848b9c2-204a-11e2-a72b-b053348c13b0}.
括号中的字符串是 GUID,即新 BCD 条目的唯一标识符。你必须将其复制到下一个命令(您不能使用这里的一个)。
- 接下来的两个命令是:
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: