如何大規(guī)模的部署和生產(chǎn)XPE操作系統(tǒng)映像
系統(tǒng)克隆過程保證了部署的每個運行時映像都有唯一的安全 ID (SID) 和計算機名。System Cloning Tool (系統(tǒng)克隆工具)組件重置 FBA 階段,因而當(dāng)運行時映像第一次啟動時,一個唯一的 SID 和計算機名被分配給該系統(tǒng)。
本文的主要內(nèi)容:
- 描述重新封裝和克隆過程。
- 描述它們的目的。
- 為生產(chǎn)部署包裝 OS 映像。
克隆過程
首先我們需要放下我們原來思維中的克隆概念,XPE的克隆過程是從 Target Designer (目標(biāo)設(shè)計器)中為預(yù)期設(shè)備的硬件生成運行時映像就開始了。不同設(shè)備之間較小的硬件差異,比如寫入 ROM 的 OEM 保留區(qū)的序列號,或不同的 Media Access Control (媒介訪問控制)地址,是可以容忍的,因為它們要么被硬編碼在固件中,或者這些差異太小而不會影響 FBA 階段的長度太多。但是主要的硬件變化,比如不同的芯片集或具有不同即插即用標(biāo)識符的以太網(wǎng)卡,使用System Clone功能就是不可取的了,因為它們會添加多個設(shè)備驅(qū)動程序。為不同硬件添加多個設(shè)備驅(qū)動程序是不推薦的。這會延長 FBA 階段的長度,且增加運行時映像的大小,這與XPE構(gòu)建最小系統(tǒng)尺寸的目標(biāo)是反其道而行的。下圖顯示了XPE中克隆過程的概述:
克隆過程由下面的兩個階段組成:
- 重新封裝階段:克隆過程在主設(shè)備上執(zhí)行重新封裝階段。通常,重新封裝階段將在克隆階段之前的重新啟動前發(fā)生。重新封裝階段完成后,設(shè)備必須在隨后的重新啟動發(fā)生前立即關(guān)掉。重新封裝階段完成后,在磁盤上的映像就可以克隆了。
- 克隆階段:克隆階段在重新封裝階段后映像第一次啟動時自動開始。克隆的設(shè)備從主設(shè)備在重新封裝階段后被停止的地方繼續(xù)。在克隆階段期間,來自主設(shè)備的計算機上所有出現(xiàn) SID的 位置被替換成一個唯一的計算機 SID。
重新封裝
重新封裝階段被用來為克隆重置運行庫映像。在您能夠部署運行時映像到多個系統(tǒng)之前,您必須在設(shè)備上運行 FBA 一次來配置運行時映像。這就成為被克隆的主映像。通過重新封裝該運行時映像,F(xiàn)BA 的一個子集在把被克隆的映像部署到多個系統(tǒng)上時運行。該子集標(biāo)識新的設(shè)備并重置計算機 SID。
運行時映像通常只在 FBA 階段已經(jīng)完成,并且對運行時映像的任何修改已經(jīng)執(zhí)行之后,才被重新封裝。明確地說,運行時映像在 FBA 調(diào)用 cmiResealPhase 函數(shù)時被重新封裝。當(dāng)重新封裝發(fā)生時,您可以設(shè)置階段;階段 0 和 12,000 是支持的。下圖顯示了 FBA 階段:
如果階段被設(shè)置得太早,它可能干擾其它 FBA 操作且產(chǎn)生不可預(yù)期的結(jié)果,比如運行時映像不工作。
如果您設(shè)置 cmiResealPhase 屬性為 0,則只有克隆工具被復(fù)制到運行時映像,且克隆階段在 FBA 的最后不會自動發(fā)生。通過延遲重新封裝階段,您可以對您的運行時映像在 FBA 之后做額外的更新 。您可以安裝應(yīng)用程序,或?qū)δ倪\行時映像做其它改變,例如安裝驅(qū)動,設(shè)置注冊表等...如果 cmiResealPhase 屬性被設(shè)置為 0,您必須手工使用 Fbreseal.exe 工具來開始重新封裝階段。您可以在運行時映像的 %Windir%\System32 目錄中找到該工具。當(dāng)重新封裝階段結(jié)束時,將顯示一條消息。選擇 Shutdown (關(guān)機)以關(guān)閉系統(tǒng)或 Reboot (重新啟動)以重新啟動它。
為克隆配置和創(chuàng)建運行時映像
要為克隆配置和創(chuàng)建運行時映像,您必須添加 System Cloning Tool (系統(tǒng)克隆工具)組件到配置中。通過展開 System Cloning Tool (系統(tǒng)克隆工具),點擊 Settings (設(shè)置),然后在詳細(xì)信息窗格中點擊 Advanced (高級),可以配置高級設(shè)置屬性。Advanced Component Properties (高級組件屬性)窗口 打開。在 cmiResealPhase 框中,鍵入在哪個階段期間重新封裝發(fā)生。如上所述,只有階段 0 和 12,000 是支持的。檢測依賴項并生成映像。映像生成后,把它復(fù)制到目標(biāo)設(shè)備上。
為克隆準(zhǔn)備一個主運行時映像
您創(chuàng)建主運行時映像后,把主運行時映像復(fù)制到您的設(shè)備。啟動設(shè)備并讓 FBA 階段運行。FBA 階段完成后,目標(biāo)就可以部署了。
總結(jié)
開發(fā) Windows Embedded Standard 2009 操作系統(tǒng)映像的目標(biāo)最終是要交付一個產(chǎn)品給客戶。完成開發(fā)過程并校驗硬件和軟件正確后,就是時候把操作系統(tǒng)推出實驗室并提供給客戶了。為生產(chǎn)部署準(zhǔn)備一個映像要求在同樣的機器上安裝您新開發(fā)的操作系統(tǒng),并確保當(dāng)客戶收到它們后,它們將是開箱即用的。在聯(lián)網(wǎng)的環(huán)境中,您應(yīng)當(dāng)給每個設(shè)備提供一個唯一的 SID 給客戶。要這樣做,您需要添加 System Cloning Tool (系統(tǒng)克隆工具)到配置并經(jīng)歷重新封裝和克隆的過程來為大規(guī)模部署創(chuàng)建映像.
【編輯推薦】