0

我正在设置一个测试平台,我正在测试跨多个 Windows 操作系统的设备连接。我无法在 VM 中执行此操作(无法虚拟化对设备的访问),因此我有一个多引导系统。我有一个脚本来自动化这个过程,但我希望它继续完成,选择下一个操作系统来启动并运行它的测试。

一个问题是 XP/2K3 使用 boot.ini 而 Vista 和更高版本使用 BCDEdit。我可以手动拥有两个脚本……每个 XP/2K3 一个来编辑 boot.ini。然后是用于 Vista 系统的 BCDEdit。不过,我讨厌必须对每一个都进行硬编码,尤其是如果我必须根据测试条件更改顺序和/或关闭某些操作系统。

BCDEdit 还使用 GUID 作为其条目,这意味着在不同的机器上进行设置意味着确定接下来要转到哪个 GUID。

有什么想法或提示吗?是否有任何实用程序可以帮助自动执行此操作?

4

1 回答 1

1

我假设您的各种风格的 Windows 位于不同的分区上。使用 Ubuntu LiveCD 安装 GRUB并编写多个配置文件,每个配置文件都选择一个操作系统作为默认值。为 /boot 创建一个 HD 分区,并将 GRUB 配置存储在同一位置。

您的每个 Windows 分区都需要安装Ext2 IFS 驱动程序,并将您之前创建的 EXT2 分区安装为 z: 或其他东西。然后您的测试脚本可以执行以下操作:

mountvol z: %bootvolname%
copy /y boot_to_vista_64.lst z:\boot\grub\menu.lst
shutdown -r -f -t 0 

%bootvolname%有点复杂,并且是特定于操作系统的。您需要将它与每个操作系统分区一起存储,并且您可以mountvol z: /l在该操作系统运行时通过这样做来获取它。

于 2010-07-13T22:09:39.783 回答