以编程方式选择启动OS?

时间:2009-05-08 07:40:46

标签: windows boot

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

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

BCDEdit还为其条目使用GUID,这意味着在不同的计算机上设置将意味着确定下一个要进入的GUID。

有任何想法或提示吗?是否有任何实用程序可以帮助实现自动化?

1 个答案:

答案 0 :(得分:1)

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

每个Windows分区都需要安装Ext2 IFS driver,然后将之前创建的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来获取它。