2012-07-25 30 views
1

我目前正在使用腳本來映像多臺實驗室機器,我負責Windows 7操作,但不幸的是,這些UEFI Dell機器以愚蠢的方式工作。在機器上,我使用戴爾設置實用程序創建了映像,在Windows的啓動菜單中有一個UEFI條目,它載入了/boot/Microsoft/bootx64.efi文件或一些類似的文件,當我對機器進行映像時,一切都很順利當我啓動它們時,我得到了很好的'沒有引導設備發現錯誤',並且當我進入戴爾設置實用程序時,沒有Windows條目。我可以手動添加一個指向此UEFI分區和啓動文件的條目,然後在引導時啓動罰款和奇怪地將另一個條目添加到指向典型名稱「Windows啓動管理器」或其他內容中的同一文件的NVRAM。我一直在試圖找到一些方法來添加此NVRAM條目,而無需手動進入戴爾設置,因爲我正在對大量機器進行成像,這會使該過程變得複雜。我最初嘗試在成像完成後,鏈接加載grub引導加載程序來檢測Windows安裝並啓動它,理論上它會將條目添加到NVRAM本身,並阻止我有兩個條目或必須自己與機器進行交互。我也一直無法找到有關在Linux端直接添加條目到NVRAM的任何信息,這些信息可以完成我通過Dell設置實用程序完成的相同操作。有人對此有經驗嗎?將Windows 7 UEFI條目寫入NVRAM

感謝

回答

2

啓動管理器的操作在UEFI Specification定義,第3章

如果你能寫一個UEFI應用程序和啓動到UEFI shell並運行你的應用程序,你可以使用Runtime用於設置變量的服務以創建BootOption並將該BootOption的編號添加到BootOrder。這是MS Bootloader在檢測到沒有爲Windows定義的BootOption時正在執行的操作,並且這是在引導到Windows後列表中有新條目的方式。

不知道您的平臺默認的啓動順序是什麼,但默認情況下可以使用UEFI shell引導至USB密鑰,因爲這是由於製造要求而導致的默認配置。

查看projects on tianocore on sourceforge可以更好地瞭解您要做什麼。