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