虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)的分析及改進(jìn).doc_第1頁
虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)的分析及改進(jìn).doc_第2頁
虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)的分析及改進(jìn).doc_第3頁
虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)的分析及改進(jìn).doc_第4頁
虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)的分析及改進(jìn).doc_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 學(xué)號_ 密級_ 武漢大學(xué)本科畢業(yè)論文武漢大學(xué)本科畢業(yè)論文虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)的分析與改進(jìn)虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)的分析與改進(jìn)院(系)名 稱:計(jì)算機(jī)學(xué)院專 業(yè) 名 稱 :計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 生 姓 名 :王成指 導(dǎo) 教 師 :陳江漢 副教授 二一一年六月BACHELORSBACHELORS DEGREEDEGREE THESISTHESIS OFOF WUHANWUHAN UNIVERSITYUNIVERSITYAnalysingAnalysing andand ImprovingImproving thethe TechnologyTechnology ofof NativeNative B

2、ootBoot fromfrom VHDVHDCollege :Comptuter SchoolSubject :Cmputer Science And TechnologyName : Wang ChengDirected by : Chen Jianghan Associate Professor June 2011鄭 重 聲 明本人呈交的學(xué)位論文,是在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料真實(shí)可靠。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含他人享有著作權(quán)的內(nèi)容.對本論文所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集體,均已在文中以明確的方式標(biāo)明。本學(xué)

3、位論文的知識產(chǎn)權(quán)歸屬于培養(yǎng)單位。本人簽名: 日期: 摘摘 要要當(dāng)下微軟公司推出的 Windows 7 和 Windows Server 2008 增加了一項(xiàng)新功能:原生支持從 VHD 啟動(dòng)(Native boot from VHD),也就是說在系統(tǒng)內(nèi)核以及啟動(dòng)引導(dǎo)中增加了對 VHD 的支持。強(qiáng)大、快速、方便原生支持 VHD 啟動(dòng)一個(gè)看似不起眼的功能卻蘊(yùn)藏著巨大的潛力,它將帶來系統(tǒng)使用、備份和還原等各方面的巨大變革。但是從 VHD 啟動(dòng)還是存在很多的限制。例如,早期版本的 Windows 并不支持從 VHD啟動(dòng)計(jì)算機(jī),你也無法從 VHD 中啟動(dòng)早期版本的 Windows。本論文通過分析當(dāng)前 VH

4、D 啟動(dòng)計(jì)算機(jī)的技術(shù),發(fā)現(xiàn) Windows7 原生態(tài)支持 VHD啟動(dòng)計(jì)算機(jī)主要在于系統(tǒng)中添加了 VHD 支持的相關(guān)驅(qū)動(dòng),并且系統(tǒng)的引導(dǎo)文件上做出了本質(zhì)上的改變,在 NT5。x 系統(tǒng)(如 WinXP)中啟動(dòng)機(jī)器的過程由 NT Loader 完成,NTLDR 文件負(fù)責(zé)引導(dǎo)并由 Boot。ini 存儲啟動(dòng)設(shè)置數(shù)據(jù), 從 Vista開始 WinNT 版本號升級到 6。x,引導(dǎo)程序也由功能更加強(qiáng)大的 Windows Boot Manager 接管,Windows Boot Manager 的引導(dǎo)文件為 bootmgr,而啟動(dòng)設(shè)置數(shù)據(jù)文件也由 boot.ini 更改為 BCD,由此,我們嘗試更改 WIND

5、OWS XP 上的引導(dǎo)文件和數(shù)據(jù)文件,使得 WINDOWS XP 系統(tǒng)的計(jì)算機(jī)能夠支持 VHD 啟動(dòng)計(jì)算機(jī). 關(guān)鍵詞關(guān)鍵詞: :VHD;啟動(dòng);系統(tǒng)ABSTRACTThe Microsoft has launched a new function named native support boot from VHD in Windows and Windows Server 2008。That is to say,they added the VHD support in system and startup guide。The technoogy of native boot from VHD

6、 has a deep influence on computers development。There are still some limits on VHD,for example,the earlyversions of Windows dont support this technology and you cant boot from VHD with a system fo early Windows versions.This article found the fact that Windows 7 can native boot fromVHD is due to the

7、drive which added to Windows 7 system,on the other hand,the guide has essentially changed。In the system of NT5。x(such as windows XP),the process of booting is maked by NT Loader,NT Loader is inchage of the boot and the Boot。ini store the boot configutation data.But from Vista on,the WinNT increase t

8、o 6.x.NT Loarder is instead by Windows Boot Manager which is stronger.Windows Boot Managers boot file is bootmgr,and the boot configutation data file became BCD instead of boot。ini。Therefore,we can make Windows XP support boot from VHD if we modify the boot loader and configutation data。Keywords:VHD

9、;native boot;system目 錄摘摘 要要.IABSTRACT.II第第 1 1 章章 緒論緒論.11.1 研究背景.11。2 虛擬硬盤啟動(dòng)計(jì)算機(jī)的研究現(xiàn)狀 .31。3 論文結(jié)構(gòu)介紹.41。4 本章小結(jié) .4第第 2 2 章章 虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)原理虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)原理.52.1 VHD 的技術(shù)介紹 .52.2 啟動(dòng)項(xiàng)管理 BCDEDIT.62.3 VHD 的創(chuàng)建、附加及分離 .72.3.1 DISK MANAGEMENT方法 .72。3.2 DISKPART方法.102。4 本章小結(jié) .12第第 3 3 章章 虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)分析虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)分析.133

10、。1。1 創(chuàng)建和附加一個(gè) VHD .133.1。2 定位一個(gè)INSTALL.WIM鏡像文件然后應(yīng)用到 VHD .133.1。3 定位一個(gè)INSTALL。WIM鏡像文件然后應(yīng)用到 VHD .143。1.4 將 VHD 的系統(tǒng)啟動(dòng)信息寫入 BCD .143。3 本章小結(jié) .15第第 4 4 章虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)改進(jìn)章虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)改進(jìn).164。1 在 WINDOWS XP 系統(tǒng)上實(shí)現(xiàn) VHD 啟動(dòng) WINDOWS 7 .164.2 將低版本的WINDOWS操作系統(tǒng)裝入 VHD 并啟動(dòng) .194.3 本章小結(jié) .21總結(jié)總結(jié).22參考文獻(xiàn)參考文獻(xiàn).23致謝致謝.25第第 1 1 章章 緒

11、論緒論1.11.1 研究背景研究背景VHD(Virtual Hard Disk)顧名思義是虛擬的硬盤,具有物理硬盤一樣的特性,可以執(zhí)行分區(qū)、格式化讀寫等標(biāo)準(zhǔn)的磁盤操作。絕大多數(shù)人最初接觸 VHD 格式的文件,是在使用 Virtual PC 或者 Virtual Server 時(shí),VHD 是以文件形式存在的虛擬機(jī)的磁盤.微軟在 2005 年公開了 VHD 格式文件的全部細(xì)節(jié),可以從微軟的 TechNet 網(wǎng)站下載 Virtual Hard Disk Image Format Specification,詳情見參考文獻(xiàn)。這說明了微軟不僅僅要把 VHD 應(yīng)用在虛擬機(jī)領(lǐng)域,更希望 VHD 能夠成為一種

12、新的磁盤格式和載體在業(yè)界得到更多的支持。讓我們拋開虛擬機(jī),把目光集中在 VHD 文件本身.VHD 是一塊虛擬的硬盤,不同于傳統(tǒng)硬盤的盤片、磁頭和磁道,VHD 硬盤的載體是文件系統(tǒng)上的一個(gè) VHD 文件.當(dāng)我們查看 VHD 文件的技術(shù)標(biāo)準(zhǔn),就會(huì)發(fā)現(xiàn)標(biāo)準(zhǔn)中定義了很多 Cylinder、Heads 和 Sectors 等硬盤特有的術(shù)語,來模擬針對硬盤的 I/O 操作。既然 VHD 是一塊硬盤,那么就可以跟物理硬盤一樣,進(jìn)行分區(qū)、格式化、讀寫等操作。我們這可以這樣認(rèn)為,VHD 也是硬盤的一種,就像 2.5 寸、3。5 寸、SCSI、SATA、IDE 等不同規(guī)格的硬盤一樣,VHD 是在一個(gè)文件中的硬盤。

13、文檔為個(gè)人收集整理,來源于網(wǎng)絡(luò)個(gè)人收集整理,勿做商業(yè)用途根據(jù)微軟虛擬硬盤映像格式規(guī)范,VHD 分為固定虛擬硬盤、動(dòng)態(tài)擴(kuò)展虛擬硬盤、差異虛擬硬盤三種類型。固定虛擬硬盤:此類 VHD 需要的物理存儲空間與創(chuàng)建磁盤時(shí)為其指定的大小相同,也就是 VHD 文件的大小與虛擬硬盤大小相同,而且保持不變.固定 VHD 的大小不會(huì)隨著向虛擬硬盤寫入數(shù)據(jù)而變化,其 I/O 性能比另外兩種類型的 VHD 要高。動(dòng)態(tài)擴(kuò)展虛擬硬盤:此類 VHD 創(chuàng)建時(shí)只占較少的硬盤空間,隨著虛擬硬盤的使用,VHD 文件的不斷增長,最高達(dá)到創(chuàng)建虛擬硬盤時(shí)指定的最大大小,刪除 VHD中的數(shù)據(jù)不會(huì)自動(dòng)減少動(dòng)態(tài) VHD 大小。差異虛擬硬盤:此

14、類 VHD 是與另一虛擬硬盤以父子關(guān)系相關(guān)聯(lián)的虛擬硬盤,差異硬盤是子,關(guān)聯(lián)的虛擬硬盤是父,父 VHD 可以為任何類型的虛擬硬盤;差異VHD 存儲對父 VHD 所做的所有更改,并提供了一種技術(shù)而不改變父硬盤的內(nèi)容。要把 VHD 文件當(dāng)做物理硬盤一樣讀寫,必須要有相應(yīng)的驅(qū)動(dòng)程序.在 09 年 10月正式推出的 Windows7 中,其啟動(dòng)部分和內(nèi)核驅(qū)動(dòng)程序內(nèi)置了對 VHD 文件讀寫的支持,我們在使用 Windows7 時(shí),不僅可以通過加載 VHD 直接訪問 VHD 文件中的內(nèi)容,也可以通過 Windows7 的引導(dǎo)程序直接啟動(dòng)已安裝于 VHD 磁盤上的另一個(gè)操作系統(tǒng).就是你不需要在硬盤上安裝任何的

15、系統(tǒng)和虛擬機(jī),通過 Windows 7 的引導(dǎo)文件,就可以直接啟動(dòng) VHD 里的系統(tǒng)。也就是說,你把一個(gè)裝了 Windwos 7 的 VHD,放到一個(gè)新硬盤上(當(dāng)然需要分區(qū)并有活動(dòng)主分區(qū)),然后更新一下活動(dòng)主分區(qū)的引導(dǎo)信息,啟動(dòng)計(jì)算機(jī),就可以直接進(jìn)入 VHD 里 Windows 了。 正因?yàn)?windows 7 的 VHD,既是一個(gè)文件,又支持原生啟動(dòng),才具備了極大的優(yōu)勢。要充分發(fā)揮 VHD 的優(yōu)勢,還得用到差分磁盤(也稱差分 VHD,或者子 VHD) 。差分 VHD,是以某個(gè) VHD 為基礎(chǔ)建立的(這個(gè) VHD 就是母盤),對差分 VHD 的修改,不會(huì)影響到母盤。當(dāng)母盤系統(tǒng)達(dá)到一個(gè)理想狀態(tài)時(shí)

16、,我們可以創(chuàng)建一個(gè)差分 VHD ,以后就使用這個(gè)差分 VHD 。當(dāng)差分 VHD 系統(tǒng)用久了出現(xiàn)不穩(wěn)定時(shí),我們只要?jiǎng)h除這個(gè)差分 VHD,以原來的母盤重建一個(gè)新的差分 VHD,系統(tǒng)就有回到了理想的狀態(tài)。因此,windows 7 的 VHD 具備了還原卡、時(shí)光機(jī)等的特點(diǎn)。我們可以根據(jù)需要,以不同的 VHD 為母盤創(chuàng)建差分 VHD ,差分磁盤還可以多級創(chuàng)建,即以某個(gè)差分磁盤為母盤,再創(chuàng)建差分磁盤。我們可以在創(chuàng)建差分 VHD 時(shí),就復(fù)制一個(gè)備份,可以實(shí)現(xiàn)隨時(shí)用備份的差分磁盤來替換差分磁盤,實(shí)現(xiàn)快速還原,也稱秒還原,因?yàn)檫@個(gè)還原過程在 1-2 秒內(nèi)就可完成。這個(gè)特點(diǎn)是 ghost之類的備份軟件所無法比擬的

17、。個(gè)人收集整理,勿做商業(yè)用途個(gè)人收集整理,勿做商業(yè)用途因?yàn)?Windows 7 的引導(dǎo)程序和 Windows 7 本身都包含了對 VHD 文件的讀寫驅(qū)動(dòng)程序,因此我們可以在啟動(dòng)計(jì)算機(jī)的時(shí)候,訪問 VHD 并且從其上啟動(dòng);我們也可以在 Windows 7 中直接創(chuàng)建、加載和卸載 VHD 文件。這些都是 VHD 讀寫驅(qū)動(dòng)的功勞,因此 Windows 7 不需要安裝任何虛擬化軟件。從 VHD 啟動(dòng)之后,計(jì)算機(jī)的操作系統(tǒng)直接訪問硬件,不是以虛擬化的方式運(yùn)行。這里面唯一的區(qū)別,就是對文件系統(tǒng)讀寫訪問的時(shí)候,需要經(jīng)過額外的一層 VHD 讀寫驅(qū)動(dòng)的解析,這里面有一些微量的 I/O 性能開銷,但是跟虛擬化的情

18、況相比,性能基本上接近了真機(jī)。我查了一些測試資料,有一組直接讀取硬盤和讀寫 VHD 的比較,性能差別微乎其微. 總之,Windows 7 的 VHD,既是虛擬機(jī),又不是一般的虛擬機(jī),因?yàn)樗玫氖钦鎸?shí)的硬件環(huán)境,除了硬盤,從 VHD 啟動(dòng)計(jì)算機(jī),能夠讓你體驗(yàn)到真實(shí)物理環(huán)境的高性能,同時(shí)你可以快速創(chuàng)建和刪除多個(gè)系統(tǒng),它實(shí)在是一項(xiàng)強(qiáng)大的技術(shù)。1.21.2 虛擬硬盤啟動(dòng)計(jì)算機(jī)的研究現(xiàn)狀虛擬硬盤啟動(dòng)計(jì)算機(jī)的研究現(xiàn)狀 雖然目前從 VHD 上啟動(dòng)計(jì)算機(jī)技術(shù)已經(jīng)實(shí)現(xiàn),而且 VHD 技術(shù)也十分地強(qiáng)大耀眼,然而我國對 VHD 技術(shù)還僅僅停留在體驗(yàn)和使用階段,并沒有相關(guān) VHD 技術(shù)改進(jìn)的論文發(fā)表,實(shí)在令人深表遺

19、憾。而國外卻是十分的重視這項(xiàng)技術(shù)的運(yùn)用,微軟公司也在不斷地完善自己的這項(xiàng)技術(shù),希望能夠通過 VHD 技術(shù)和廣大的用戶群體來占領(lǐng)虛擬技術(shù)的市場,他們接連發(fā)布了 VISTA 和 WINDOWS XP 系統(tǒng)的 VHD 系統(tǒng)文件供用戶免費(fèi)下載.擁有眾多用戶的微軟加上出色的 VHD 表現(xiàn),我們可以預(yù)想到 VHD 啟動(dòng)計(jì)算機(jī)的光明前途。目前虛擬硬盤啟動(dòng)計(jì)算機(jī)的應(yīng)用還主要停留在在一個(gè) WIN7 宿主的計(jì)算機(jī)身上創(chuàng)建多個(gè)操作系統(tǒng),當(dāng)做另外一種先進(jìn)的虛擬機(jī)使用.雖然 VHD 啟動(dòng)計(jì)算機(jī)十分地方便,技術(shù)也已經(jīng)趨于成熟,但是我們?nèi)匀豢梢钥吹綇?VHD 啟動(dòng)計(jì)算機(jī)的多方面限制:1使用 VHD 本機(jī)啟動(dòng)以前版本的 Wi

20、ndows。Windows Vista(R)和 Window Server 2008(及以前版本的 Windows)不支持本機(jī)啟動(dòng)。本機(jī)啟動(dòng) VHD 需要對操作系統(tǒng)進(jìn)行重大更改,而這些更改是 Windows 7 中的新增功能。2休眠以節(jié)省電量。從 VHD 映像啟動(dòng)的操作系統(tǒng)不支持休眠。3將壓縮或加密的 VHD 用于本機(jī)啟動(dòng).已在主機(jī)卷上使用 NFTS 壓縮或使用加密文件系統(tǒng)加密的 VHD 不支持本機(jī)啟動(dòng).4當(dāng)主機(jī)卷受 Bitlocker(TM)保護(hù)時(shí)配置本機(jī) VHD 啟動(dòng)??蓪?VHD 文件保存在受 Bitlocker 保護(hù)的文件系統(tǒng)上,但無法將 VHD 用于本機(jī)啟動(dòng)或在 VHD 包含的卷上啟

21、動(dòng) Bitlocker。5啟動(dòng)到遠(yuǎn)程共享或 USB 閃存驅(qū)動(dòng)器上的 VHD。無論 Windows 安裝在物理卷上還是通過 VHD 安裝,Windows 都不支持啟動(dòng)到遠(yuǎn)程共享或 USB 閃存驅(qū)動(dòng)器.1.3 論文結(jié)構(gòu)介紹論文結(jié)構(gòu)介紹本次論文的主要研究內(nèi)容即通過分析 VHD 技術(shù)的原理,在傳統(tǒng)的從 VHD 啟動(dòng)計(jì)算機(jī)的技術(shù)基礎(chǔ)之上進(jìn)行探索跟嘗試在低版本的 Windows 操作系統(tǒng)上實(shí)現(xiàn) VHD啟動(dòng)計(jì)算機(jī),同時(shí)探討將低版本的 Windows 操作系統(tǒng)裝入 VHD 文件并從中啟動(dòng)的方法。在之前的文章中我們已經(jīng)簡單地介紹了 VHD 技術(shù)的一些應(yīng)用,和當(dāng)前 VHD 啟動(dòng)計(jì)算機(jī)技術(shù)的研究現(xiàn)狀,在之后的第二章

22、我們將詳細(xì)地分析 VHD 技術(shù)的原理,第三章我們會(huì)根據(jù)基本原理探討前人的一些改進(jìn)方法,最后在第四章我會(huì)根據(jù)之前的分析介紹一下自己的改進(jìn)虛擬硬盤啟動(dòng)計(jì)算機(jī)的方法。1.4 本章小結(jié)本章小結(jié) 在這一章中我們主要介紹了我們要研究討論的對象虛擬硬盤(VHD),了解到微軟公司在新推出的 Windows 7 和 Windows Server 2008 的內(nèi)核驅(qū)動(dòng)程序中直接添加了對 VHD 的支持。雖然 VHD 是當(dāng)前的一項(xiàng)熱門技術(shù),但是他本身還是有很多的限制,我們也了解到目前對于虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)研究的現(xiàn)狀。最后我們對論文的結(jié)構(gòu)有了一個(gè)大概的了解。第第 2 2 章章 虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)虛擬硬盤啟動(dòng)計(jì)

23、算機(jī)技術(shù)原理原理2 2。1 1 VHDVHD 的技術(shù)的技術(shù)介紹介紹 VHD 文件格式(.vhd)的文件代表著一個(gè)虛擬硬盤。要在 Windows Server2008 以前版本的 Windows 系統(tǒng)上使用 VHD 文件,你必須要安裝 HyperV,Microsoft Virtual Ssrver 或者 Windows V-PC。但是在 Windows 7 和Windows Server 2008 系統(tǒng)上,你可以直接創(chuàng)建,配置而且可以不用虛擬機(jī)或者虛擬程序就可以直接從 VHD 文件上啟動(dòng)物理計(jì)算機(jī)。這個(gè)功能簡化了鏡像的管理因?yàn)樗茏屇悖?. 規(guī)范你系統(tǒng)內(nèi)的鏡像格式和工具集。2. 減少了目錄和支持

24、的鏡像數(shù)量.3. 增加服務(wù)器的利用率來節(jié)省資源。在討論具體的技術(shù)實(shí)現(xiàn)方式之前,我們首先需要理解操作系統(tǒng)對磁盤和文件的管理。操作系統(tǒng)有磁盤系統(tǒng)和文件系統(tǒng)兩部分,分別處理對硬盤的 I/O 讀寫指令(磁盤系統(tǒng)),和管理硬盤之上的分區(qū)、數(shù)據(jù)和文件格式(文件系統(tǒng))。VHD 是存在于文件之上的磁盤,可想而知它的技術(shù)實(shí)現(xiàn)必須橫跨磁盤系統(tǒng)和文件系統(tǒng)這兩部分。微軟網(wǎng)站上的 Windows 存儲技術(shù)系列 Webcast 中有詳細(xì)介紹。簡單的說,要把 VHD 文件當(dāng)作硬盤一樣讀寫,必須有相應(yīng)的驅(qū)動(dòng)程序。實(shí)現(xiàn)虛擬存儲的可執(zhí)行模塊必然是驅(qū)動(dòng)程序, 虛擬硬盤的實(shí)質(zhì)就是虛擬硬盤驅(qū)動(dòng)程。在 Virtual PC 和Virtu

25、al Server 中,微軟就是通過在虛擬機(jī)種加入 VHD 的驅(qū)動(dòng)程序,使得虛擬機(jī)可以從 VHD 啟動(dòng)并進(jìn)行后續(xù)的操作。在 Windows 7 中,微軟把 VHD 的驅(qū)動(dòng)內(nèi)置進(jìn)了操作系統(tǒng),也包括在了Windows 7 的引導(dǎo)程序中.這也就是說,我們可在使用 Windows 7 的時(shí)候,直接訪問 VHD 文件中的內(nèi)容(把 VHD 的硬盤映射到一個(gè)盤符,后面會(huì)詳細(xì)描述),也可以通過 Windows 7 的引導(dǎo)程序,啟動(dòng)位于 VHD 磁盤上的另一個(gè)操作系統(tǒng)。理解VHD 驅(qū)動(dòng)的工作細(xì)節(jié),需要比較多的 Windows 底層知識,下圖是一個(gè)比較簡單和抽象的結(jié)構(gòu),可以發(fā)現(xiàn),VHD 的驅(qū)動(dòng)是跟磁盤驅(qū)動(dòng)和文件系

26、統(tǒng)緊密結(jié)合的。圖 2-1 文件系統(tǒng),虛擬硬盤,硬盤驅(qū)動(dòng)的關(guān)系其中,為對硬盤設(shè)備的 I/ O 請求;為對虛擬硬盤設(shè)備的 I/ O 請求;為對虛擬硬盤設(shè)備的 I/ O 請求最終被發(fā)送給構(gòu)成該虛擬硬盤的物理硬盤設(shè)備完成。文件系統(tǒng)驅(qū)動(dòng)程序接收到文件的 I / O 請求, 將之轉(zhuǎn)換為它們自己的、更明確的請求傳遞給物理設(shè)備驅(qū)動(dòng)程序最終滿足這一請求. 例如, 考慮一個(gè)寫文件操作的執(zhí)行情況, I / O 管理器將寫文件請求傳遞到文件系統(tǒng)驅(qū)動(dòng)程序, 文件系統(tǒng)驅(qū)動(dòng)程序?qū)⒅付ǖ膶懖僮鬓D(zhuǎn)化為開始偏移量( 磁盤上的一個(gè)扇區(qū)的邊界) 和寫入的字節(jié)數(shù), 然后再通過 I / O 管理器把該請求傳遞到磁盤驅(qū)動(dòng)程序, 磁盤驅(qū)動(dòng)程

27、序?qū)?shù)據(jù)寫入指定位置并返回。 在硬盤驅(qū)動(dòng)程序之上還存在著過濾驅(qū)動(dòng)程序, 過濾驅(qū)動(dòng)程序截獲發(fā)送給硬盤的 I/ O 請求并根據(jù)需要進(jìn)行調(diào)整, 從而影響硬盤驅(qū)動(dòng)程序的行為。2.2 啟動(dòng)項(xiàng)管理啟動(dòng)項(xiàng)管理 BCDedit我之前提到了,在 Windows 7 中,微軟把 VHD 的驅(qū)動(dòng)內(nèi)置進(jìn)了操作系統(tǒng),也包括在了 Windows 7 的引導(dǎo)程序中。這也就是說,在啟動(dòng)計(jì)算機(jī)的階段,Windows 7 的引導(dǎo)程序可以大搖大擺的直接訪問 VHD 文件,并且啟動(dòng) VHD 中安裝的系統(tǒng),即 Windows 7 原生態(tài)支持 VHD 系統(tǒng)的啟動(dòng)。那么,什么是 Windows 7 的引導(dǎo)程序?簡單地說,引導(dǎo)程序就是在操作

28、系統(tǒng)內(nèi)核或用戶應(yīng)用程序運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備(加載必要的驅(qū)動(dòng)程序) 、建立內(nèi)存映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核或用戶應(yīng)用程序準(zhǔn)備好正確的環(huán)境.我們在裸機(jī)上安裝Windows 7 時(shí),首先做的,就是把 Windows 7 的引導(dǎo)程序?qū)懭氪疟P的特殊位置。Windows 7 的引導(dǎo)程序帶有 VHD 驅(qū)動(dòng),因此可以從 VHD 啟動(dòng)。在 NT5。x 系統(tǒng)(如 WinXP)中啟動(dòng)機(jī)器的過程由 NT Loader 完成,NTLDR 文件負(fù)責(zé)引導(dǎo)并由 Boot。ini 存儲啟動(dòng)設(shè)置數(shù)據(jù),由于 Boot。ini 文件是以純文本

29、形式存儲的,所以修改起來很容易,但是功能也較為簡單. 從 Vista 開始 WinNT 版本號升級到 6.x,引導(dǎo)程序也由功能更加強(qiáng)大的 Windows Boot Manager 接管,Windows Boot Manager 的引導(dǎo)文件為 bootmgr,而啟動(dòng)設(shè)置數(shù)據(jù)文件也由boot。ini 更改為 BCD,而 BCD 這個(gè)文件為了儲存更多的信息也放棄了使用純文本形式的方法,所以我們只能使用 BCDEdit 程序?qū)@個(gè)文件進(jìn)行編輯。傳統(tǒng)的基于 BIOS 的計(jì)算機(jī)中,如果只安裝 Vista 和 Windows 7,除了極早期的 Vista 和 Windows 7 測試版本外,您將會(huì)發(fā)現(xiàn) Bo

30、ot。ini 文件已經(jīng)徹底從系統(tǒng)中消失;如果系統(tǒng)中安裝了 Vista 和 Windows 7 和之前的 WIndows 系統(tǒng)如Windows XP,雖然仍可找到 Boot.ini 文件,不過,這個(gè)文件只作用于那些系統(tǒng),而不會(huì)對 Vista 和 Windows 7 的啟動(dòng)有任何影響。在基于 EFI (Extensible Firmware Interface : 可擴(kuò)展固件接口,以后采用這種接口的 PC 會(huì)越來越多 )的計(jì)算機(jī)中,Boot。ini 文件則更不復(fù)存在,在基于 EFI 的系統(tǒng)中,啟動(dòng)選項(xiàng)被貯存在主板的存儲器中。此時(shí)要修改啟動(dòng)選項(xiàng),要么通過能夠讀寫 NVRAM 的工具如 NvrBoot

31、,要么使用上文提到的 BCDEdit。由此可見,在 Vista 和 Windows 7 中,想要再像之前 Windows XP 中那樣通過一個(gè)簡單的文本編輯器來修改 Boot。ini 的方式來管理啟動(dòng)選項(xiàng)已經(jīng)不可能了,要對啟動(dòng)設(shè)置進(jìn)行修改,只能使用命令格式相對要復(fù)雜得多的 BCDEdit。此外,微軟也在 Vista 和 Windows7 中提供了可通過 WMI (Windows Management Instrumentation : Windows 管理規(guī)范)調(diào)用的 BCD 類,通過它可以用編程的方式修改 BCD 數(shù)據(jù),不過,相信對絕大多數(shù)用戶而言,這更是不可能的任務(wù)。需要注意的是,BCDE

32、dit 不是一個(gè)運(yùn)行于圖形界面下的程序,而是一個(gè)命令行工具,該文件 (Bcdedit。exe) 位于 “WindowsSystem32”目錄下。BCDEdit 僅限于標(biāo)準(zhǔn)的數(shù)據(jù)類型同時(shí)主要用于執(zhí)行 BCD 上的常見改變。對于更復(fù)雜的操作或者不標(biāo)準(zhǔn)的數(shù)據(jù)類型,就要考慮使用 BCD 的 WMI(Windows Management Instrumentation)應(yīng)用程序接口(API)來創(chuàng)造更高效更靈活的定制工具。BCDedit 的語法格式是 BCDEdit /Command Argument1 Argument2 。 。.表 21 常用的 Bcdedit 命令命令描述/?顯示某個(gè)目錄下的 BCD

33、Edit 命令./createstore創(chuàng)建一個(gè)空的啟動(dòng)配置數(shù)據(jù)存儲./export把系統(tǒng)存儲的內(nèi)容導(dǎo)出到一個(gè)文件中./import導(dǎo)入備份的數(shù)據(jù)文件來恢復(fù)系統(tǒng)的狀態(tài)。/store和其它 BCDedit 命令一起使用來指定被使用的存儲。/copy在相同的系統(tǒng)存儲中復(fù)制一份指定的啟動(dòng)項(xiàng)。/create在啟動(dòng)配置數(shù)據(jù)存儲中創(chuàng)建一個(gè)新條目./delete從指定條目中刪除元素。2.3 VHD 的創(chuàng)建、附加及分離的創(chuàng)建、附加及分離2 2。3 3。1 1 DiskDisk ManagementManagement 方法方法Windows7 中提供了使用磁盤管理控制臺(Diskmgmt.msc)和命令行工具

34、(DiskPart)兩種方式來創(chuàng)建、附加和分離 VHD 等操作。下面我們將一一介紹。如果我們使用 Disk Management 首先要在命令行輸入 diskmgmt。msc 來進(jìn)入Diskmgmt.msc。然后選擇從操作菜單中選擇 Create VHD,他會(huì)彈出一個(gè)對話框,然后你可以用它來定義設(shè)置你的 VHD 文件。其中包括:1. location:這將決定新的 VHD 文件的文件名,和儲存路徑。例如:E:/test.vhd2. Virtual hard disk size:這是指 VHD 文件的大小。需要注意的是如果你創(chuàng)建一個(gè)動(dòng)態(tài)擴(kuò)展的 VHD 文件,那么虛擬硬盤的大小將會(huì)是 VHD 文件

35、達(dá)到的最大大小.3. Virtual hard disk format:這是設(shè)置 VHD 文件的格式:動(dòng)態(tài)擴(kuò)展或者固定大小。需要注意的是,當(dāng)你創(chuàng)建一個(gè)動(dòng)態(tài)擴(kuò)展格式的 VHD 文件時(shí),Windows 不會(huì)測試剩余的可用物理空間,因此,我們能夠創(chuàng)建一個(gè)動(dòng)態(tài)擴(kuò)展的 VHD 文件,使他的最大容量大于可用的實(shí)際物理空間。但是,動(dòng)態(tài)擴(kuò)展的 VHD 最大體積只能為 2040GB.圖 2-2 創(chuàng)建一個(gè) VHD選擇 VHD 文件的保存路徑,并且指定 VHD 文件的形式(動(dòng)態(tài)或者固定尺寸).如何是用于啟動(dòng)系統(tǒng),建議設(shè)定 VHD 的類型為固定尺寸的,這樣會(huì)獲得更好的性能。圖 2-3 創(chuàng)建一個(gè) 20G 的 VHDVH

36、D 創(chuàng)建后,系統(tǒng)會(huì)多出一個(gè)“虛擬的硬盤,在磁盤管理工具中,像對物理硬盤一樣,對它進(jìn)行“初始化和”格式化” 。要格式化一個(gè)硬盤,只需要在 Disk Management 菜單中點(diǎn)擊磁盤的名字然后選取 Initialize Disk 就可以了,在圖中,我們格式化的是 Disk 1。在 VHD 的虛擬硬盤被格式化以后,你可以像對待其他任何磁盤一樣對待它,包括創(chuàng)建新的卷,格式化卷,也可以給 VHD 中的卷添加盤符。例如,只需要在選定地方點(diǎn)擊 New Simple Volume 然后跟著引導(dǎo)去選擇卷地大小,盤符,格式和磁盤塊大小就可以完成。圖 24 格式化剛創(chuàng)建出來的 VHD你可以隨意地分離 VHD 讓

37、他們不以磁盤的形式出現(xiàn)在計(jì)算機(jī)上.為了防止數(shù)據(jù)丟失,你應(yīng)該經(jīng)常地再重啟操作系統(tǒng)前分離 VHD,要想做到這點(diǎn),你只需要選擇磁盤的盤符,然后點(diǎn)擊 Detach VHD 就可以達(dá)到。另外,如果你已經(jīng)有了一個(gè)創(chuàng)建好的 VHD 文件,而且你想要他連接成為一個(gè)磁盤,那么你只需要一下操作:1從 Action 目錄里面選擇 AttachVHD。2輸入 VHD 文件的路徑,然后選擇是否已只讀形式打開磁盤.2.3.22.3.2 DiskPartDiskPart 方法方法 如果你想要用命令行來實(shí)現(xiàn),你可以使用 DiskPart 命令工具來實(shí)現(xiàn)這些操作。如果你想要更多的了解 DiskPart 的命令詳情可以參見參考資

38、料 DiskPart。 下面我們來簡單介紹一下如何使用 DiskPart 命令來創(chuàng)建和配置一個(gè) VHD.我們需要點(diǎn)擊開始,然后再點(diǎn)擊命令提示符,選擇以管理員身份運(yùn)行,再輸入“Diskpart”即可啟動(dòng)它,此時(shí)屏上顯示為“Diskpart”,不像普通的命令提示符那樣是一個(gè)分區(qū)或目錄后跟一個(gè)“ ” ,而且普通的 DOS 命令也無法在此運(yùn)行,退出它只有輸入“Exit命令.從這三種跡象表明,它是一個(gè)集成的環(huán)境,只有特定的命令可在其下執(zhí)行。輸入“Help”命令,屏上會(huì)列出所有的可執(zhí)行命令及各命令的簡要說明。1.我們現(xiàn)在來創(chuàng)建一個(gè)新的 2GB 大小的動(dòng)態(tài)擴(kuò)展 VHD 文件,命名為 Test.VHD然后將他

39、保存到 C:VHD 文件夾下,輸入以下命令:DiskpartCreate vdisk file=C: VHDtest.vhd maximum=2000 type=expandable如果你不指定 VHD 的格式的話,Disk part 將會(huì)默認(rèn)選擇固定大小的 VHD.備注:你還可以利用 DiskPart 創(chuàng)建另外一種 VHD 的格式:差分格式的VHD(有時(shí)也被稱為子 VHD) ,他和動(dòng)態(tài)擴(kuò)展 VHD 有些相似,但是他包含的只有對父 VHD 相關(guān)的磁盤塊修改的結(jié)果.要想創(chuàng)建一個(gè)差分 VHD,就要用到 parent 命令。例如:創(chuàng)建一個(gè)命名為 Child.vhd 的差分 VHD 作為 Test.v

40、hd 的子 VHD,輸入命令:create vdisk file=“c:vhdchild。vhdparent=“c:vhdtest。vhd”即可。2。查看你創(chuàng)建的 VHD 文件,只需要輸入:List vdisk3.附加 VHD,輸入:Attach vdisk4。隨意地查看看 VHD 的相關(guān)信息,只需要輸入:Detail vdisk5。在新的 VHD 中創(chuàng)建一個(gè) 1GB 的主分區(qū),輸入:Create partition primary size=10006。格式化一個(gè)分區(qū),輸入:format fs=ntfs label=“test volume” quick7。給磁盤標(biāo)記一個(gè)盤符 M,輸入:As

41、sign letter=M8。同樣,你可以隨意得分離 VHD 讓他不再以磁盤的形式出現(xiàn),你只需選擇你想要分離的磁盤(select vdisk file=“c:vhdtest.vhd” ) ,然后輸入 detach vdisk 即可。另外,你還可以利用 DiskPart 來執(zhí)行以下操作:1。擴(kuò)大一個(gè) VHD 文件的大小。要想擴(kuò)大一個(gè) VHD 文件的大小,首先要確保這個(gè) VHD 文件是分離狀態(tài)的,然后就選擇它(輸入 select vdisk file=文件路徑 ) ,然后輸入 expand vdisk maximum=。例如,expand vdisk maximum=3000 就會(huì)擴(kuò)大一個(gè) VHD

42、 文件到 3GB,想看到新的 VHD 文件信息,輸入detail vdisk。2。延伸一個(gè) VHD 中的一個(gè)卷。你可以在一個(gè)有空閑未分配空間的 VHD 中延長一個(gè)卷.要做到這一點(diǎn),你首先要確認(rèn)這個(gè) VHD 是附加狀態(tài)的,然后選擇你想要延長的卷(select volume=卷名) ,然后輸入 extend size=.例如,extend size=1000 就會(huì)增加 1GB 大小給主分區(qū)。3.簡化一個(gè)動(dòng)態(tài)擴(kuò)展的 VHD。減少動(dòng)態(tài)擴(kuò)展的 VHD 文件大小是十分有用的,因?yàn)樵谀阍黾游募臅r(shí)候這些文件體積會(huì)增大,但是在你刪除這些文件的時(shí)候它們不會(huì)自動(dòng)減少體積。為了簡化一個(gè)動(dòng)態(tài)擴(kuò)展的 VHD,首先要確認(rèn)

43、 VHD 是分離或者附加狀態(tài)下的只讀形式,然后選擇 VHD(select vdisk file=完整路徑) ,然后輸入:compact vdisk.對于動(dòng)態(tài)擴(kuò)展 VHD 而言,虛擬大小就是 VHD 的最大體積,物理體積才是實(shí)際的體積。對于固定大小的 VHD 而言,他們是一樣的。4.合并差分的 VHD。要想用一個(gè)父 VHD 合并他們的子 VHD,首先你要確認(rèn)這個(gè)差分磁盤是分離狀態(tài)的,然后選擇選擇這個(gè) VHD(select vdisk file=完整路徑 ) 。然后輸入 merge vdisk depth=1,需要注意的是 depth=1 表示同一級地差分鏈將會(huì)被合并,如果你選擇一個(gè)大于 1 的數(shù)

44、字,這個(gè) VHD 必須有 2 個(gè)以上的差分鏈。2。4 本章小結(jié)本章小結(jié) 在這一章中我們介紹了虛擬硬盤實(shí)現(xiàn)的基本原理,也知道了微軟把 VHD 的驅(qū)動(dòng)內(nèi)置進(jìn)了操作系統(tǒng),也包括在了 Windows 7 的引導(dǎo)程序中。這也就是說,在啟動(dòng)計(jì)算機(jī)的階段,Windows 7 的引導(dǎo)程序可以直接訪問 VHD 文件,并且啟動(dòng) VHD中安裝的系統(tǒng),即 Windows 7 原生態(tài)支持 VHD 系統(tǒng)的啟動(dòng)。對于 Windows 7 系統(tǒng)上的 BCD 引導(dǎo)我們做了簡單的介紹。最后也詳細(xì)說明了如何建造一個(gè)虛擬硬盤(VHD)同時(shí)對他進(jìn)行相應(yīng)的配置,為我們接下來介紹的虛擬硬盤啟動(dòng)計(jì)算機(jī)打下基礎(chǔ).第第 3 3 章章 虛擬硬盤啟

45、動(dòng)計(jì)算機(jī)技術(shù)分析虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)分析 3.13.1 從從 VHDVHD 啟動(dòng)計(jì)算機(jī)啟動(dòng)計(jì)算機(jī)在上一章我們談到了如何在一個(gè) Windows7 的系統(tǒng)上創(chuàng)建和配置一個(gè) VHD,現(xiàn)在我們來談一下當(dāng)前 VHD 最熱門的應(yīng)用從 VHD 啟動(dòng)計(jì)算機(jī)。需要注意的是原生態(tài)的從 VHD 啟動(dòng)計(jì)算機(jī)只有 Windows 7 和 Windows Server 2008 才支持,并且 VHD 中的操作系統(tǒng)也只能是 Windows 7 和 Windows Server 2008 版本。3.1.13.1.1 創(chuàng)建和附加一個(gè)創(chuàng)建和附加一個(gè) VHDVHD傳統(tǒng)的從虛擬硬盤上原生態(tài)啟動(dòng)計(jì)算機(jī)要求我們必須要使用 Window

46、s 7 或者Windows Server 2008 的系統(tǒng),另外還需要一個(gè)可以訪問的 Windows 7 或者Windows Server 2008 的安裝文件。在準(zhǔn)備好上面兩項(xiàng)之后,我們就先用上一章的方法來創(chuàng)建跟附加一個(gè) VHD。1.點(diǎn)擊開始,然后再點(diǎn)擊命令提示符,選擇以管理員身份運(yùn)行,再輸入Diskpart.2。使用 DiskPart 創(chuàng)建并且附加一個(gè) VHD,下面是創(chuàng)建一個(gè) 20GB 最大容量的動(dòng)態(tài)擴(kuò)展 VHD 的例子,我們將它保存在文件夾 c:vhd 下。create vdisk file=C:VHDtest。vhd maximum=25000 type=expandable sele

47、ct vdisk file=C:VHDtest.vhd attach vdisk create partition primary assign letter=v format quick FS=NTFS label=VHDexit3.13.1。2 2 定位一個(gè)定位一個(gè) install.wiminstall.wim 鏡像文件然后應(yīng)用到鏡像文件然后應(yīng)用到 VHDVHD 接下來的步驟就是要定位一個(gè) Windows 7 或者 Windows Server 2008 操作系統(tǒng)的鏡然后應(yīng)用到 VHD 的卷中。你可以從 Windows 7 或者 Windows Server 2008 的安裝盤或者 ISO

48、 鏡像文件中找到。wim 的鏡像。WIM 即 Windows Imaging File Format,是微軟定義的一種鏡像格式,比起傳統(tǒng)的基于磁盤的鏡像方式,WIM 是以文件流+特征碼的方式存儲,所以對目標(biāo)原磁盤和目標(biāo)磁盤的文件格式都是不可知的,所以我們可以把這種文件用來安裝操作系統(tǒng),而不會(huì)對原磁盤格式或文件造成破壞,在 NTFS 文件系統(tǒng)中 WIM 還可以掛載到一個(gè)文件夾當(dāng)中實(shí)現(xiàn)離線修改,當(dāng)然這并不在文本的討論范圍,大家只要了解從 Vista 以上的操作系統(tǒng)安裝光盤都是以此格式存儲原始安裝文件的。需要注意的是在 Boot.wim 中的 Windows 的預(yù)安裝環(huán)境(Windows PE)的鏡

49、像不支持原生態(tài)虛擬硬盤啟動(dòng)。下面我們就開始介紹如何將 Windows 的鏡像應(yīng)用到 VHD 中.首先你要準(zhǔn)備Microsoft 提供的 2 個(gè)工具:ImageX 和 Windows AIK,而且他們要位于同一文件夾下.點(diǎn)擊名為“To apply a Windows image to a VHD by using ImageX的程序。1. 打開 Windows AIK,然后選擇部署工具提示符,選擇以管理員身份運(yùn)行。2. 查看。wim 鏡像中 Windows 的版本信息,輸入:imagex /info 。wim 的路徑.輸出會(huì)列出。wim 文件中所有鏡像的元數(shù)據(jù)。然后觀察輸出的鏡像中DESCRIP

50、TION一欄,記住你想要應(yīng)用到 VHD 中的鏡像的索引值.3. 記住了相應(yīng)的索引值,我們可以用以下的語法來應(yīng)用鏡像到 VHD 中。Imagex /apply .wim 文件路徑VHD 的路徑例如:imagex /apply F:sourcesinstall。wim 5 v: 就是應(yīng)用一個(gè)位于 F 盤的install。wim 內(nèi)的 Datacenter 版本 Windows(索引為 5)到盤符為 V 的 VHD 主分區(qū)中。安裝過程會(huì)持續(xù) 10-15 分鐘,如果你是用的網(wǎng)絡(luò)共享文件而不是本地的文件,那么建議你使用有線的網(wǎng)絡(luò)連接來獲得更大的速度。3 3。1 1。3 3 定位一個(gè)定位一個(gè) instal

51、linstall。wimwim 鏡像文件然后應(yīng)用到鏡像文件然后應(yīng)用到 VHDVHD完成安裝之后你就擁有了一個(gè)安裝了 Windows 鏡像文件的 VHD,你需要修改啟動(dòng)配置數(shù)據(jù)(BCD)來配置 VHD 文件讓它能夠從本機(jī)直接啟動(dòng)。對于本機(jī)從 VHD 上直接啟動(dòng),你要在 BCD 存儲中配置一個(gè)開機(jī)啟動(dòng)項(xiàng),這必須在 VHD 之外的物理系統(tǒng)分區(qū)上完成.系統(tǒng)的分區(qū)體積可以與 VHD 文件的體積不同。但是 Windows 7 的默認(rèn)安裝會(huì)單獨(dú)創(chuàng)建一個(gè) 100MB 的分區(qū)來支持 BCD 存儲.3 3。1.41.4 將將 VHDVHD 的系統(tǒng)啟動(dòng)信息寫入的系統(tǒng)啟動(dòng)信息寫入 BCDBCD現(xiàn)在要做的就是更新 BC

52、D(啟動(dòng)設(shè)置數(shù)據(jù))讓計(jì)算機(jī)能夠?qū)?VHD 的內(nèi)的系統(tǒng)加入啟動(dòng)項(xiàng),然后我們就可以再開機(jī)的時(shí)候選擇進(jìn)入 VHD 中的系統(tǒng)。首先還是以管理員身份打開命令提示符,輸入:bcdedit /copy原始系統(tǒng)名稱 /d “你的 VHD 名”.然后,使用系統(tǒng)反饋給你的 GUID 值一次輸入 2 條命令bcdedit /set GUID device vhd=D:VHDyournewvhd.vhd bcdedit /set GUID osdevice vhd=D:VHD.vhd現(xiàn)在你重啟計(jì)算機(jī)就可以選擇進(jìn)入你 VHD 文件中的系統(tǒng)了.3。2 在在 Windows 7 的系統(tǒng)上啟動(dòng)的系統(tǒng)上啟動(dòng) VHD 技術(shù)分析技

53、術(shù)分析 觀察前面的步驟,我們不難發(fā)現(xiàn),在 Windows 7 上能夠?qū)崿F(xiàn)從 VHD 啟動(dòng)計(jì)算機(jī),首先是因?yàn)?Windows 7 的內(nèi)核驅(qū)動(dòng)直接 VHD 格式的文件,在 Windows 7 的環(huán)境下能夠輕易的創(chuàng)建跟配置一個(gè) VHD。另外,在 NT5。x 系統(tǒng)中啟動(dòng)機(jī)器的過程由NT Loader 完成,NTLDR 文件負(fù)責(zé)引導(dǎo)并由 Boot。ini 存儲啟動(dòng)設(shè)置數(shù)據(jù),由于Boot。ini 文件是以純文本形式存儲的,所以修改起來很容易,但是功能也較為簡單。 從 Vista 開始 WinNT 版本號升級到 6。x,引導(dǎo)程序也由功能更加強(qiáng)大的Windows Boot Manager 接管,Windows

54、 Boot Manager 的引導(dǎo)文件為 bootmgr,而啟動(dòng)設(shè)置數(shù)據(jù)文件也由 boot。ini 更改為 BCD,而 BCD 這個(gè)文件為了儲存更多的信息也放棄了使用純文本形式的方法,所以我們只能使用 BCDEdit 程序?qū)@個(gè)文件進(jìn)行編輯。由此,我們可以推斷,低版本的 Windows 不支持 VHD 文件的創(chuàng)建與配置,是因?yàn)楸旧淼膬?nèi)核中沒有相應(yīng)的驅(qū)動(dòng)程序,所以 Windows 早期的系統(tǒng)版本也無法寫入 VHD 文件中。但是我們可以嘗試在 Windows XP 的環(huán)境下安裝一個(gè) Win PE 來創(chuàng)建我們需要的 VHD 文件,然后將這個(gè) VHD 文件附加到我們的計(jì)算機(jī)上,在文件中安裝我們需要的操

55、作系統(tǒng),并且在 BCD 中添加我們想要啟動(dòng)的 VHD,這樣就滿足了 VHD啟動(dòng)的基本要求,在下一章中我們會(huì)有具體操作。3.3 本章小結(jié)本章小結(jié) 在這一章中我們介紹了傳統(tǒng)地在一個(gè) Windows 7 的計(jì)算機(jī)上創(chuàng)建配置一個(gè)帶有系統(tǒng)的 VHD 文件,并且更改 BCD 信息,讓計(jì)算機(jī)能夠從 VHD 啟動(dòng)的技術(shù),并且分析了低版本 Windows 與 Windows 7 以上版本的區(qū)別,推測了 Windows 7 以前版本并不支持 VHD 的原因并且作出了相關(guān)改進(jìn)的設(shè)想。第第 4 4 章虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)改進(jìn)章虛擬硬盤啟動(dòng)計(jì)算機(jī)技術(shù)改進(jìn)4 4。1 1 在在 WindowsWindows XPXP 系

56、統(tǒng)上實(shí)現(xiàn)系統(tǒng)上實(shí)現(xiàn) VHDVHD 啟動(dòng)啟動(dòng) WindowsWindows 7 7前面我們已經(jīng)的假設(shè)出 VHD 啟動(dòng)計(jì)算機(jī)的必要條件:1,要有一個(gè)安裝好系統(tǒng)的 VHD 文件;2,要在 BCD 中添加 VHD 信息進(jìn)入啟動(dòng)項(xiàng)。那么現(xiàn)在我們就來具體操作,以 Windows XP 為例,介紹如何在 Windows 早期版本實(shí)現(xiàn) VHD 啟動(dòng)計(jì)算機(jī). 開始之前我們還是要準(zhǔn)備相應(yīng)的工具: 1,Windows XP 的物理主機(jī)一臺(提供我們整個(gè)操作的環(huán)境) 。 2,Win7 的安裝盤或鏡像文件(裝 Win7 進(jìn) VHD 文件) 。 3, WinPE 的安裝文件(提供一個(gè)創(chuàng)建跟配置 VHD 的環(huán)境)。4,Im

57、ageX.exe(他能夠快速提取鏡像以縮短安裝時(shí)間,同時(shí)更具靈活性和可用過部署的介質(zhì)進(jìn)行控制)。 當(dāng)你已經(jīng)準(zhǔn)備好上面地工具后,就可以開始進(jìn)行下面的操作了。 首先我們在 XP 的環(huán)境下運(yùn)行 WinPE 的安裝程序,并且重啟計(jì)算機(jī)計(jì)入WinPE.然后就要利用到我們在前面幾章介紹到的創(chuàng)建一個(gè)可以從中啟動(dòng)的 VHD 文件。 為了操作的方便,我們不妨設(shè)置一個(gè)大小為 20G 固定大小的 VHD,命名為windows7。vhd。具體操作如下:create vdisk file=D: windows7。vhd maximum=20000 type=fixed select vdisk file=D: wind

58、ows7.vhd attach vdisk create partition primary assign letter=X format quick FS=NTFSexit 然后就需要安裝我們的 Windows 7 系統(tǒng)到 VHD 文件內(nèi),同樣的,輸入命令:Imagex /apply 鏡像的索引值 VHD 的路徑現(xiàn)在我們就已經(jīng)將 Win7 安裝盤上的鏡像應(yīng)用到我們的虛擬硬盤上了?,F(xiàn)在我們執(zhí)行 BCDEdit 來查看啟動(dòng)項(xiàng)。要執(zhí)行 BCDEdit,首先應(yīng)進(jìn)入命令行窗口,并要將操作用戶并提升至管理員權(quán)限。為了避免操作失誤或機(jī)器故障照成損失,建議每次使用 BCD 命令前先備份當(dāng)前系統(tǒng)的啟動(dòng)配置文件

59、,方法如下:bcdedit /export D:bootbkupbcdedit /import D:bootbkup其中 bootbkup 是備份的文件名。首先在命令行窗口中輸入 bcdedit 查看當(dāng)前的啟動(dòng)信息圖 41 查看啟動(dòng)項(xiàng)我們發(fā)現(xiàn) Windows 7 已經(jīng)直接出現(xiàn)在了 Boot Loader 中,不需要添加,但是 Windows XP 的是由 NT Loader 來管理而不是 Windows Boot Manager,所以這里要改變一下 BCD 命令:bcdedit /create ntldr /d Windows XP bcdedit /set ntldr device part

60、ition=C: bcdedit /set ntldr path NTLDR bcdedit /bootsequence default ntldr bcdedit /displayorder default ntldr bcdedit /timeout 30 bootsect /nt60 SYS 圖 42 恢復(fù) XP 啟動(dòng)項(xiàng)圖 43 XP 進(jìn)入啟動(dòng)項(xiàng)完成后我們可以用 bcdedit 看到已經(jīng)含有 Windows 7 和 Windows XP 的啟動(dòng)項(xiàng)目?,F(xiàn)在重新啟動(dòng)計(jì)算機(jī),我們就可以看到兩個(gè)啟動(dòng)選單:Windows XPWindows 7 VHD 圖 4-4 啟動(dòng)狀態(tài) 選擇 Windows

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論