專利名稱:用于將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像的設(shè)備和方法
技術(shù)領(lǐng)域:
本技術(shù)主題主要涉及虛擬磁盤映像、驅(qū)動(dòng)程序的注入或流傳輸,尤其涉及的是將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像的設(shè)備和方法。
背景技術(shù):
在一個(gè)方面中,操作系統(tǒng)流傳輸是一種從保存在網(wǎng)絡(luò)上的映像文件中弓I導(dǎo)計(jì)算機(jī)(或虛擬機(jī))的技術(shù)。實(shí)際的操作系統(tǒng)可以集中位于某個(gè)服務(wù)器上,并且可以根據(jù)需要而被流傳輸?shù)娇蛻魴C(jī)設(shè)備。在一個(gè)方面中,該映像文件有時(shí)可被稱為“虛擬磁盤”。通常,如果多個(gè)設(shè)備具有相同硬件特性,則可以將一個(gè)由特定設(shè)備創(chuàng)建的虛擬磁盤流傳輸?shù)竭@些設(shè)備。更具體地說,在這種典型情景中,主板、網(wǎng)絡(luò)適配器及視頻卡必須是相同的。如果能用單個(gè)虛擬磁盤引導(dǎo)多個(gè)設(shè)備,那么將會(huì)大幅簡化信息技術(shù)(IT)部門的維護(hù)工作和成本。例如,系統(tǒng)管理員只需對位于中心的公共虛擬磁盤應(yīng)用一次變化即可執(zhí)行Windows更新。從該虛擬磁盤引導(dǎo)的所有客戶機(jī)設(shè)備都會(huì)接收到這些變化。
發(fā)明內(nèi)容
在本公開的一個(gè)方面中,機(jī)器可讀存儲(chǔ)介質(zhì)可以用可被處理系統(tǒng)執(zhí)行的指令編碼,以便執(zhí)行一種用于提供將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像的處理的方法。在一個(gè)方面中,這種方法可以將目標(biāo)映像變換成與一個(gè)或多個(gè)源機(jī)器相兼容。并且在一個(gè)方面中,該方法可以促成經(jīng)由網(wǎng)絡(luò)的操作系統(tǒng)流傳輸。所述指令可以包括用于以下的一些或全部處理的代碼:促使訪問源機(jī)器的源系統(tǒng)注冊表文件;促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件;確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容;以及如果一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容,則執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理。所述目標(biāo)映像可以包括操作系統(tǒng)。用于執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理的操作可以包括以下的一些或全部處理:確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件;確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件配置;確定目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置;確定源網(wǎng)絡(luò)配置是否與目標(biāo)網(wǎng)絡(luò)配置相沖突;如果源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突,則通過調(diào)整源網(wǎng)絡(luò)配置來使源網(wǎng)絡(luò)配置不與目標(biāo)網(wǎng)絡(luò)配置相沖突;以及在目標(biāo)系統(tǒng)注冊表文件中注入一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置。用于執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理的操作還可以包括:促使將與源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件拷貝到目標(biāo)映像上。在本公開的另一個(gè)方面中,一種方法可以提供將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像的處理。在一個(gè)方面中,該方法可以將目標(biāo)映像變換成與一個(gè)或多個(gè)源機(jī)器相兼容。并且在一個(gè)方面中,該方法可以促成經(jīng)由網(wǎng)絡(luò)的操作系統(tǒng)流傳輸。該方法可以包括以下的一些或全部處理:促使訪問源機(jī)器的源系統(tǒng)注冊表文件;促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件;在不拷貝目標(biāo)映像的情況下,由源機(jī)器確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容;以及如果一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容,則由源機(jī)器執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理。所述目標(biāo)映像可以包括操作系統(tǒng)。用于執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理的操作可以包括以下的一些或全部處理:確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)組件;確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置;確定目標(biāo)映像的一個(gè)或多個(gè)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置;確定源網(wǎng)絡(luò)配置是否與目標(biāo)網(wǎng)絡(luò)配置相兼容;如果源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突,則通過調(diào)整源網(wǎng)絡(luò)配置來使源網(wǎng)絡(luò)配置不與目標(biāo)網(wǎng)絡(luò)配置相沖突;以及將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置注入目標(biāo)系統(tǒng)注冊表文件。在本公開的另一個(gè)方面中,一種設(shè)備可以包括以下的一些或全部:處理系統(tǒng);以及使用可以由處理系統(tǒng)運(yùn)行的指令編碼的機(jī)器可讀存儲(chǔ)介質(zhì)。所述指令可以包括用于以下的一些或全部處理的代碼:促使訪問源機(jī)器的源系統(tǒng)注冊表文件;在沒有拷貝目標(biāo)映像的情況下,促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件;確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容;以及如果一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容,則執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理。所述目標(biāo)映像可以包括操作系統(tǒng)。用于執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理的操作可以包括以下的一些或全部處理:確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件;確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置;確定目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置;確定源網(wǎng)絡(luò)配置是否與目標(biāo)網(wǎng)絡(luò)配置相沖突;如果源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突,則通過調(diào)節(jié)源網(wǎng)絡(luò)配置來使源網(wǎng)絡(luò)配置不與目標(biāo)網(wǎng)絡(luò)配置相沖突;以及將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置注入目標(biāo)系統(tǒng)注冊表文件。在一個(gè)方面中,以上指令可以由處理系統(tǒng)運(yùn)行,以便執(zhí)行一種用于提供將網(wǎng)絡(luò)驅(qū)動(dòng)程序從一個(gè)或多個(gè)源機(jī)器注入目標(biāo)映像的處理的方法。在一個(gè)方面中,該方法可以將目標(biāo)映像變換成與一個(gè)或多個(gè)源機(jī)器相兼容。在一個(gè)方面中,該方法可以促成經(jīng)由網(wǎng)絡(luò)的操作系統(tǒng)流傳輸。在本公開的另一個(gè)方面中,一種設(shè)備可以包括以下的一些或全部:用于促使訪問源機(jī)器的源系統(tǒng)注冊表文件的裝置;用于促使在沒有拷貝目標(biāo)映像的情況下訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件的裝置,其中所述目標(biāo)映像包括操作系統(tǒng);用于確定所述設(shè)備的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容的裝置;以及用于在一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容的情況下執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理的裝置。所述設(shè)備可以包括源系統(tǒng)注冊表文件。目標(biāo)映像可以包括操作系統(tǒng)。用于執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理的裝置可以包括以下的一些或全部:用于確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的裝置;用于確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置的裝置;用于確定目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置的裝置;用于確定源網(wǎng)絡(luò)配置是否與目標(biāo)網(wǎng)絡(luò)配置相沖突的裝置;用于在源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突的情況下通過源網(wǎng)絡(luò)配置來使源網(wǎng)絡(luò)配置不與目標(biāo)網(wǎng)絡(luò)配置相沖突的裝置;以及用于將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置注入目標(biāo)系統(tǒng)注冊表文件的裝置。在一個(gè)方面中,該設(shè)備可以提供將網(wǎng)絡(luò)驅(qū)動(dòng)程序從一個(gè)或多個(gè)源機(jī)器注入目標(biāo)映像的處理。在一個(gè)方面中,該設(shè)備可以將目標(biāo)映像變換成與一個(gè)或多個(gè)源機(jī)器相兼容。在一個(gè)方面中,該設(shè)備可以促成經(jīng)由網(wǎng)絡(luò)的操作系統(tǒng)流傳輸。在本公開的另一個(gè)方面中,一種方法可以構(gòu)建用于提供將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像的處理的計(jì)算機(jī)程序。在一個(gè)方面中,該設(shè)備可以將目標(biāo)映像變換成與一個(gè)或多個(gè)計(jì)算機(jī)相兼容。在一個(gè)方面中,該方法可以促成經(jīng)由網(wǎng)絡(luò)的操作系統(tǒng)流傳輸。該方法可以包括以下的一些或全部:選擇第一計(jì)算機(jī)和第二計(jì)算機(jī),其中第一計(jì)算機(jī)包括第一網(wǎng)絡(luò)接口卡,第二計(jì)算機(jī)包括第二網(wǎng)絡(luò)接口卡,其中第二網(wǎng)絡(luò)接口卡的配置不同于第一網(wǎng)絡(luò)接口卡的配置;構(gòu)建第一計(jì)算機(jī)的第一虛擬磁盤映像;構(gòu)建與第一計(jì)算機(jī)和第二計(jì)算機(jī)兼容的第二虛擬磁盤映像;使用第一虛擬磁盤映像引導(dǎo)第一計(jì)算機(jī);在使用第一虛擬磁盤映像引導(dǎo)了第一計(jì)算機(jī)之后,提取第一計(jì)算機(jī)的第一系統(tǒng)注冊表信息,所述第一系統(tǒng)注冊表信息包括基于第一虛擬磁盤映像的第一網(wǎng)絡(luò)接口卡的配置值;使用第二虛擬磁盤映像引導(dǎo)第一計(jì)算機(jī);在使用第二虛擬磁盤映像引導(dǎo)了第一計(jì)算機(jī)之后,提取第一計(jì)算機(jī)的第二系統(tǒng)注冊表信息,所述第二系統(tǒng)注冊表信息包括基于第二虛擬磁盤映像的第一網(wǎng)絡(luò)接口卡及第二網(wǎng)絡(luò)接口卡的配置值;基于第一系統(tǒng)注冊表信息與第二系統(tǒng)注冊表信息之間的差別以及基于不影響網(wǎng)絡(luò)功能的注冊表來確定網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件;將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件注入第一虛擬磁盤映像;以及基于網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件來生成計(jì)算機(jī)程序。應(yīng)該理解的是,從以下舉例顯示并描述了本技術(shù)主題的不同配置的詳細(xì)描述中,本領(lǐng)域技術(shù)人員很容易即可清楚了解本技術(shù)主題的其他配置。應(yīng)該認(rèn)識(shí)到的是,在不脫離本技術(shù)主題的范圍的情況下,本技術(shù)主題能夠采用其他不同的配置,并且可以在其他不同的方面對其若干處細(xì)節(jié)進(jìn)行修改。相應(yīng)地,附圖和詳細(xì)描述實(shí)際應(yīng)被看作是說明性而不是限制性的。
圖1A是示出了操作階段示例的概念性框圖。圖1B是示出了構(gòu)建用于提供網(wǎng)絡(luò)驅(qū)動(dòng)程序注入處理的軟件程序的處理示例的概念性框圖。圖2示出的是注冊表編輯器200的屏幕快照的示例,其中顯示了可供機(jī)器或源平臺(tái)上的Windows OS使用的不同操作系統(tǒng)注冊表。圖3是示出了網(wǎng)絡(luò)系統(tǒng)示例的概念性框圖。圖4是示出了機(jī)器示例的概念性框圖。圖5示出的是注冊表編輯器500的屏幕快照的示例,其中顯示了可供機(jī)器或源平臺(tái)上的Windows OS使用的不同操作系統(tǒng)注冊表。圖6A是示出了驅(qū)動(dòng)程序注入方法的示例的概念性流程圖。圖6B是示出了流傳輸方法的示例的概念性流程圖。圖7是示出了響應(yīng)于圖6A的操作630來執(zhí)行注入驅(qū)動(dòng)程序函數(shù)(例如InjectDriver)的方法的示例的概念性流程圖。圖8是示出了機(jī)器中從軟件到硬件的不同層次的示例的概念框圖。圖9是示出了響應(yīng)于圖7的操作760來執(zhí)行檢查NIC兼容性函數(shù)(例如CheckNICCompati I ity )的方法示例的概念性流程圖。圖10是示出了響應(yīng)于圖7的操作770來執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理(例如InjectffSMNIC)的方法示例的概念性流程圖。圖11是示出了機(jī)器上的不同網(wǎng)絡(luò)相關(guān)軟件層以及網(wǎng)絡(luò)相關(guān)硬件物理層的示例的概念性框圖。圖12A是示出了啟用流傳輸且使用Windows XP的源平臺(tái)上的網(wǎng)絡(luò)驅(qū)動(dòng)程序之間的綁定關(guān)系的示例的概念性框圖。圖12B是示出了啟動(dòng)流傳輸且使用Windows Vista或Windows7的源平臺(tái)上的網(wǎng)絡(luò)驅(qū)動(dòng)程序之間的綁定關(guān)系的示例的概念性框圖。圖13、14、15、16和17是示出了響應(yīng)于圖7的操作770來執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入處理(例如InjectWSMNIC)的方法的示例的概念性流程圖。圖18是示出了用于機(jī)器可讀介質(zhì)的硬件配置的示例的概念性框圖。圖19是示出了用于提供網(wǎng)絡(luò)驅(qū)動(dòng)程序注入處理的方法的示例的概念性流程圖。圖20是示出了設(shè)備硬件配置的示例的概念性框圖。圖21是示出了設(shè)備硬件配置的示例的概念性框圖。圖22是示出了用于構(gòu)建提供網(wǎng)絡(luò)驅(qū)動(dòng)程序注入處理的計(jì)算機(jī)程序的方法的示例的概念性流程圖。圖23A示出的是“添加/編輯虛擬磁盤實(shí)用工具”對話的屏幕快照的示例。圖23B示出的是VDisklmageCreation (虛擬磁盤映像創(chuàng)建)窗口的屏幕快照的示例。圖23C示出的是“添加/編輯虛擬磁盤實(shí)用工具”對話的屏幕快照的示例。
具體實(shí)施例方式以下闡述的具體實(shí)施方式
部分應(yīng)被認(rèn)為是描述本技術(shù)主題的不同配置,而不是描繪可以實(shí)施本技術(shù)主題的唯一配置。在這里引入附圖并且所述附圖構(gòu)成了本具體實(shí)施方式
部分的一部分。本具體實(shí)施方式
部分包含了用于全面理解本技術(shù)主題的細(xì)節(jié)。然而對本領(lǐng)域技術(shù)人員來說,很明顯,本技術(shù)主題是可以在沒有這些細(xì)節(jié)的情況下實(shí)施的。在一些情況下,為了避免混淆本技術(shù)主題的概念,眾所周知的結(jié)構(gòu)和組件是以框圖形式顯示的。為了易于理解,相同組件是用相同部件編號(hào)標(biāo)記的。本發(fā)明的一個(gè)方面規(guī)定的是使用驅(qū)動(dòng)程序注入處理來增強(qiáng)已有的虛擬磁盤映像,以便支持多個(gè)異構(gòu)平臺(tái)進(jìn)行流傳輸。由于在任何OS流傳輸部署中都很少只有一種平臺(tái),因此,如果具有可被流傳輸?shù)骄哂胁煌布匦缘亩鄠€(gè)客戶機(jī)平臺(tái)的單個(gè)虛擬磁盤映像,那么將會(huì)是非常理想的。在一個(gè)方面中,該虛擬磁盤映像有時(shí)可被稱為“黃金”映像。在一個(gè)方面中,本技術(shù)主題允許用戶將關(guān)聯(lián)于OS流傳輸?shù)尿?qū)動(dòng)程序和配置注入已有的虛擬磁盤映像,以便支持多個(gè)異構(gòu)平臺(tái)進(jìn)行OS流傳輸。所產(chǎn)生的虛擬磁盤映像則會(huì)變成“黃金”映像。在下述情景中舉例說明了黃金映像的重要性:
在OS流傳輸部署中,客戶可能具有分散于六個(gè)分支機(jī)構(gòu)的100個(gè)客戶機(jī)設(shè)備。這100個(gè)設(shè)備是購自10個(gè)不同的制造商/產(chǎn)品型號(hào)。如果無法使用黃金映像,那么客戶必須創(chuàng)建10個(gè)不同的虛擬磁盤映像,并且每一個(gè)映像都支持唯一的硬件平臺(tái)。典型的VDisk映像大小是IOGB。為了在所有分支機(jī)構(gòu)部署OS流傳輸,客戶必須將所有的10個(gè)VDisk映像從總部分發(fā)到所有的九個(gè)分支機(jī)構(gòu)。換句話說,在線路上要傳送10*10GB*9=900GB的數(shù)據(jù),并且該線路還通常是低帶寬信道。為了保持最新的映像具有最新的OS補(bǔ)丁,有必要從總部更新這10個(gè)VDisk映像中的每一個(gè)。然后,在低帶寬信道上必須再次將應(yīng)用于所有這10個(gè)映像的變化推送到每個(gè)分支機(jī)構(gòu)。如果可以使用黃金映像,那么客戶只需要?jiǎng)?chuàng)建支持所有10個(gè)平臺(tái)(以及100個(gè)客戶機(jī)設(shè)備)的單個(gè)虛擬磁盤映像。要想在所有分支機(jī)構(gòu)部署OS流傳輸,客戶只需要從總部向所有的九個(gè)分支機(jī)構(gòu)分發(fā)一個(gè)VDisk映像。換言之,在線路上將會(huì)傳送10GB*9=90GB的數(shù)據(jù),這比沒有黃金映像要小出10倍。要想保持最新的映像具有最近的OS補(bǔ)丁,只需要將所述變化僅僅應(yīng)用于單個(gè)黃金映像,以及隨后將其分發(fā)至分支機(jī)構(gòu)。很明顯,這種創(chuàng)建支持多個(gè)異構(gòu)平臺(tái)的黃金映像的能力極大改善了 OS流傳輸?shù)目捎眯?,并且真正?shí)現(xiàn)了企業(yè)級(jí)的可擴(kuò)展性。關(guān)于不同方法的例證第一種方法允許用戶通過創(chuàng)建黃金虛擬磁盤映像來支持多個(gè)異構(gòu)平臺(tái)進(jìn)行OS流傳輸。然而,該方法在虛擬磁盤創(chuàng)建過程中需要每一個(gè)源平臺(tái)都裝有公共網(wǎng)絡(luò)接口卡(例如網(wǎng)絡(luò)適配器)。這其中包括打開每個(gè)源平臺(tái)并找到空閑總線接口槽,以便容納新的網(wǎng)絡(luò)接口卡。對普通用戶來說,這樣做是很有挑戰(zhàn)性的,并且在沒有空閑總線槽的平臺(tái)上往往是不可行的,膝上型計(jì)算機(jī)就是這樣。此外,該處理不理想的原因還在于打開計(jì)算機(jī)機(jī)殼可能導(dǎo)致喪失制造商的保修保證。另外,該方法還需要所有源平臺(tái)都具有使用相同硬件抽象層(HAL)的OS安裝程序。本技術(shù)主題的一個(gè)方面克服了上述方法的缺陷。例如,本技術(shù)主題的一個(gè)方面既不需要處于不同源平臺(tái)之間的公共網(wǎng)絡(luò)接口卡,也不需要用戶打開每一個(gè)源平臺(tái),而且還不需要用于插入新的網(wǎng)絡(luò)接口卡的空閑總線槽。此外,本技術(shù)主題的一個(gè)方面不需要所有源平臺(tái)具有相同的HAL。第二種方法允許用戶通過創(chuàng)建黃金虛擬磁盤映像來支持多個(gè)異構(gòu)平臺(tái)進(jìn)行OS流傳輸。該方法幫助用戶在物理硬盤上預(yù)備一個(gè)OS安裝程序,這其中包括在獲取硬盤安裝程序快照之前將所有源平臺(tái)的所有驅(qū)動(dòng)程序包含到虛擬磁盤映像中。該處理包括將一個(gè)平臺(tái)的硬盤OS安裝程序備份到某個(gè)文件(例如WUP文件),將該文件從第一源平臺(tái)恢復(fù)到第二源平臺(tái)的非活動(dòng)分區(qū)。此外,該處理還包括從第二源平臺(tái)的“恢復(fù)”分區(qū)和安裝驅(qū)動(dòng)程序引導(dǎo)第二源平臺(tái)。所產(chǎn)生的硬盤OS安裝程序駐留在“恢復(fù)”分區(qū),并且包含了來自第一和第二源平臺(tái)的所有驅(qū)動(dòng)程序。在所有源平臺(tái)上都必須重復(fù)這種備份和恢復(fù)處理。這種重復(fù)的備份和恢復(fù)處理是非常漫長和繁瑣的。為三到四個(gè)平臺(tái)創(chuàng)建黃金映像通常會(huì)耗費(fèi)數(shù)個(gè)小時(shí)。此外,除了第一源平臺(tái)之外的每一個(gè)源平臺(tái)還必須具有至少兩個(gè)硬盤分區(qū),其中一個(gè)分區(qū)用于引導(dǎo),另一個(gè)分區(qū)則用于恢復(fù)(例如mip文件)。如果源平臺(tái)具有預(yù)先安裝在單個(gè)分區(qū)上的操作系統(tǒng),那么用戶需要先移除已有安裝程序,重新對硬盤進(jìn)行分區(qū)并且重新安裝所述OS。此外,該方法還需要所有源平臺(tái)的硬盤上都具有使用相同硬件抽象層(HAL)的OS安裝程序。本技術(shù)主題的一個(gè)方面克服了上述第二種方法的缺陷。例如,本技術(shù)主題的一個(gè)方面既不需要任一源平臺(tái)上具有多個(gè)硬盤分區(qū),也不需要將整個(gè)硬盤映像拷貝至源平臺(tái),而且不需要將整個(gè)操作系統(tǒng)映像拷貝至源平臺(tái)。此外,本技術(shù)主題的一個(gè)方面不需要所有源平臺(tái)具有相同的HAL。根據(jù)本公開的一個(gè)方面,在不需要上述特征的同時(shí),本技術(shù)主題仍舊可以在存在上述缺陷的情況下運(yùn)作。第三種方法使用了一個(gè)在物理設(shè)備與虛擬機(jī)之間創(chuàng)建公共磁盤映像的處理。該方法只能創(chuàng)建用于單個(gè)平臺(tái)和虛擬機(jī)的公共虛擬磁盤。其并未實(shí)現(xiàn)創(chuàng)建用于任意數(shù)量的異構(gòu)硬件平臺(tái)的單個(gè)虛擬磁盤的目標(biāo)。本技術(shù)主題的一個(gè)方面克服了如上所述的第三種方法的缺陷。例如,本技術(shù)主題的一個(gè)方面可以創(chuàng)建一個(gè)用于任意數(shù)量的異構(gòu)硬件平臺(tái)的黃金虛擬磁盤映像。第四種方法使用的是一種將即插即用(PnP)驅(qū)動(dòng)程序預(yù)先安裝至將被部署給新硬件的脫機(jī)Windows OS映像的方法。原始設(shè)備制造商(OEM)或公司IT職員可以使用這種方法。這種方法可以在只以引導(dǎo)物理附著于目標(biāo)設(shè)備的硬盤為目標(biāo)的Windows映像上使用。然而,由于駐留在網(wǎng)絡(luò)上的虛擬磁盤映像需要與專門被設(shè)計(jì)成支持OS流傳輸?shù)腛S流傳輸驅(qū)動(dòng)程序綁定的網(wǎng)絡(luò)接口卡,因此,該方法不能在駐留于網(wǎng)絡(luò)的虛擬磁盤映像上使用。由于沒有引入網(wǎng)絡(luò)接口卡與OS流傳輸驅(qū)動(dòng)程序之間的綁定關(guān)系,因此,在虛擬磁盤映像上不能使用第四種方法。此外,該方法只支持即插即用驅(qū)動(dòng)程序。關(guān)于不同優(yōu)點(diǎn)的例證本技術(shù)主題的一個(gè)方面克服了上述第四種方法的缺陷。例如,本技術(shù)主題可以支持將網(wǎng)絡(luò)接口卡驅(qū)動(dòng)程序及相應(yīng)網(wǎng)絡(luò)組件注入即插即用接口及非即插即用接口的處理。特別地,根據(jù)本公開的一個(gè)方面,本技術(shù)主題可以提供以下優(yōu)點(diǎn)。1.本技術(shù)主題的一個(gè)方面可以允許用戶增強(qiáng)已有的虛擬磁盤映像,以便支持具有異構(gòu)硬件特性的多個(gè)源平臺(tái)(例如多個(gè)客戶機(jī)設(shè)備)進(jìn)行OS流傳輸。2.本技術(shù)主題的一個(gè)方面可以允許在任何時(shí)間添加任意數(shù)量的附加源平臺(tái),以便使用已有的虛擬磁盤映像。3.在一個(gè)方面中,虛擬磁盤映像可以支持無限數(shù)量的平臺(tái)。4.本技術(shù)主題的一個(gè)方面既不需要附加硬件,也不包含物理硬件操作。5.本技術(shù)主題的一個(gè)方面不需要重新安裝或重新配置已有操作系統(tǒng)。6.本技術(shù)主題的一個(gè)方面不需要復(fù)制整個(gè)OS安裝程序。7.本技術(shù)主題的一個(gè)方面提供了一種快速處理。該處理在所要支持的每個(gè)附加平臺(tái)上可以只耗費(fèi)數(shù)秒而不是數(shù)小時(shí)。8.本技術(shù)主題的一個(gè)方面較不容易出錯(cuò)。例如,用于插入公共網(wǎng)絡(luò)接口卡的確切總線接口槽是不需要知道或記憶的,并且備份和恢復(fù)OS安裝程序的冗長序列同樣是不需要知道或記憶的。9.本技術(shù)主題的一個(gè)方面可以在大多數(shù)計(jì)算機(jī)平臺(tái)上使用。例如,超出正常(硬盤)OS安裝程序需要之外的附加硬盤容量、網(wǎng)絡(luò)接口卡、空閑總線槽或是其他任何硬件需求都是不需要的。
關(guān)于代碼/偽代碼表示的例證以下顯示的用C++編程語言編寫的本技術(shù)主題的一個(gè)方面,然而,本技術(shù)主題并不局限于C++,而是可以采用其他編程語言進(jìn)行編寫。以下顯示的是關(guān)于子例程、函數(shù)、數(shù)據(jù)結(jié)構(gòu)以及定義的一些示例,并且稍后會(huì)在本公開中提到這其中的一些示例。
ffdefine Net Device chiss"This is a global unique identifier
(G Li ID) for Net Device class devices as defined by Microsoft
#defme NDIS LAN class//This is a GUID for NDIS LAN class
tlevices as definetl by M icrosoft //type ofNETNODE enum nodetype t {
ntype-NIC,//physica l network Interface card
ntype OSMNS,//OS streaming driverntype—UPPER//other OS network component such as an
NDIS intermediate driver that is bound to OS streaming driver on the upper edge(e.g., packet scheduler driver);
I;
typedef struct ETNODE {
struct NETNODB *plipper; //pointer to upper bound NETNODEnodetypej n'i'ype;
DWORD dwBusType;//bus type
CString csComponentID; //Componentld registry value CString csGUID;//NetCfgInstanceID registry value
CString csDriverDesc; //DiiverDesc registry valueCString csOldlnfPath; //inf file (driver installation file) name usedin source platform
CString csNewInfPath; //inf file (driver installation file) name to beused in Target
CString csOldNetClassSubKey; //subkey under "class\〈Net Deviceclass >” in source platform
CString csNewNetClassSubKey; //subkey under "class\<Net Deviceclass >" in Target
BOOI, bToBelnjected;//This is I if this node is to be
injected into Target
CString csEnumKey;//Enum key path,
CString csOldBusSpecificID: //Enum subkey in source platformCString csNewBusSpecificID; //Enum subkey to be used in Target,for PCI device this does not change, for others it may change 1 a differentnumber
CString esServke;//service name
CString csOldDeviceClassKey; //subkeyunder
權(quán)利要求
1.一種機(jī)器可讀存儲(chǔ)介質(zhì),其中所述介質(zhì)使用處理系統(tǒng)可執(zhí)行的指令編碼,以便執(zhí)行一種用于將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像,從而將目標(biāo)映像變換成與一個(gè)或多個(gè)源機(jī)器相兼容的方法,所述指令包括用于以下處理的代碼: 促使訪問源機(jī)器的源系統(tǒng)注冊表文件; 在沒有拷貝目標(biāo)映像的情況下促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件,其中目標(biāo)映像包括操作系統(tǒng); 確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容;以及如果一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容,則執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入,其中執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的操作包括: 確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件; 確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置; 確定目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置; 確定源網(wǎng)絡(luò)配置是否與目標(biāo)網(wǎng)絡(luò)配置相沖突; 如果源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突,則通過調(diào)整源網(wǎng)絡(luò)配置來使源網(wǎng)絡(luò)配置不與目標(biāo)網(wǎng)絡(luò)配置相沖突;以及 將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置注入目標(biāo)系統(tǒng)注冊表文件。
2.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì), 其中該指令還包括用于以下處理的代碼: 促使訪問與源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件, 其中該方法用于促成經(jīng)由網(wǎng)絡(luò)的操作系統(tǒng)流傳輸, 其中在沒有拷貝目標(biāo)映像的情況下促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件的操作包括: 在沒有將目標(biāo)映像拷貝至開發(fā)機(jī)的情況下促使訪問目標(biāo)映像的目 標(biāo)系統(tǒng)注冊表文件,以及 其中促使訪問源機(jī)器的源系統(tǒng)注冊表文件的操作、促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件的操作、確定操作以及執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的操作是由開發(fā)機(jī)執(zhí)行的。
3.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中該指令還包括用于以下處理的代碼: 選擇一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件中的至少一個(gè)作為參考網(wǎng)絡(luò)組件; 確定用于目標(biāo)映像的參考網(wǎng)絡(luò)組件與一個(gè)或多個(gè)網(wǎng)絡(luò)服務(wù)之間的綁定關(guān)系;以及 建立一個(gè)或多個(gè)源網(wǎng)絡(luò)組件中的至少一個(gè)與一個(gè)或多個(gè)網(wǎng)絡(luò)服務(wù)之間的綁定關(guān)系。
4.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中該指令還包括用于以下處理的代碼: 確定源機(jī)器的操作系統(tǒng)是否與目標(biāo)映像的操作系統(tǒng)相兼容;以及 確定目標(biāo)映像的硬件抽象層是否低于或等同于源機(jī)器的硬件抽象層;以及如果源機(jī)器的操作系統(tǒng)與目標(biāo)映像的操作系統(tǒng)相兼容并且如果目標(biāo)映像的硬件抽象層低于或等同于源機(jī)器的硬件抽象層,則執(zhí)行以下操作: 確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容的操作;以及在一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容的情況下執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的操作。
5.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的操作還包括: 促使將與源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件拷貝到目標(biāo)映像上,其中該目標(biāo)映像處于目標(biāo)機(jī)上, 其中開發(fā)機(jī)單純基于源機(jī)器的源系統(tǒng)注冊表文件來執(zhí)行用以確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的操作, 其中開發(fā)機(jī)基于源機(jī)器的源系統(tǒng)注冊表文件以及基于與源機(jī)器的一個(gè)或多個(gè)網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件來執(zhí)行用以確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置的操作,以及 其中開發(fā)機(jī)基于目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件以及基于與目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件來執(zhí)行用以確定目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置的操作。
6.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì), 其中在沒有拷貝目標(biāo)映像的情況下促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件的操作包括: 在沒有將整個(gè)目標(biāo)映像拷貝至開發(fā)機(jī)的情況下,促使在開發(fā)機(jī)上安裝作為驅(qū)動(dòng)卷的目標(biāo)映像;以及 將目標(biāo)系統(tǒng)注冊表文件加載到開發(fā)機(jī)的注冊表中, 其中所述指令還包括用于以下處理的代碼: 在執(zhí)行了網(wǎng)絡(luò)接口 驅(qū)動(dòng)程序注入的操作之后,從開發(fā)機(jī)的注冊表中卸載目標(biāo)系統(tǒng)注冊表文件;以及 促使從開發(fā)機(jī)中卸載所述目標(biāo)映像。
7.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中該指令還包括用于以下處理的代碼: 促使將目標(biāo)映像從目標(biāo)機(jī)經(jīng)由網(wǎng)絡(luò)流傳輸?shù)皆礄C(jī)器。
8.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì), 其中在沒有拷貝目標(biāo)映像的情況下促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件的操作包括: 在沒有將整個(gè)目標(biāo)映像拷貝至開發(fā)機(jī)的情況下,促使在開發(fā)機(jī)上拷貝目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件;以及 將目標(biāo)系統(tǒng)注冊表文件加載到開發(fā)機(jī)的注冊表中,其中該指令還包括用于以下處理的代碼: 在執(zhí)行了網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的操作之后,從開發(fā)機(jī)的注冊表中卸載目標(biāo)系統(tǒng)注冊表文件;以及 促使從開發(fā)機(jī)中移除目標(biāo)系統(tǒng)注冊表文件。
9.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中目標(biāo)映像駐留在目標(biāo)機(jī)上,并且源機(jī)器經(jīng)由網(wǎng)絡(luò)位于目標(biāo)機(jī)的遠(yuǎn)端, 其中一個(gè)或多個(gè)源網(wǎng)絡(luò)組件至少包括網(wǎng)絡(luò)接口卡驅(qū)動(dòng)程序以及操作系統(tǒng)流傳輸驅(qū)動(dòng)程序,以及 其中所述目標(biāo)映像是虛擬磁盤映像。
10.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容的操作包括:確定與用于源機(jī)器的一個(gè)或多個(gè)源操作系統(tǒng)流傳輸驅(qū)動(dòng)程序綁定的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡驅(qū)動(dòng)程序; 確定與用于目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)操作系統(tǒng)流傳輸驅(qū)動(dòng)程序綁定的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)接口卡驅(qū)動(dòng)程序; 確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與用于目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)接口卡相同,其中確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容的操作是基于源系統(tǒng)注冊表文件和目標(biāo)系統(tǒng)注冊表文件執(zhí)行的,以及 其中確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與用于目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)接口卡相同的操作包括: 確定一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡中的第一源網(wǎng)絡(luò)接口卡以及一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)接口卡中的第一目標(biāo)網(wǎng)絡(luò)接口卡是否來自相同的制造商,具有相同的型號(hào),具有相同的修訂版本,以及用于相同的總線槽。
11.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì), 其中確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的操作包括:確定與用于一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡之一的源網(wǎng)絡(luò)接口卡驅(qū)動(dòng)程序的實(shí)例的上邊緣綁定的第一源中間網(wǎng)絡(luò)驅(qū)動(dòng)程序的實(shí)例;以及 確定與第一源中間網(wǎng)絡(luò)驅(qū)動(dòng)程序?qū)嵗纳线吘壗壎ǖ牡诙粗虚g網(wǎng)絡(luò)驅(qū)動(dòng)程序?qū)嵗?,以? 其中一個(gè)或多個(gè)源網(wǎng)絡(luò)組件包括源網(wǎng)絡(luò)接口卡驅(qū)動(dòng)程序的實(shí)例,第一源中間網(wǎng)絡(luò)驅(qū)動(dòng)程序的實(shí)例,以及第二源中間網(wǎng)絡(luò)驅(qū)動(dòng)程序的實(shí)例, 其中確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置的操作包括: 基于源系統(tǒng)注冊表文件來為一個(gè)或多個(gè)源網(wǎng)絡(luò)組件中的每一個(gè)確定驅(qū)動(dòng)程序安裝文件名稱和位置、驅(qū)動(dòng)程序二進(jìn)制文件的名稱和位置、windows服務(wù)名稱以及全局唯一標(biāo)識(shí)符, 其中在源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突的情況下調(diào)整源網(wǎng)絡(luò)配置的操作包括: 如果與安裝文件的名稱發(fā)生沖突,則改變安裝文件的名稱; 如果與實(shí)例索引值發(fā)生沖突,則改變實(shí)例索引值;以及 確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的實(shí)例數(shù)量。
12.如權(quán)利要求1所述的機(jī)器可讀存儲(chǔ)介質(zhì), 其中執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的操作還包括: 促使將與源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件拷貝到目標(biāo)映像上,其中該目標(biāo)映像處于目標(biāo)機(jī)上, 其中促使拷貝一個(gè)或多個(gè)文件的操作包括: 促使將與源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)驅(qū)動(dòng)程序安裝文件拷貝到目標(biāo)映像上;以及促使將與源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)驅(qū)動(dòng)程序二進(jìn)制文件拷貝到目標(biāo)映像上, 其中將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò) 配置注入目標(biāo)系統(tǒng)注冊表文件的操作包括: 促使將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置的注冊表值拷貝到目標(biāo)系統(tǒng)注冊表文件中;以及 更新目標(biāo)系統(tǒng)注冊表文件的注冊表值。
13.如權(quán)利要求2所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中開發(fā)機(jī)是源機(jī)器。
14.如權(quán)利要求2所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中促使訪問與源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件的操作包括: 在沒有將一個(gè)或多個(gè)文件拷貝到開發(fā)機(jī)上的情況下,促使訪問與源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件。
15.如權(quán)利要求1的機(jī)器可讀存儲(chǔ)介質(zhì), 其中確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容的操作包括: 促使選擇源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡; 確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與用于目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)接口卡相同,其中確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容的操作是基于源系統(tǒng)注冊表文件和目標(biāo)系統(tǒng)注冊表文件執(zhí)行的,以及 其中確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與用于目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)接口卡相同的操作包括: 確定一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡中的第一源網(wǎng)絡(luò)接口卡以及一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)接口卡中的第一目標(biāo)網(wǎng)絡(luò)接口卡是否來自相同的制造商,具有相同的型號(hào),具有相同的修訂版本,以及用于相同的總線槽。
16.一種通過將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像從而將目標(biāo)映像變換成與一個(gè)或多個(gè)源機(jī)器相兼容的方法,該方法包括: 促使訪問源機(jī)器的源系統(tǒng)注冊表文件; 在沒有拷貝目標(biāo)映像的情況下,促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件,其中目標(biāo)映像包括操作系統(tǒng); 確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容;以及如果一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容,則執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入,其中執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的操作包括: 確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件; 確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置; 確定目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置; 確定源網(wǎng)絡(luò)配置是否與目標(biāo)網(wǎng)絡(luò)配置相沖突; 如果源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突,則通過調(diào)整源網(wǎng)絡(luò)配置來使源網(wǎng)絡(luò)配置不與目標(biāo)網(wǎng)絡(luò)配置相沖突;以及 將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置注入目標(biāo)系統(tǒng)注冊表文件。
17.—種設(shè)備,包括: 處理系統(tǒng);以及 使用處理系統(tǒng)可執(zhí)行的指令編碼的機(jī)器可讀存儲(chǔ)介質(zhì),其中該指令包括用于以下處理的代碼: 促使訪問源機(jī)器的源系統(tǒng)注冊表文件; 在沒有拷貝目標(biāo)映像的情況下,促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件,其中目標(biāo)映像包括操作系統(tǒng); 確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容;以及如果一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容,則執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入,其中執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的操作包括: 確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡相關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件; 確定一個(gè)或多 個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置; 確定目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置; 確定源網(wǎng)絡(luò)配置是否與目標(biāo)網(wǎng)絡(luò)配置相沖突; 如果源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突,則通過調(diào)整源網(wǎng)絡(luò)配置來使源網(wǎng)絡(luò)配置不與目標(biāo)網(wǎng)絡(luò)配置相沖突;以及 將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置注入目標(biāo)系統(tǒng)注冊表文件。
18.—種設(shè)備,包括: 用于促使訪問源機(jī)器的源系統(tǒng)注冊表文件的裝置; 用于在沒有拷貝目標(biāo)映像的情況下,促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件的裝置,其中該目標(biāo)映像包括操作系統(tǒng); 用于確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容的裝置;以及用于在一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容的情況下執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的裝置,其中用于執(zhí)行網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入的裝置包括: 用于確定與一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡關(guān)聯(lián)的一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的裝置; 用于確定一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置的裝置; 用于確定目標(biāo)映像的一個(gè)或多個(gè)目標(biāo)網(wǎng)絡(luò)組件的目標(biāo)網(wǎng)絡(luò)配置的裝置; 用于確定源網(wǎng)絡(luò)配置是否與目標(biāo)網(wǎng)絡(luò)配置相沖突的裝置; 用于在源網(wǎng)絡(luò)配置與目標(biāo)網(wǎng)絡(luò)配置相沖突的情況下,通過調(diào)整源網(wǎng)絡(luò)配置來使源網(wǎng)絡(luò)配置不與目標(biāo)網(wǎng)絡(luò)配置相沖突的裝置;以及 用于將一個(gè)或多個(gè)源網(wǎng)絡(luò)組件的源網(wǎng)絡(luò)配置注入目標(biāo)系統(tǒng)注冊表文件的裝置。
19.一種構(gòu)建計(jì)算機(jī)程序的方法,其中所述計(jì)算機(jī)程序提供將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像的處理,以便將目標(biāo)映像變換成與一個(gè)或多個(gè)計(jì)算機(jī)相兼容,從而促成經(jīng)由網(wǎng)絡(luò)的操作系統(tǒng)流傳輸,該方法包括: 選擇第一計(jì)算機(jī)和第二計(jì)算機(jī),其中第一計(jì)算機(jī)包括第一網(wǎng)絡(luò)接口卡,第二計(jì)算機(jī)包括第二網(wǎng)絡(luò)接口卡,并且其中第二網(wǎng)絡(luò)接口卡的配置不同于第一網(wǎng)絡(luò)接口卡的配置; 構(gòu)建第一計(jì)算機(jī)的第一虛擬磁盤映像; 構(gòu)建與第一計(jì)算機(jī)和第二計(jì)算機(jī)相兼容的第二虛擬磁盤映像; 使用第一虛擬磁盤映像來引導(dǎo)第一計(jì)算機(jī); 在使用第一虛擬磁盤映像引導(dǎo)了第一計(jì)算機(jī)之后,提取第一計(jì)算機(jī)的第一系統(tǒng)注冊表信息,所述第一系統(tǒng)注冊表信息包括基于第一虛擬磁盤映像的第一網(wǎng)絡(luò)接口卡的配置值;使用第二虛擬磁盤映像來引導(dǎo)第一計(jì)算機(jī); 在使用第二虛擬磁盤映像引導(dǎo)了第一計(jì)算機(jī)之后,提取第一計(jì)算機(jī)的第二系統(tǒng)注冊表信息,所述第二系統(tǒng)注冊表信息包括基于第二虛擬磁盤映像的第一網(wǎng)絡(luò)接口卡和第二網(wǎng)絡(luò)接口卡的配置值;基于第一系統(tǒng)注冊表信息與第二系統(tǒng)注冊表信息之間的差異以及基于不影響網(wǎng)絡(luò)功能的注冊表項(xiàng)來確定網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件; 將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件注入第一虛擬磁盤映像;以及 基于網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件來生成計(jì)算機(jī)程序。
20.如權(quán)利要求19所述的方法,還包括: 在實(shí)施生成計(jì)算機(jī)程序的操作之前,確定適用于一個(gè)或多個(gè)其他計(jì)算機(jī)的注冊表注入模式;以及 將計(jì)算機(jī)程序編碼到機(jī)器可讀存儲(chǔ)介質(zhì)中, 其中基于網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件來生成計(jì)算機(jī)程序的操作進(jìn)一步是以所述注冊表注入模式為基礎(chǔ)的。
21.如權(quán)利要求19所述的方法, 其中網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件包括注冊表項(xiàng)以及與第二計(jì)算機(jī)的網(wǎng)絡(luò)組件相關(guān)聯(lián)的一個(gè)或多個(gè)文件, 其中將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件注入第一虛擬磁盤映像的操作包括: 將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件的注冊表項(xiàng)注入第一虛擬磁盤映像; 將關(guān)聯(lián)于網(wǎng)絡(luò)組件的一個(gè)或多個(gè)文件注入第一虛擬磁盤映像, 其中注入一個(gè)或多個(gè)文件的操作包括: 將關(guān)聯(lián)于網(wǎng)絡(luò)組件的一個(gè)或多個(gè)驅(qū)動(dòng)程序安裝文件注入第一虛擬磁盤映像;以及 將關(guān)聯(lián)于網(wǎng)絡(luò)組件的一個(gè)或多個(gè)驅(qū)動(dòng)程序二進(jìn)制文件注入第一虛擬磁盤映像。
22.如權(quán)利要求19所述的方法,其中第一和第二網(wǎng)絡(luò)接口卡的配置在以下的至少一個(gè)屬性上存在差異:網(wǎng)絡(luò)接口卡的制造商,網(wǎng)絡(luò)接口卡的型號(hào),網(wǎng)絡(luò)接口卡的修訂版本,或是用于網(wǎng)絡(luò)接口卡的總線槽。
23.如權(quán)利要求19所述的方法, 其中確定網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件的操作包括: 確定第一組注冊表項(xiàng),其中所述第一組注冊表項(xiàng)是從第一系統(tǒng)注冊表信息的注冊表項(xiàng)與第二系統(tǒng)注冊表信息的注冊表項(xiàng)之間的差異中獲取的;以及 確定第二組注冊表項(xiàng),所述第二組注冊表項(xiàng)是通過從第一組注冊表項(xiàng)中濾除第三組注冊表項(xiàng)獲取的,其中所述第三組注冊表項(xiàng)包含的是不影響網(wǎng)絡(luò)功能的注冊表項(xiàng), 其中網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件包括第二組注冊表項(xiàng), 其中確定第二組注冊表項(xiàng)的操作包括: 通過從第二系統(tǒng)注冊表信息的注冊表項(xiàng)中移除第一組注冊表項(xiàng)中的一個(gè)或多個(gè)注冊表項(xiàng)來確定第四組注冊表項(xiàng); 使用具有第四組注冊表項(xiàng)的第二虛擬磁盤映像來引導(dǎo)第一計(jì)算機(jī),其中所述第四組注冊表項(xiàng)沒有所述一個(gè)或多個(gè)注冊表項(xiàng); 使用具有第四組注冊表項(xiàng)的第二虛擬磁盤映像來引導(dǎo)第二計(jì)算機(jī),其中所述第四組注冊表項(xiàng)沒有所述一個(gè)或多個(gè)注冊表項(xiàng); 確定具有第四組注冊表項(xiàng)的第二虛擬磁盤映像是否與第一計(jì)算機(jī)相兼容,其中所述第四組注冊表項(xiàng)沒有所述一個(gè)或多個(gè)注冊表項(xiàng); 確定具有第四組注冊表項(xiàng)的第二虛擬磁盤映像是否與第二計(jì)算機(jī)相兼容,其中所述第四組注冊表項(xiàng)沒有所述一個(gè)或多個(gè)注冊表項(xiàng);以及 如果具有第四組注冊表項(xiàng)的第二虛擬磁盤映像與第一計(jì)算機(jī)相兼容,以及如果具有第四組注冊表項(xiàng)的第二虛擬磁盤映像與第二計(jì)算機(jī)相兼容,則從所述第二組注冊表項(xiàng)中排除所述一個(gè)或多個(gè)注冊表項(xiàng),其中所述第四組注冊表項(xiàng)沒有所述一個(gè)或多個(gè)注冊表項(xiàng),以及其中該方法還包括: 使用具有網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件的第一虛擬磁盤映像來引第一計(jì)算機(jī); 使用具有網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件的第一虛擬磁盤映像來引第二計(jì)算機(jī);以及確定具有網(wǎng)絡(luò)驅(qū)動(dòng)程序注入組件的第一虛擬磁盤映像是否與第一計(jì)算機(jī)和第二計(jì)算機(jī)相兼容。
全文摘要
一種方法,該方法提供的是將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像,以便將目標(biāo)映像變換成與一個(gè)或多個(gè)源機(jī)器相兼容,從而促成經(jīng)由網(wǎng)絡(luò)的操作系統(tǒng)流傳輸。該方法可以包括促使訪問源機(jī)器的源系統(tǒng)注冊表文件;在沒有拷貝目標(biāo)映像的情況下促使訪問目標(biāo)映像的目標(biāo)系統(tǒng)注冊表文件;確定源機(jī)器的一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡是否與目標(biāo)映像相兼容;以及如果一個(gè)或多個(gè)源網(wǎng)絡(luò)接口卡不與目標(biāo)映像相兼容,則將網(wǎng)絡(luò)接口驅(qū)動(dòng)程序注入目標(biāo)映像。所述目標(biāo)映像可以包括操作系統(tǒng)。在這里還提供了機(jī)器可讀存儲(chǔ)介質(zhì)和設(shè)備。此外還描述了一種構(gòu)建用于提供將網(wǎng)絡(luò)驅(qū)動(dòng)程序注入目標(biāo)映像以將目標(biāo)映像變換成與一個(gè)或多個(gè)計(jì)算機(jī)相兼容的程序的方法。
文檔編號(hào)G06F13/00GK103189851SQ201180041179
公開日2013年7月3日 申請日期2011年4月5日 優(yōu)先權(quán)日2010年6月25日
發(fā)明者M·S·拉莫 申請人:韋斯技術(shù)公司