專利名稱:用于操作系統(tǒng)部署的高效方法
用于操作系統(tǒng)部署的高效方法背景一般而言,操作系統(tǒng)是全都一起工作以便為計算設(shè)備提供操作環(huán)境的各個文件的 大型集合。構(gòu)成操作系統(tǒng)的各個文件通常在計算設(shè)備中的復(fù)雜的目錄和文件夾安排中維 護。另外,操作系統(tǒng)或操作系統(tǒng)的一部分到遠程節(jié)點或計算設(shè)備的部署和分發(fā)可能由于每 一個遠程計算設(shè)備處的操作系統(tǒng)的大小和復(fù)雜性而成為難題。概述本發(fā)明的各實施例涉及用于高效地部署操作系統(tǒng)的方法和計算機存儲介質(zhì)。將至 少包含操作系統(tǒng)指令的混合虛擬硬盤驅(qū)動器文件分發(fā)給計算設(shè)備。在接收到虛擬硬盤驅(qū) 動器文件后,計算設(shè)備得以增強以允許該虛擬硬盤驅(qū)動器文件成為引導(dǎo)選項和可掛載驅(qū)動 器。計算設(shè)備然后可將該虛擬硬盤驅(qū)動器文件用作以初始引導(dǎo)序列開頭的驅(qū)動器。提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的一些概 念。本概述不旨在標識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定 所要求保護的主題的范圍。附圖簡述以下參考附圖詳細描述各實施例,附圖中
圖1是適用于實現(xiàn)本發(fā)明的各實施方式的示例性計算環(huán)境的框圖;圖2是根據(jù)本發(fā)明的一實施例的用于在計算設(shè)備上部署操作系統(tǒng)的示例性方法 的流程圖;圖3是根據(jù)本發(fā)明的一實施例的用于高效地部署操作系統(tǒng)的方法的一實施例的 流程圖;圖4是根據(jù)本發(fā)明的一實施例的用于高效地部署操作系統(tǒng)的另一示例性方法的 流程圖;以及圖5是示出被配置成用于實現(xiàn)本發(fā)明的各實施例的示例性計算系統(tǒng)體系結(jié)構(gòu)的 框圖。詳細描述此處用細節(jié)來描述本發(fā)明的各實施例的主題以滿足法定要求。然而,描述本身并 非旨在限制本專利的范圍。相反,發(fā)明人設(shè)想所要求保護的主題還可結(jié)合其他當(dāng)前或未來 技術(shù)按照其他方式來具體化,以包括不同的步驟或類似于本文中所描述的步驟的步驟組 合。此外,盡管術(shù)語“步驟”和/或“框”可在此處用于指示所采用的方法的不同元素,但除 非而且僅當(dāng)明確描述了各個步驟的順序時,該術(shù)語不應(yīng)被解釋為意味著此處公開的各個步 驟之中或之間的任何特定順序。本發(fā)明的各實施例涉及用于高效地部署操作系統(tǒng)的方法和計算機存儲介質(zhì)。將包 含操作系統(tǒng)指令的混合虛擬硬盤驅(qū)動器文件分發(fā)給計算設(shè)備。在接收到虛擬硬盤驅(qū)動器文 件后,計算設(shè)備得以增強以允許該虛擬硬盤驅(qū)動器文件成為引導(dǎo)選項和可掛載驅(qū)動器。該 混合虛擬硬盤驅(qū)動器文件可包含附加數(shù)據(jù)和信息,這些附加數(shù)據(jù)和信息將允許展示該虛擬 硬盤驅(qū)動器文件作為引導(dǎo)選項并掛載該虛擬硬盤驅(qū)動器文件作為計算設(shè)備中的驅(qū)動器。計算設(shè)備然后可將虛擬硬盤驅(qū)動器文件用作以初始引導(dǎo)序列開頭的物理驅(qū)動器。因此,在一方面,本發(fā)明提供其上包含計算機可執(zhí)行指令的一個或多個計算機存 儲介質(zhì),該計算機可執(zhí)行指令在被執(zhí)行時執(zhí)行一種用于在計算設(shè)備上部署操作系統(tǒng)的方 法。該方法包括接收與一個或多個操作系統(tǒng)指令相關(guān)聯(lián)的虛擬硬盤驅(qū)動器文件。該虛擬硬 盤驅(qū)動器文件還與引導(dǎo)管理器增強器和轉(zhuǎn)換器相關(guān)聯(lián)。該方法還包括利用引導(dǎo)管理器增強 器來增強引導(dǎo)管理器,確定虛擬硬盤驅(qū)動器文件位置,存儲該虛擬硬盤驅(qū)動器文件位置,實 現(xiàn)轉(zhuǎn)換器以便對讀/寫請求應(yīng)用該虛擬硬盤驅(qū)動器文件位置,以及從虛擬硬盤驅(qū)動器文件 開始初始引導(dǎo)序列。在另一方面,本發(fā)明提供一種用于高效地部署操作系統(tǒng)的方法。該方法包括混合 虛擬硬盤驅(qū)動器文件、引導(dǎo)管理器增強器、和轉(zhuǎn)換器;以及將該虛擬硬盤驅(qū)動器文件、引導(dǎo) 管理器增強器、和轉(zhuǎn)換器傳遞給計算設(shè)備,其中該虛擬硬盤驅(qū)動器文件能夠執(zhí)行該計算設(shè) 備上的初始引導(dǎo)序列。本發(fā)明的第三方面提供其上包含計算機可執(zhí)行指令的計算機存儲介質(zhì),該計算機 可執(zhí)行指令在被執(zhí)行時執(zhí)行一種用于將操作系統(tǒng)部署到計算設(shè)備的方法。該方法包括接收 虛擬硬盤驅(qū)動器文件,其中該虛擬硬盤驅(qū)動器文件包括操作系統(tǒng)指令。虛擬硬盤驅(qū)動器文 件可作為SCSI盤來展示和掛載并且與引導(dǎo)管理器增強器和轉(zhuǎn)換器相關(guān)聯(lián)。該方法還包括 利用引導(dǎo)管理器增強器來增強引導(dǎo)管理器,其中該引導(dǎo)管理器增強器提供引導(dǎo)入口以便將 虛擬硬盤驅(qū)動器文件作為引導(dǎo)選項來展示給計算設(shè)備;確定虛擬硬盤驅(qū)動器位置;存儲虛 擬硬盤驅(qū)動器位置以供轉(zhuǎn)換器利用;實現(xiàn)針對讀/寫請求的轉(zhuǎn)換器,其中該轉(zhuǎn)換器基于虛 擬硬盤驅(qū)動器文件位置在邏輯偏移量和物理偏移量之間轉(zhuǎn)換讀/寫請求;實現(xiàn)SCSI驅(qū)動 器,其中虛擬硬盤驅(qū)動器文件可作為SCSI盤來掛載;以及從虛擬硬盤驅(qū)動器文件開始計算 設(shè)備的初始引導(dǎo)序列。在簡要描述了本發(fā)明的各實施例的概覽后,以下描述適于實現(xiàn)本發(fā)明的各實施例 的示例性操作環(huán)境。大體上參考附圖,并且首先具體參考圖1,示出了適用于實現(xiàn)本發(fā)明的各實施例的 示例性操作環(huán)境,并將其概括指定為計算設(shè)備100。計算設(shè)備100只是合適的計算環(huán)境的一 個示例,并且不旨在對本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)將計算環(huán)境100解 釋為對所示出的任一模塊/組件或其組合有任何依賴性或要求。各實施例可以在計算機代碼或機器可使用指令的一般上下文中描述,機器可使用 指令包括由計算機或諸如個人數(shù)據(jù)助理或其他手持式設(shè)備等其他機器執(zhí)行的諸如程序模 塊等的計算機可執(zhí)行指令。一般而言,包括例程、程序、對象、模塊、數(shù)據(jù)結(jié)構(gòu)等的程序模塊 指的是執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的代碼。各實施例可以在各種系統(tǒng)配置中實 施,這些系統(tǒng)配置包括手持式設(shè)備、消費電子產(chǎn)品、通用計算機、專用計算設(shè)備等等。各實施 例也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備執(zhí)行的分布式計算環(huán)境中實施。繼續(xù)參考圖1,計算設(shè)備100包括直接或間接耦合以下設(shè)備的總線110 存儲器 112、一個或多個處理器114、一個或多個呈現(xiàn)模塊116、輸入/輸出(I/O)端口 118、I/O模 塊120、和說明性電源122??偩€110可以是一條或多條總線(諸如地址總線、數(shù)據(jù)總線、或 其組合)。盡管為了清楚起見用線條示出了圖1的各框,但是在實際上,各模塊的輪廓并不 是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設(shè)備等的呈現(xiàn)模塊認為是I/O模塊。而且,處理器具有存儲器。發(fā)明人關(guān)于此點認識到, 這是本領(lǐng)域的特性,并且重申,圖1的圖示只是例示可結(jié)合一個或多個實施例來使用的示 例性計算設(shè)備。諸如“工作站”、“服務(wù)器”、“膝上型計算機”、“手持式設(shè)備”等分類之間沒有 區(qū)別,它們?nèi)慷急徽J為是在圖1的范圍之內(nèi)的并且被稱為“計算機”或“計算設(shè)備”。計算設(shè)備100通常包括各種計算機可讀介質(zhì)。作為示例而非限制,計算機可讀 介質(zhì)可以包括隨機存取存儲器(RAM);只讀存儲器(ROM);電可擦除可編程只讀存儲器 (EEPROM);閃存或其它存儲器技術(shù);CDR0M、數(shù)字多功能盤(DVD)或其它光或全息介質(zhì);磁帶 盒、磁帶、磁盤存儲或其它磁存儲設(shè)備;載波或可用于對所需信息進行編碼并且可由計算設(shè) 備100訪問的任何其它介質(zhì)。存儲器112包括易失性和/或非易失性存儲器形式的計算機存儲介質(zhì)。存儲器可 以是可移動的、不可移動的或其組合。示例性硬件設(shè)備包括固態(tài)存儲器、硬盤驅(qū)動器、光盤 驅(qū)動器等。計算設(shè)備100包括從諸如存儲器112或I/O模塊120等各種實體讀取數(shù)據(jù)的一 個或多個處理器。呈現(xiàn)模塊116向用戶或其他設(shè)備呈現(xiàn)數(shù)據(jù)指示。示例性呈現(xiàn)模塊包括顯 示設(shè)備、揚聲器、打印模塊、振動模塊等等。I/O端口 118允許計算設(shè)備100在邏輯上耦合 至包括I/O模塊120的其他設(shè)備,其中某些設(shè)備可以是內(nèi)置的。說明性模塊包括話筒、操縱 桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀、打印機、無線設(shè)備等等。參考圖2,示出了例示根據(jù)本發(fā)明的一實施例的用于在計算設(shè)備上部署操作系統(tǒng) 的示例性方法200的流程圖。最初,如框210所示,接收虛擬硬盤驅(qū)動器文件。除了接收虛 擬硬盤驅(qū)動器文件之外,還至少接收引導(dǎo)管理器增強器和轉(zhuǎn)換器??蓪⑻摂M硬盤驅(qū)動器文 件、引導(dǎo)管理器增強器、以及轉(zhuǎn)換器可作為單個文件來接收或者它們可作為兩個或更多文 件來接收。在各實施例中,虛擬硬盤驅(qū)動器文件、引導(dǎo)管理器增強器、以及轉(zhuǎn)換器結(jié)合一個 或多個計算機可讀介質(zhì)來接收。在框210處接收到的虛擬硬盤驅(qū)動器文件通常包括諸如圖1的計算設(shè)備100等計 算設(shè)備的操作系統(tǒng)指令??梢耘c虛擬硬盤驅(qū)動器文件包括在一起或包括在虛擬硬盤驅(qū)動器 文件中的操作系統(tǒng)或操作系統(tǒng)指令包括管理計算機系統(tǒng)資源的共享并提供訪問這些資源 的接口的軟件。虛擬硬盤驅(qū)動器文件還可包括以下組件中的一個或多個驅(qū)動器、操作系統(tǒng) 加載器、引導(dǎo)加載器、附加階段引導(dǎo)加載器、程序模塊、以及本領(lǐng)域的技術(shù)人員已知的用于 方便計算設(shè)備的初始引導(dǎo)序列的其它組件。虛擬硬盤驅(qū)動器文件是允許操縱其中所包含的 數(shù)據(jù)和信息的動態(tài)文件。該虛擬硬盤驅(qū)動器文件的動態(tài)特性允許與虛擬硬盤驅(qū)動器文件相 關(guān)聯(lián)地和/或在虛擬硬盤驅(qū)動器文件上維護持久數(shù)據(jù)。這是有利的,因為如果數(shù)據(jù)和信息 無法持久存儲,靜態(tài)格式則不允許傳統(tǒng)的操作系統(tǒng)體驗。隨后,如框220所示,增強引導(dǎo)管理器。引導(dǎo)管理器可由引導(dǎo)管理器增強器來增 強,其中該增強可包括在引導(dǎo)管理器中添加將虛擬硬盤驅(qū)動器文件作為計算設(shè)備的引導(dǎo)選 項展示的引導(dǎo)入口。引導(dǎo)管理器通常包括可引導(dǎo)指令的可用源的引導(dǎo)入口。增強引導(dǎo)管理 器以包括虛擬硬盤驅(qū)動器的引導(dǎo)入口允許將該虛擬硬盤驅(qū)動器作為計算設(shè)備的可引導(dǎo)選 項來包括。為了使得能夠?qū)⑻摂M硬盤驅(qū)動器文件作為引導(dǎo)選項展示給計算設(shè)備,引導(dǎo)管理 器增強器向該計算設(shè)備提供通常由物理驅(qū)動器提供的信息。物理驅(qū)動器傳統(tǒng)上包括硬盤驅(qū) 動器、軟盤驅(qū)動器、磁帶驅(qū)動器、CDROM、DVD或類似的媒體驅(qū)動器。通常由物理盤提供并因 此可由引導(dǎo)管理器增強器提供的信息包括詳述相關(guān)聯(lián)的驅(qū)動器的規(guī)格的標題(header)和
6腳注(footer)信息。引導(dǎo)管理器增強器提供的標題和腳注信息補充虛擬硬盤驅(qū)動器文件 以使其變成可以展示和掛載的驅(qū)動器。引導(dǎo)管理器增強器對引導(dǎo)管理器的增強可能需要計算設(shè)備或計算設(shè)備的用戶的 額外干預(yù)。該額外干預(yù)可包括操縱與操作系統(tǒng)包含在一起的計算指令或者更改操作系統(tǒng)的 組件。另外,引導(dǎo)管理器增強器還可增強操作系統(tǒng)加載器和計算設(shè)備的內(nèi)核以允許作為計 算設(shè)備中的驅(qū)動器展示和掛載虛擬硬盤驅(qū)動器文件。參考框230,然后確定虛擬硬盤驅(qū)動器文件的位置。一旦接收到虛擬硬盤驅(qū)動器, 就可將其與計算設(shè)備相關(guān)聯(lián)地存儲。在一示例性實施例中,一旦計算設(shè)備接收到虛擬硬盤 驅(qū)動器文件,就將其存儲在與該計算設(shè)備相關(guān)聯(lián)的硬盤上。本領(lǐng)域的技術(shù)人員可以理解和 明白,虛擬硬盤驅(qū)動器文件可以被存儲、保持、或位于計算機可讀介質(zhì)、設(shè)備、或先前與計算 設(shè)備100相關(guān)聯(lián)地討論的組件中的任一個上。虛擬硬盤驅(qū)動器文件的位置可以按各種方式來指示。例如,虛擬硬盤驅(qū)動器文件 位置可由硬盤中存儲虛擬硬盤驅(qū)動器文件的驅(qū)動器標識符、目錄、磁道、扇區(qū)、范圍、或分區(qū) 位置中的一個或多個來指示。作為對虛擬硬盤驅(qū)動器的位置的示例性判定,該位置可由其 中虛擬硬盤驅(qū)動器文件駐留在計算設(shè)備的物理硬盤驅(qū)動器上的分區(qū)位置來標識。如可以在框240處看到的,隨后存儲虛擬硬盤驅(qū)動器位置。虛擬硬盤驅(qū)動器的位 置可以存儲在計算設(shè)備中,例如存儲在先前參考圖1的計算設(shè)備100討論的存儲器112中。 除了本地存儲虛擬硬盤驅(qū)動器位置之外,如在框230處確定的虛擬硬盤驅(qū)動器位置還可以 存儲在網(wǎng)絡(luò)或其它遠程位置上。在框250,然后實現(xiàn)針對讀/寫請求的轉(zhuǎn)換器???50處的轉(zhuǎn)換可轉(zhuǎn)換一個或多個 讀和寫(讀/寫)請求,這些讀/寫請求由計算設(shè)備傳遞至與這些請求相關(guān)聯(lián)地利用的存 儲器、驅(qū)動器、卷驅(qū)動器、以及盤驅(qū)動器。讀/寫請求可由例如圖1的處理器114的處理器 生成并定向到存儲器,例如圖1的存儲器112。轉(zhuǎn)換讀/寫請求的示例包括將讀/寫請求從 在框210處接收到虛擬硬盤驅(qū)動器文件的計算設(shè)備的處理器轉(zhuǎn)換到如框240所示地利用存 儲的位置的虛擬硬盤驅(qū)動器。在該示例中,處理器生成讀/寫請求,該請求被定向到與其中 已存儲虛擬硬盤驅(qū)動器的計算設(shè)備相關(guān)聯(lián)的物理硬盤。轉(zhuǎn)換器應(yīng)用虛擬硬盤驅(qū)動器文件的 位置以創(chuàng)建所請求的物理偏移量和虛擬硬盤驅(qū)動器文件的邏輯偏移量之間轉(zhuǎn)換。邏輯偏移 量被稱為如分別在框230和240處示出的虛擬硬盤驅(qū)動器文件的所確定和所存儲的位置的 結(jié)果。在該示例中,處理器生成被定向到包含虛擬硬盤驅(qū)動器文件的物理盤的物理偏移量 的讀/寫請求。然后基于驅(qū)動器的物理偏移量和虛擬硬盤驅(qū)動器文件的邏輯偏移量來轉(zhuǎn)換 讀/寫請求。本領(lǐng)域的技術(shù)人員可以理解和明白,物理偏移量和邏輯偏移量之間的轉(zhuǎn)換不 限于一個轉(zhuǎn)換方向。轉(zhuǎn)換也可以在邏輯偏移量和物理偏移量之間發(fā)生。另外,轉(zhuǎn)換可以在 由計算設(shè)備及其相關(guān)聯(lián)的處理器發(fā)出的其它命令和請求之間發(fā)生。轉(zhuǎn)換器既不限于讀/寫 請求,也不限于基于虛擬硬盤驅(qū)動器文件、物理驅(qū)動器或請求的偏移位置的轉(zhuǎn)換。任何及所 有這樣的實施例及其任何組合都被構(gòu)想為落在本發(fā)明的各實施例的范圍內(nèi)???50處所表示的轉(zhuǎn)換允許不僅基于虛擬硬盤驅(qū)動器文件相關(guān)聯(lián)地駐留的物理 驅(qū)動器來轉(zhuǎn)換由計算設(shè)備生成的讀/寫請求,而且轉(zhuǎn)換器還可轉(zhuǎn)換至與虛擬硬盤驅(qū)動器相 關(guān)聯(lián)的其它標識位置以及從這些標識位置轉(zhuǎn)換。例如,先前提到的邏輯偏移量可包括虛擬 硬盤驅(qū)動器文件中的塊。因為虛擬硬盤驅(qū)動器文件可能不是物理盤,所以虛擬硬盤驅(qū)動器可能無法利用先前提到的位置標識符中的全部,但轉(zhuǎn)換器可改為轉(zhuǎn)換至虛擬硬盤驅(qū)動器文 件中的塊位置。該轉(zhuǎn)換允許將作為物理偏移量生成的讀/寫請求轉(zhuǎn)換至可包括虛擬硬盤驅(qū) 動器文件中的塊位置引用的邏輯偏移量。如框260所示,隨后開始初始引導(dǎo)序列。計算設(shè)備可以在引導(dǎo)處理器并且處理器 必須搜索BIOS ROM以啟動BIOS引導(dǎo)程序的任何時刻執(zhí)行初始引導(dǎo)序列。這在處理器未在 其相關(guān)聯(lián)的易失性存儲器中存儲指令時發(fā)生。通常,初始引導(dǎo)序列將在計算設(shè)備已經(jīng)斷電 或關(guān)閉時發(fā)生。這些初始引導(dǎo)序列有時可被稱為冷引導(dǎo)。初始引導(dǎo)可與“熱”引導(dǎo)形成對 照。熱引導(dǎo)是其中計算設(shè)備從其中數(shù)據(jù)存儲在處理器的相關(guān)聯(lián)的存儲器中的情況開始引導(dǎo) 的引導(dǎo)序列。熱引導(dǎo)的示例是當(dāng)計算設(shè)備用戶在可從華盛頓州雷蒙德市的微軟公司購買的 基于WINDOWS XP的操作系統(tǒng)中提供輸入ALT+CTRL+DELETE時。在這種情況下,計算設(shè)備已 經(jīng)運行并且數(shù)據(jù)被存儲在處理器的存儲器中。WINDOWS XP操作系統(tǒng)環(huán)境中的初始引導(dǎo)或冷 引導(dǎo)的示例是在計算設(shè)備在開始引導(dǎo)序列之前已經(jīng)完全斷電(通常被稱為關(guān)機)的情況。在當(dāng)前正在利用第一操作系統(tǒng)的計算設(shè)備開始仿真第二操作系統(tǒng)時,所仿真的操 作系統(tǒng)的引導(dǎo)不是初始引導(dǎo)。在這種情況下,計算設(shè)備在引導(dǎo)其它操作系統(tǒng)之前以第一操 作系統(tǒng)運作。因為第一操作系統(tǒng)在計算設(shè)備上運作,所以在引導(dǎo)開始時處理器在其相關(guān)聯(lián) 的存儲器中存儲了數(shù)據(jù)并因此所仿真的操作系統(tǒng)的引導(dǎo)不是初始引導(dǎo)。虛擬硬盤驅(qū)動器、引導(dǎo)管理器增強器、以及轉(zhuǎn)換器中的一個或多個可包含允許掛 載虛擬硬盤驅(qū)動器文件作為計算設(shè)備中的盤的盤驅(qū)動器。在計算設(shè)備中掛載盤允許該計算 設(shè)備訪問包含在該盤上的數(shù)據(jù)。為了掛載盤,通常存在便于掛載以及所得到的對其中所包 含的數(shù)據(jù)的訪問的盤驅(qū)動器。驅(qū)動器可允許任何公知格式下的訪問,諸如但不限于,并行 ΑΤΑ、集成驅(qū)動器電子技術(shù)、EIDE、串行ATA、SATA, SCSI、串行附連SCSI、SAS、增強小型盤接 口、光纖通道、光纖通道仲裁循環(huán)、以及火線接口。本領(lǐng)域的技術(shù)人員將會認識到,可以使用 各種接口來在計算設(shè)備中掛載盤。在本發(fā)明的各實施例中,接口包括SCSI驅(qū)動器,該驅(qū)動 器允許作為計算設(shè)備中的驅(qū)動器展示和掛載虛擬驅(qū)動器文件。另外,在各實施例中,接口包 含方便展示和掛載虛擬硬盤驅(qū)動器文件的SCSI小型端口驅(qū)動器。SCSI小型端口驅(qū)動器利 用所提供的擔(dān)當(dāng)SCSI小型端口驅(qū)動器和操作系統(tǒng)之間的接口的端口驅(qū)動器。SCSI小型端 口驅(qū)動器因此由于相關(guān)聯(lián)的端口驅(qū)動器而可以是較小的驅(qū)動器。SCSI驅(qū)動器或SCSI小型 端口驅(qū)動器可用于展示和掛載虛擬硬盤驅(qū)動器文件并且所得到的所掛載的虛擬硬盤驅(qū)動 器文件可作為SCSI驅(qū)動器由計算設(shè)備識別為并使用。現(xiàn)在轉(zhuǎn)向圖3,示出了例示根據(jù)本發(fā)明的一實施例的用于高效地部署操作系統(tǒng)的 方法300的示例性實施例的流程圖。最初,如框310所示,混合虛擬硬盤驅(qū)動器文件、弓I導(dǎo)管 理器增強器、以及轉(zhuǎn)換器中的一個或多個。如此處所使用的,混合可包括打包或組合一個或 多個文件、指令、或編碼以使得可從所得整個混合物中單獨地標識、提取、或操縱所混合的 每一個個別元素?;旌显试S聚合多個元素以使得所得混合物是原始元素的聚集。在本發(fā)明 的一實施例中,所得混合物包括兩個或更多文件,其中構(gòu)成該混合物的元素中的一個仍舊 作為與其余混合物分開的單獨元素。本領(lǐng)域的技術(shù)人員可以理解和明白,虛擬硬盤驅(qū)動器 文件、引導(dǎo)管理器增強器、以及轉(zhuǎn)換器在框310的混合之前可以是一個文件或若干文件。在 另一實施例中,將引導(dǎo)管理器增強器和轉(zhuǎn)換器結(jié)合到包含在虛擬硬盤驅(qū)動器文件中的其它 程序模塊、代碼、或指令中。在框310處混合的引導(dǎo)管理器增強器用將虛擬硬盤驅(qū)動器文件
8作為可引導(dǎo)驅(qū)動器選項展示給計算設(shè)備的引導(dǎo)入口來增強計算設(shè)備的引導(dǎo)管理器。另外, 在框310處混合的轉(zhuǎn)換器執(zhí)行讀/寫請求在物理偏移量和邏輯偏移量之間的轉(zhuǎn)換。也在框 310處存儲所得的一個或多個混合物以供稍后傳遞。現(xiàn)在參考框320,隨后傳遞虛擬硬盤驅(qū)動器文件、引導(dǎo)管理器增強器、以及轉(zhuǎn)換器。 一旦混合了這些元素中的一個或多個,就將所得的混合物傳遞給計算設(shè)備,例如圖1的計 算設(shè)備100?;旌衔锏膫鬟f可通過多種方法進行??赏ㄟ^USB驅(qū)動器、磁盤、硬盤驅(qū)動器、 CD-ROM、DVD、計算機磁帶、或其它公知計數(shù)據(jù)存儲介質(zhì)來將混合物傳遞給計算設(shè)備。另外, 可通過各種類型的傳輸或廣播來將混合物傳遞給計算設(shè)備。這可包括通過有線或無線連 接、因特網(wǎng)連接、紅外連接、藍牙連接、衛(wèi)星連接、無線電連接或本領(lǐng)域內(nèi)已知的其它通信方 法傳遞。申請人構(gòu)想任何及所有這樣的通信設(shè)備和方法、及其任何組合都落在本發(fā)明的各 實施例的范圍內(nèi)。框320處的虛擬硬盤驅(qū)動器、引導(dǎo)管理器增強器、以及轉(zhuǎn)換器的傳遞可以是單個 傳遞或者可以分布在各種通信方法和通信時間上。在一個示例性實施例中,這種傳遞通過 連接多個計算設(shè)備的網(wǎng)絡(luò)連接發(fā)生。示例是維護連接與該組織相關(guān)聯(lián)的許多計算設(shè)備的網(wǎng) 絡(luò)的大型公司。虛擬硬盤驅(qū)動器、引導(dǎo)管理器增強器、以及轉(zhuǎn)換器被混合成通過公司網(wǎng)絡(luò)傳 遞的單個文件。該公司然后將該混合文件傳遞至與該網(wǎng)絡(luò)相關(guān)聯(lián)的一個、某些、或所有計算 設(shè)備?;旌衔募膫鬟f便于以高效且可靠的方式部署操作系統(tǒng)。該高效部署是通過使用虛 擬引導(dǎo)管理器增強器、轉(zhuǎn)換器、以及SCSI小型端口驅(qū)動器中的一個或多個來實現(xiàn)的。現(xiàn)在轉(zhuǎn)向圖4,示出了例示根據(jù)本發(fā)明的一實施例的用于部署操作系統(tǒng)的高效方 法400的另一實施例的流程圖。最初,在框410處,接收虛擬硬盤驅(qū)動器文件。該虛擬硬盤 驅(qū)動器文件與引導(dǎo)管理器增強器和轉(zhuǎn)換器中的一個或多個混合???10的一實施例包括接 收已經(jīng)與引導(dǎo)管理器增強器和轉(zhuǎn)換器兩者混合的虛擬硬盤驅(qū)動器文件。該虛擬硬盤驅(qū)動器 文件包含用于允許接收該虛擬硬盤驅(qū)動器文件的計算設(shè)備用該虛擬硬盤驅(qū)動器文件來執(zhí) 行初始引導(dǎo)序列的一個或多個操作系統(tǒng)指令和計算機模塊。接著,如框420所示,增強引導(dǎo)管理器。用引導(dǎo)管理器增強器來實現(xiàn)引導(dǎo)管理器的 增強。引導(dǎo)管理器由引導(dǎo)管理器增強器通過對于引導(dǎo)管理器包括引導(dǎo)入口來增強。該引導(dǎo) 入口被定向到虛擬硬盤驅(qū)動器文件,這因此將該該虛擬硬盤驅(qū)動器文件作為可引導(dǎo)選項展 示給計算設(shè)備。本發(fā)明的一實施例允許引導(dǎo)管理器由引導(dǎo)管理器增強器來增強以使得將展 示虛擬硬盤驅(qū)動器文件的引導(dǎo)入口包括在引導(dǎo)管理器中,如框430所示。接著,如框440所示,確定虛擬硬盤驅(qū)動器的位置,即虛擬硬盤驅(qū)動器文件相對于 該虛擬硬盤驅(qū)動器與其相關(guān)聯(lián)地存儲的物理驅(qū)動器的位置。在一示例性實施例中,該位置 作為物理盤的扇區(qū)和偏移量來提供。如框450所示,然后由計算設(shè)備存儲虛擬硬盤驅(qū)動器 的位置。存儲該位置以供稍后由轉(zhuǎn)換器用來確定讀/寫請求在物理偏移量和邏輯偏移量之 間的轉(zhuǎn)換。接著,如框460所示,掛載虛擬硬盤驅(qū)動器。如上所述,當(dāng)掛載了驅(qū)動器時,與所掛 載的驅(qū)動器相關(guān)聯(lián)的計算設(shè)備能夠訪問包含在該驅(qū)動器內(nèi)的數(shù)據(jù)。本發(fā)明的一實施例包括 使用SCSI小型端口驅(qū)動器來方便將虛擬硬盤驅(qū)動器文件作為SCSI驅(qū)動器來掛載。作為該 實施例的結(jié)果,虛擬硬盤驅(qū)動器文件可作為用于讀取和寫入數(shù)據(jù)的驅(qū)動器來由計算設(shè)備訪 問。
9
隨后,如框470所示,實現(xiàn)針對讀/寫請求的轉(zhuǎn)換器。如上所述,轉(zhuǎn)換器在讀/寫 請求的物理偏移量和邏輯偏移量之間轉(zhuǎn)換。在一個示例性實施例中,轉(zhuǎn)換基于在框440處 確定并在框450處存儲的虛擬硬盤驅(qū)動器文件的位置。位置信息便于物理偏移量和邏輯偏 移量之間的轉(zhuǎn)換。如框480所示,然后開始初始引導(dǎo)序列。來自虛擬硬盤驅(qū)動器文件的初始引導(dǎo)序 列要求展示虛擬硬盤驅(qū)動器作為可引導(dǎo)選項,確定虛擬硬盤驅(qū)動器文件的位置,將虛擬硬 盤驅(qū)動器文件作為驅(qū)動器來掛載,轉(zhuǎn)換器提供物理偏移量和邏輯偏移量之間的轉(zhuǎn)換,以及 虛擬硬盤驅(qū)動器文件包含操作系統(tǒng)指令或其它程序模塊。參考圖5,示出了顯示被配置成用于實現(xiàn)本發(fā)明的各實施例的示例性計算系統(tǒng)體 系結(jié)構(gòu)500的框圖。本領(lǐng)域的技術(shù)人員將理解和明白,圖5所示的計算系統(tǒng)體系結(jié)構(gòu)500僅 僅是一個合適的計算系統(tǒng)的示例,并且不旨在對本發(fā)明的使用范圍或功能提出任何限制。 也不應(yīng)該將計算系統(tǒng)體系結(jié)構(gòu)500解釋為對其中所示出的任何單個模塊/組件或各模塊/ 組件的組合有任何依賴性或要求。計算系統(tǒng)體系結(jié)構(gòu)500包括經(jīng)由網(wǎng)絡(luò)506彼此通信的服務(wù)器502和計算設(shè)備504。 網(wǎng)絡(luò)506可以包括但不限于,一個或多個局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。這樣的聯(lián)網(wǎng)環(huán) 境在辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。因此,網(wǎng)絡(luò)506不在此進
一步描述。圖2所示的服務(wù)器502和計算設(shè)備504中的每一個都可以是任何類型的計算設(shè) 備,諸如例如以上參考圖1描述的計算設(shè)備100。僅作為示例而非限制,服務(wù)器502和計算 設(shè)備504中的每一個可以是個人計算機、臺式計算機、膝上型計算機、手持式設(shè)備、移動手 機、消費電子設(shè)備等。另外,計算設(shè)備504還可包括鍵盤、鍵區(qū)、指示筆、操縱桿以及允許用 戶向網(wǎng)絡(luò)506提供有線和無線數(shù)據(jù)的任何其他輸入發(fā)起組件。然而,應(yīng)當(dāng)注意,本發(fā)明不限 于在這些計算設(shè)備上實現(xiàn),而是可在處于其各實施例的范圍內(nèi)的各種不同類型的計算設(shè)備 的任一種上實現(xiàn)。服務(wù)器502可以包括可配置來執(zhí)行此處所描述的方法的任何類型的應(yīng)用服務(wù)器、 數(shù)據(jù)庫服務(wù)器、或文件服務(wù)器。另外,服務(wù)器502可以是專用或共享服務(wù)器。服務(wù)器502的 各組件(為清楚起見未示出)可以包括,但不限于,處理單元、內(nèi)部系統(tǒng)存儲器、和用于耦合 包括用于存儲信息(例如文件和與其相關(guān)聯(lián)的元數(shù)據(jù))的一個或多個數(shù)據(jù)庫在內(nèi)的各系統(tǒng) 組件的合適的系統(tǒng)總線。每一服務(wù)器通常包括或可以訪問各種計算機可讀介質(zhì)。服務(wù)器502包括虛擬硬盤驅(qū)動器508、引導(dǎo)管理器增強器510以及轉(zhuǎn)換器512。在 某些實施例中,所示組件508、510、和512中的一個或多個可被實現(xiàn)為獨立應(yīng)用程序。在其 它實施例中,所示組件508、510、和512中的一個或多個可以直接集成到服務(wù)器502和/或 計算設(shè)備504的操作系統(tǒng)中。本領(lǐng)域普通技術(shù)人員可以理解,圖5所示的組件508、510、和 512在本質(zhì)和數(shù)量上是示例性的,并且不應(yīng)被解釋為限制。可以采用任何數(shù)量的組件來實現(xiàn) 本發(fā)明的各實施例的范圍內(nèi)的所需功能。虛擬硬盤驅(qū)動器508可包括方便部署和引導(dǎo)操作系統(tǒng)的操作系統(tǒng)指令和其它計 算機模塊。另外,虛擬硬盤驅(qū)動器508可包括作為諸如計算設(shè)備504等計算設(shè)備中的驅(qū)動 器展示和掛載虛擬硬盤驅(qū)動器508所需的驅(qū)動器或其它接口。引導(dǎo)管理器增強器510提供允許增強引導(dǎo)管理器以使得虛擬硬盤驅(qū)動器508可被識別為對于計算設(shè)備504的可引導(dǎo)選項的信息、數(shù)據(jù)、或指令。在一個示例性實施例中,引 導(dǎo)管理器增強器510更改與虛擬硬盤驅(qū)動器文件相關(guān)聯(lián)的計算系統(tǒng)的引導(dǎo)管理器以包括 引導(dǎo)入口。在引導(dǎo)管理器中添加引導(dǎo)入口允許作為計算設(shè)備的驅(qū)動器展示和掛載虛擬硬盤 驅(qū)動器文件。轉(zhuǎn)換器512包括用于轉(zhuǎn)換讀/寫請求的信息、數(shù)據(jù)、或指令。由轉(zhuǎn)換器512完成的 轉(zhuǎn)換在物理偏移量和邏輯偏移量之間以允許虛擬硬盤驅(qū)動器508作為驅(qū)動器由計算設(shè)備 504來訪問。在一替換實施例中,轉(zhuǎn)換器512的轉(zhuǎn)換在存儲虛擬硬盤驅(qū)動器文件的物理驅(qū)動 器的位置和虛擬硬盤驅(qū)動器文件的塊位置之間轉(zhuǎn)換。轉(zhuǎn)換器512允許將由計算設(shè)備生成的 讀/寫請求轉(zhuǎn)換成可訪問和操縱虛擬硬盤驅(qū)動器508的數(shù)據(jù)的請求。本領(lǐng)域的普通技術(shù)人員將會理解,計算系統(tǒng)體系結(jié)構(gòu)500僅是示例性的。盡管服 務(wù)器502和計算設(shè)備506被示為單個單元,但本領(lǐng)域的技術(shù)人員將理解,服務(wù)器502和計算 設(shè)備504都是可伸縮的。例如,服務(wù)器502實際上可包括彼此通信的多個服務(wù)器并且計算 設(shè)備504可包括彼此通信并且與服務(wù)器502進行通信的多個計算設(shè)備。單個單元描繪是為 了清楚起見,而不意味著以任何形式限制各實施例的范圍。可以理解,本發(fā)明的各實施例涉及用于高效地部署操作系統(tǒng)的方法和計算機存儲 介質(zhì)。將包含操作系統(tǒng)指令的混合虛擬硬盤驅(qū)動器文件分發(fā)給計算設(shè)備。在接收到虛擬硬 盤驅(qū)動器文件后,計算設(shè)備得以增強以允許該虛擬硬盤驅(qū)動器文件成為弓I導(dǎo)選項和可掛載 驅(qū)動器。該混合虛擬硬盤驅(qū)動器文件可包含附加數(shù)據(jù)和信息,該附加數(shù)據(jù)和信息將允許展 示該虛擬硬盤驅(qū)動器文件作為引導(dǎo)選項并掛載該虛擬硬盤驅(qū)動器文件作為計算設(shè)備中的 驅(qū)動器。計算設(shè)備然后可將虛擬硬盤驅(qū)動器文件用作以初始引導(dǎo)序列開頭的虛擬驅(qū)動器。參考各具體實施方式
描述了本發(fā)明,各具體實施方式
在所有方面都旨在是說明性 的而非限制性的。在不背離本發(fā)明范圍的情況下各替換實施方式對本發(fā)明所屬領(lǐng)域的普通 技術(shù)人員將變得顯而易見。從前述內(nèi)容可知,本發(fā)明很好地適用于實現(xiàn)前述的所有目的和目標,并且具有對 于該系統(tǒng)和方式是顯而易見且固有的其他優(yōu)點??梢岳斫?,特定的特征和子組合是有用的, 并且可以在不參考其它特征和子組合的情況下使用。這由權(quán)利要求書所構(gòu)想并在其范圍之 內(nèi)。
權(quán)利要求
一種或多種其上包含計算機可執(zhí)行指令的計算機存儲介質(zhì),所述指令在被執(zhí)行時執(zhí)行一種用于在計算設(shè)備上部署操作系統(tǒng)的方法,所述方法包括接收具有一個或多個操作系統(tǒng)指令的虛擬硬盤驅(qū)動器(VHD)文件(210),所述VHD文件與引導(dǎo)管理器增強器和轉(zhuǎn)換器相關(guān)聯(lián);利用所述引導(dǎo)管理器增強器來增強引導(dǎo)管理器(220);確定VHD文件位置(230);存儲所述VHD文件位置(240);實現(xiàn)所述轉(zhuǎn)換器以便對讀/寫請求應(yīng)用所述VHD文件位置(250);以及從所述VHD文件開始初始引導(dǎo)序列(260)。
2.如權(quán)利要求1所述的計算機存儲介質(zhì),其特征在于,所述方法還包括將所述VHD文 件、所述引導(dǎo)管理器增強器、以及所述轉(zhuǎn)換器作為單個文件來接收。
3.如權(quán)利要求1所述的計算機存儲介質(zhì),其特征在于,所述方法還包括將所述VHD文 件、所述引導(dǎo)管理器增強器、以及所述轉(zhuǎn)換器作為兩個或更多文件來接收。
4.如權(quán)利要求1所述的計算機存儲介質(zhì),其特征在于,利用所述引導(dǎo)管理器增強器來 增強引導(dǎo)管理器包括利用所述引導(dǎo)管理器增強器來用展示所述VHD文件的引導(dǎo)入口來增 強所述引導(dǎo)管理器。
5.如權(quán)利要求1所述的計算機存儲介質(zhì),其特征在于,實現(xiàn)所述轉(zhuǎn)換器以便對讀/寫請 求應(yīng)用所述VHD文件位置還包括利用所述轉(zhuǎn)換器來在邏輯偏移量和物理偏移量之間轉(zhuǎn)換 請求。
6.如權(quán)利要求1所述的計算機存儲介質(zhì),其特征在于,所述VHD文件與操作系統(tǒng)加載器 和內(nèi)核相關(guān)聯(lián),并且其中所述方法還包括對所述引導(dǎo)管理器、所述操作系統(tǒng)加載器、以及所 述內(nèi)核中的一個或多個應(yīng)用所述轉(zhuǎn)換器。
7.如權(quán)利要求1所述的計算機存儲介質(zhì),其特征在于,所述方法還包括掛載所述VHD文 件以創(chuàng)建所掛載的VHD文件(460)。
8.如權(quán)利要求1所述的計算機存儲介質(zhì),其特征在于,所述方法還包括加載SCSI驅(qū)動 器以便于在所述VHD文件和所述計算設(shè)備之間進行通信。
9.如權(quán)利要求8所述的計算機存儲介質(zhì),其特征在于,所掛載的VHD文件被表示為所述 計算設(shè)備的SCSI盤。
10.一種用于高效地部署計算設(shè)備操作系統(tǒng)的方法,所述方法包括混合虛擬硬盤驅(qū)動器(VHD)文件、引導(dǎo)管理器增強器、以及轉(zhuǎn)換器(310);以及將所述VHD文件、所述引導(dǎo)管理器增強器、以及所述轉(zhuǎn)換器傳遞至所述計算設(shè)備,其中 所述VHD文件能夠在所述計算設(shè)備上執(zhí)行初始引導(dǎo)序列(320)。
11.如權(quán)利要求10所述的方法,其特征在于,所述VHD文件、所述引導(dǎo)管理器增強器以 及所述轉(zhuǎn)換器被混合成一個文件。
12.如權(quán)利要求10所述的方法,其特征在于,混合所述VHD文件、所述引導(dǎo)管理器增強 器、以及所述轉(zhuǎn)換器以使得所述VHD文件、所述引導(dǎo)管理器增強器、或者所述轉(zhuǎn)換器中的至 少一個仍舊作為獨立文件。
13.如權(quán)利要求10所述的方法,其特征在于,所述方法還包括將所述引導(dǎo)管理器增強 器與允許將所述VHD文件作為引導(dǎo)選項展示給所述計算設(shè)備的VHD文件引導(dǎo)入口相關(guān)聯(lián)。
14.如權(quán)利要求10所述的方法,其特征在于,所述方法還包括利用所述轉(zhuǎn)換器來在邏 輯偏移量和物理偏移量之間進行轉(zhuǎn)換。
15.如權(quán)利要求10所述的方法,其特征在于,所述VHD文件包含一個或多個操作系統(tǒng)指令。
16.如權(quán)利要求10所述的方法,其特征在于,所述VHD文件、所述引導(dǎo)管理器增強器、或 者所述轉(zhuǎn)換器中的一個或多個包含SCSI驅(qū)動器。
17.如權(quán)利要求10所述的方法,其特征在于,所述VHD文件或所述轉(zhuǎn)換器中的任一個包 含方便在所述VHD文件和所述計算設(shè)備之間進行通信的SCSI驅(qū)動器。
18.如權(quán)利要求10所述的方法,其特征在于,還包括掛載所述VDH文件以創(chuàng)建所掛載的 VHD文件,其中所掛載的VHD文件作為邏輯盤展示給所述計算設(shè)備。
19.如權(quán)利要求18所述的方法,其特征在于,所掛載的VHD文件由所述計算設(shè)備識別為 SCSI ο
20.一種或多種其上包含計算機可執(zhí)行指令的計算機存儲介質(zhì),所述指令在被執(zhí)行時 執(zhí)行一種用于將操作系統(tǒng)部署到計算設(shè)備上的方法,所述方法包括接收虛擬硬盤驅(qū)動器(VHD)文件(410),其中所述VHD文件包括一個或多個操作系統(tǒng)指 令,其中所述VHD文件可作為SCSI盤來展示和掛載,并且其中所述VHD文件與引導(dǎo)管理器 增強器和轉(zhuǎn)換器相關(guān)聯(lián);利用所述引導(dǎo)管理器增強器來增強引導(dǎo)管理器(420),其中所述引導(dǎo)管理器增強器提 供將所述VHD文件作為弓I導(dǎo)選項展示給所述計算設(shè)備的引導(dǎo)入口; 確定VHD文件位置(440);存儲所述VHD文件位置以供所述轉(zhuǎn)換器利用(450);實現(xiàn)針對讀/寫請求的轉(zhuǎn)換器,其中所述轉(zhuǎn)換器基于所述VHD文件位置來在邏輯偏移 量和物理偏移量之間轉(zhuǎn)換讀/寫請求(470);實現(xiàn)SCSI驅(qū)動器(460),其中所述VHD文件可作為SCSI盤來掛載;以及 利用所述VHD文件來開始所述計算設(shè)備的初始引導(dǎo)序列(480)。
全文摘要
提供了用于高效地部署操作系統(tǒng)的方法和計算機存儲介質(zhì)。虛擬硬盤驅(qū)動器文件由計算設(shè)備接收。在接收到虛擬驅(qū)動器硬盤文件后,該計算設(shè)備得以增強并且作為該計算設(shè)備的驅(qū)動器和引導(dǎo)選項展示并掛載虛擬硬盤驅(qū)動器。此后,可以利用虛擬硬盤驅(qū)動器文件作為引導(dǎo)源來開始初始引導(dǎo)序列。在某些實施例中,利用引導(dǎo)管理器增強器和轉(zhuǎn)換器來進行對虛擬硬盤驅(qū)動器文件的展示、掛載和轉(zhuǎn)換中的一個或多個。在某些實施例中,利用虛擬SCSI小型端口驅(qū)動器來進行對虛擬硬盤驅(qū)動器文件的展示、掛載和轉(zhuǎn)換中的一個或多個。
文檔編號G06F9/445GK101884037SQ200880119972
公開日2010年11月10日 申請日期2008年11月21日 優(yōu)先權(quán)日2007年12月3日
發(fā)明者S·N·阿拉法 申請人:微軟公司