![虛擬硬盤啟動計算機技術的分析及改進.doc_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/28/9a2cce48-632d-4d1f-acf9-d49858d6243a/9a2cce48-632d-4d1f-acf9-d49858d6243a1.gif)
![虛擬硬盤啟動計算機技術的分析及改進.doc_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/28/9a2cce48-632d-4d1f-acf9-d49858d6243a/9a2cce48-632d-4d1f-acf9-d49858d6243a2.gif)
![虛擬硬盤啟動計算機技術的分析及改進.doc_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/28/9a2cce48-632d-4d1f-acf9-d49858d6243a/9a2cce48-632d-4d1f-acf9-d49858d6243a3.gif)
![虛擬硬盤啟動計算機技術的分析及改進.doc_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/28/9a2cce48-632d-4d1f-acf9-d49858d6243a/9a2cce48-632d-4d1f-acf9-d49858d6243a4.gif)
![虛擬硬盤啟動計算機技術的分析及改進.doc_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/28/9a2cce48-632d-4d1f-acf9-d49858d6243a/9a2cce48-632d-4d1f-acf9-d49858d6243a5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 學號_ 密級_ 武漢大學本科畢業(yè)論文武漢大學本科畢業(yè)論文虛擬硬盤啟動計算機技術的分析與改進虛擬硬盤啟動計算機技術的分析與改進院(系)名 稱:計算機學院專 業(yè) 名 稱 :計算機科學與技術學 生 姓 名 :王成指 導 教 師 :陳江漢 副教授 二一一年六月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鄭 重 聲 明本人呈交的學位論文,是在導師的指導下,獨立進行研究工作所取得的成果,所有數據、圖片資料真實可靠。盡我所知,除文中已經注明引用的內容外,本學位論文的研究成果不包含他人享有著作權的內容.對本論文所涉及的研究工作做出貢獻的其他個人和集體,均已在文中以明確的方式標明。本學
3、位論文的知識產權歸屬于培養(yǎng)單位。本人簽名: 日期: 摘摘 要要當下微軟公司推出的 Windows 7 和 Windows Server 2008 增加了一項新功能:原生支持從 VHD 啟動(Native boot from VHD),也就是說在系統(tǒng)內核以及啟動引導中增加了對 VHD 的支持。強大、快速、方便原生支持 VHD 啟動一個看似不起眼的功能卻蘊藏著巨大的潛力,它將帶來系統(tǒng)使用、備份和還原等各方面的巨大變革。但是從 VHD 啟動還是存在很多的限制。例如,早期版本的 Windows 并不支持從 VHD啟動計算機,你也無法從 VHD 中啟動早期版本的 Windows。本論文通過分析當前 VH
4、D 啟動計算機的技術,發(fā)現 Windows7 原生態(tài)支持 VHD啟動計算機主要在于系統(tǒng)中添加了 VHD 支持的相關驅動,并且系統(tǒng)的引導文件上做出了本質上的改變,在 NT5。x 系統(tǒng)(如 WinXP)中啟動機器的過程由 NT Loader 完成,NTLDR 文件負責引導并由 Boot。ini 存儲啟動設置數據, 從 Vista開始 WinNT 版本號升級到 6。x,引導程序也由功能更加強大的 Windows Boot Manager 接管,Windows Boot Manager 的引導文件為 bootmgr,而啟動設置數據文件也由 boot.ini 更改為 BCD,由此,我們嘗試更改 WIND
5、OWS XP 上的引導文件和數據文件,使得 WINDOWS XP 系統(tǒng)的計算機能夠支持 VHD 啟動計算機. 關鍵詞關鍵詞: :VHD;啟動;系統(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 虛擬硬盤啟動計算機的研究現狀 .31。3 論文結構介紹.41。4 本章小結 .4第第 2 2 章章 虛擬硬盤啟動計算機技術原理虛擬硬盤啟動計算機技術原理.52.1 VHD 的技術介紹 .52.2 啟動項管理 BCDEDIT.62.3 VHD 的創(chuàng)建、附加及分離 .72.3.1 DISK MANAGEMENT方法 .72。3.2 DISKPART方法.102。4 本章小結 .12第第 3 3 章章 虛擬硬盤啟動計算機技術分析虛擬硬盤啟動計算機技術分析.133
10、。1。1 創(chuàng)建和附加一個 VHD .133.1。2 定位一個INSTALL.WIM鏡像文件然后應用到 VHD .133.1。3 定位一個INSTALL。WIM鏡像文件然后應用到 VHD .143。1.4 將 VHD 的系統(tǒng)啟動信息寫入 BCD .143。3 本章小結 .15第第 4 4 章虛擬硬盤啟動計算機技術改進章虛擬硬盤啟動計算機技術改進.164。1 在 WINDOWS XP 系統(tǒng)上實現 VHD 啟動 WINDOWS 7 .164.2 將低版本的WINDOWS操作系統(tǒng)裝入 VHD 并啟動 .194.3 本章小結 .21總結總結.22參考文獻參考文獻.23致謝致謝.25第第 1 1 章章 緒
11、論緒論1.11.1 研究背景研究背景VHD(Virtual Hard Disk)顧名思義是虛擬的硬盤,具有物理硬盤一樣的特性,可以執(zhí)行分區(qū)、格式化讀寫等標準的磁盤操作。絕大多數人最初接觸 VHD 格式的文件,是在使用 Virtual PC 或者 Virtual Server 時,VHD 是以文件形式存在的虛擬機的磁盤.微軟在 2005 年公開了 VHD 格式文件的全部細節(jié),可以從微軟的 TechNet 網站下載 Virtual Hard Disk Image Format Specification,詳情見參考文獻。這說明了微軟不僅僅要把 VHD 應用在虛擬機領域,更希望 VHD 能夠成為一種
12、新的磁盤格式和載體在業(yè)界得到更多的支持。讓我們拋開虛擬機,把目光集中在 VHD 文件本身.VHD 是一塊虛擬的硬盤,不同于傳統(tǒng)硬盤的盤片、磁頭和磁道,VHD 硬盤的載體是文件系統(tǒng)上的一個 VHD 文件.當我們查看 VHD 文件的技術標準,就會發(fā)現標準中定義了很多 Cylinder、Heads 和 Sectors 等硬盤特有的術語,來模擬針對硬盤的 I/O 操作。既然 VHD 是一塊硬盤,那么就可以跟物理硬盤一樣,進行分區(qū)、格式化、讀寫等操作。我們這可以這樣認為,VHD 也是硬盤的一種,就像 2.5 寸、3。5 寸、SCSI、SATA、IDE 等不同規(guī)格的硬盤一樣,VHD 是在一個文件中的硬盤。
13、文檔為個人收集整理,來源于網絡個人收集整理,勿做商業(yè)用途根據微軟虛擬硬盤映像格式規(guī)范,VHD 分為固定虛擬硬盤、動態(tài)擴展虛擬硬盤、差異虛擬硬盤三種類型。固定虛擬硬盤:此類 VHD 需要的物理存儲空間與創(chuàng)建磁盤時為其指定的大小相同,也就是 VHD 文件的大小與虛擬硬盤大小相同,而且保持不變.固定 VHD 的大小不會隨著向虛擬硬盤寫入數據而變化,其 I/O 性能比另外兩種類型的 VHD 要高。動態(tài)擴展虛擬硬盤:此類 VHD 創(chuàng)建時只占較少的硬盤空間,隨著虛擬硬盤的使用,VHD 文件的不斷增長,最高達到創(chuàng)建虛擬硬盤時指定的最大大小,刪除 VHD中的數據不會自動減少動態(tài) VHD 大小。差異虛擬硬盤:此
14、類 VHD 是與另一虛擬硬盤以父子關系相關聯(lián)的虛擬硬盤,差異硬盤是子,關聯(lián)的虛擬硬盤是父,父 VHD 可以為任何類型的虛擬硬盤;差異VHD 存儲對父 VHD 所做的所有更改,并提供了一種技術而不改變父硬盤的內容。要把 VHD 文件當做物理硬盤一樣讀寫,必須要有相應的驅動程序.在 09 年 10月正式推出的 Windows7 中,其啟動部分和內核驅動程序內置了對 VHD 文件讀寫的支持,我們在使用 Windows7 時,不僅可以通過加載 VHD 直接訪問 VHD 文件中的內容,也可以通過 Windows7 的引導程序直接啟動已安裝于 VHD 磁盤上的另一個操作系統(tǒng).就是你不需要在硬盤上安裝任何的
15、系統(tǒng)和虛擬機,通過 Windows 7 的引導文件,就可以直接啟動 VHD 里的系統(tǒng)。也就是說,你把一個裝了 Windwos 7 的 VHD,放到一個新硬盤上(當然需要分區(qū)并有活動主分區(qū)),然后更新一下活動主分區(qū)的引導信息,啟動計算機,就可以直接進入 VHD 里 Windows 了。 正因為 windows 7 的 VHD,既是一個文件,又支持原生啟動,才具備了極大的優(yōu)勢。要充分發(fā)揮 VHD 的優(yōu)勢,還得用到差分磁盤(也稱差分 VHD,或者子 VHD) 。差分 VHD,是以某個 VHD 為基礎建立的(這個 VHD 就是母盤),對差分 VHD 的修改,不會影響到母盤。當母盤系統(tǒng)達到一個理想狀態(tài)時
16、,我們可以創(chuàng)建一個差分 VHD ,以后就使用這個差分 VHD 。當差分 VHD 系統(tǒng)用久了出現不穩(wěn)定時,我們只要刪除這個差分 VHD,以原來的母盤重建一個新的差分 VHD,系統(tǒng)就有回到了理想的狀態(tài)。因此,windows 7 的 VHD 具備了還原卡、時光機等的特點。我們可以根據需要,以不同的 VHD 為母盤創(chuàng)建差分 VHD ,差分磁盤還可以多級創(chuàng)建,即以某個差分磁盤為母盤,再創(chuàng)建差分磁盤。我們可以在創(chuàng)建差分 VHD 時,就復制一個備份,可以實現隨時用備份的差分磁盤來替換差分磁盤,實現快速還原,也稱秒還原,因為這個還原過程在 1-2 秒內就可完成。這個特點是 ghost之類的備份軟件所無法比擬的
17、。個人收集整理,勿做商業(yè)用途個人收集整理,勿做商業(yè)用途因為 Windows 7 的引導程序和 Windows 7 本身都包含了對 VHD 文件的讀寫驅動程序,因此我們可以在啟動計算機的時候,訪問 VHD 并且從其上啟動;我們也可以在 Windows 7 中直接創(chuàng)建、加載和卸載 VHD 文件。這些都是 VHD 讀寫驅動的功勞,因此 Windows 7 不需要安裝任何虛擬化軟件。從 VHD 啟動之后,計算機的操作系統(tǒng)直接訪問硬件,不是以虛擬化的方式運行。這里面唯一的區(qū)別,就是對文件系統(tǒng)讀寫訪問的時候,需要經過額外的一層 VHD 讀寫驅動的解析,這里面有一些微量的 I/O 性能開銷,但是跟虛擬化的情
18、況相比,性能基本上接近了真機。我查了一些測試資料,有一組直接讀取硬盤和讀寫 VHD 的比較,性能差別微乎其微. 總之,Windows 7 的 VHD,既是虛擬機,又不是一般的虛擬機,因為它利用的是真實的硬件環(huán)境,除了硬盤,從 VHD 啟動計算機,能夠讓你體驗到真實物理環(huán)境的高性能,同時你可以快速創(chuàng)建和刪除多個系統(tǒng),它實在是一項強大的技術。1.21.2 虛擬硬盤啟動計算機的研究現狀虛擬硬盤啟動計算機的研究現狀 雖然目前從 VHD 上啟動計算機技術已經實現,而且 VHD 技術也十分地強大耀眼,然而我國對 VHD 技術還僅僅停留在體驗和使用階段,并沒有相關 VHD 技術改進的論文發(fā)表,實在令人深表遺
19、憾。而國外卻是十分的重視這項技術的運用,微軟公司也在不斷地完善自己的這項技術,希望能夠通過 VHD 技術和廣大的用戶群體來占領虛擬技術的市場,他們接連發(fā)布了 VISTA 和 WINDOWS XP 系統(tǒng)的 VHD 系統(tǒng)文件供用戶免費下載.擁有眾多用戶的微軟加上出色的 VHD 表現,我們可以預想到 VHD 啟動計算機的光明前途。目前虛擬硬盤啟動計算機的應用還主要停留在在一個 WIN7 宿主的計算機身上創(chuàng)建多個操作系統(tǒng),當做另外一種先進的虛擬機使用.雖然 VHD 啟動計算機十分地方便,技術也已經趨于成熟,但是我們仍然可以看到從 VHD 啟動計算機的多方面限制:1使用 VHD 本機啟動以前版本的 Wi
20、ndows。Windows Vista(R)和 Window Server 2008(及以前版本的 Windows)不支持本機啟動。本機啟動 VHD 需要對操作系統(tǒng)進行重大更改,而這些更改是 Windows 7 中的新增功能。2休眠以節(jié)省電量。從 VHD 映像啟動的操作系統(tǒng)不支持休眠。3將壓縮或加密的 VHD 用于本機啟動.已在主機卷上使用 NFTS 壓縮或使用加密文件系統(tǒng)加密的 VHD 不支持本機啟動.4當主機卷受 Bitlocker(TM)保護時配置本機 VHD 啟動??蓪?VHD 文件保存在受 Bitlocker 保護的文件系統(tǒng)上,但無法將 VHD 用于本機啟動或在 VHD 包含的卷上啟
21、動 Bitlocker。5啟動到遠程共享或 USB 閃存驅動器上的 VHD。無論 Windows 安裝在物理卷上還是通過 VHD 安裝,Windows 都不支持啟動到遠程共享或 USB 閃存驅動器.1.3 論文結構介紹論文結構介紹本次論文的主要研究內容即通過分析 VHD 技術的原理,在傳統(tǒng)的從 VHD 啟動計算機的技術基礎之上進行探索跟嘗試在低版本的 Windows 操作系統(tǒng)上實現 VHD啟動計算機,同時探討將低版本的 Windows 操作系統(tǒng)裝入 VHD 文件并從中啟動的方法。在之前的文章中我們已經簡單地介紹了 VHD 技術的一些應用,和當前 VHD 啟動計算機技術的研究現狀,在之后的第二章
22、我們將詳細地分析 VHD 技術的原理,第三章我們會根據基本原理探討前人的一些改進方法,最后在第四章我會根據之前的分析介紹一下自己的改進虛擬硬盤啟動計算機的方法。1.4 本章小結本章小結 在這一章中我們主要介紹了我們要研究討論的對象虛擬硬盤(VHD),了解到微軟公司在新推出的 Windows 7 和 Windows Server 2008 的內核驅動程序中直接添加了對 VHD 的支持。雖然 VHD 是當前的一項熱門技術,但是他本身還是有很多的限制,我們也了解到目前對于虛擬硬盤啟動計算機技術研究的現狀。最后我們對論文的結構有了一個大概的了解。第第 2 2 章章 虛擬硬盤啟動計算機技術虛擬硬盤啟動計
23、算機技術原理原理2 2。1 1 VHDVHD 的技術的技術介紹介紹 VHD 文件格式(.vhd)的文件代表著一個虛擬硬盤。要在 Windows Server2008 以前版本的 Windows 系統(tǒng)上使用 VHD 文件,你必須要安裝 HyperV,Microsoft Virtual Ssrver 或者 Windows V-PC。但是在 Windows 7 和Windows Server 2008 系統(tǒng)上,你可以直接創(chuàng)建,配置而且可以不用虛擬機或者虛擬程序就可以直接從 VHD 文件上啟動物理計算機。這個功能簡化了鏡像的管理因為他能讓你:1. 規(guī)范你系統(tǒng)內的鏡像格式和工具集。2. 減少了目錄和支持
24、的鏡像數量.3. 增加服務器的利用率來節(jié)省資源。在討論具體的技術實現方式之前,我們首先需要理解操作系統(tǒng)對磁盤和文件的管理。操作系統(tǒng)有磁盤系統(tǒng)和文件系統(tǒng)兩部分,分別處理對硬盤的 I/O 讀寫指令(磁盤系統(tǒng)),和管理硬盤之上的分區(qū)、數據和文件格式(文件系統(tǒng))。VHD 是存在于文件之上的磁盤,可想而知它的技術實現必須橫跨磁盤系統(tǒng)和文件系統(tǒng)這兩部分。微軟網站上的 Windows 存儲技術系列 Webcast 中有詳細介紹。簡單的說,要把 VHD 文件當作硬盤一樣讀寫,必須有相應的驅動程序。實現虛擬存儲的可執(zhí)行模塊必然是驅動程序, 虛擬硬盤的實質就是虛擬硬盤驅動程。在 Virtual PC 和Virtu
25、al Server 中,微軟就是通過在虛擬機種加入 VHD 的驅動程序,使得虛擬機可以從 VHD 啟動并進行后續(xù)的操作。在 Windows 7 中,微軟把 VHD 的驅動內置進了操作系統(tǒng),也包括在了Windows 7 的引導程序中.這也就是說,我們可在使用 Windows 7 的時候,直接訪問 VHD 文件中的內容(把 VHD 的硬盤映射到一個盤符,后面會詳細描述),也可以通過 Windows 7 的引導程序,啟動位于 VHD 磁盤上的另一個操作系統(tǒng)。理解VHD 驅動的工作細節(jié),需要比較多的 Windows 底層知識,下圖是一個比較簡單和抽象的結構,可以發(fā)現,VHD 的驅動是跟磁盤驅動和文件系
26、統(tǒng)緊密結合的。圖 2-1 文件系統(tǒng),虛擬硬盤,硬盤驅動的關系其中,為對硬盤設備的 I/ O 請求;為對虛擬硬盤設備的 I/ O 請求;為對虛擬硬盤設備的 I/ O 請求最終被發(fā)送給構成該虛擬硬盤的物理硬盤設備完成。文件系統(tǒng)驅動程序接收到文件的 I / O 請求, 將之轉換為它們自己的、更明確的請求傳遞給物理設備驅動程序最終滿足這一請求. 例如, 考慮一個寫文件操作的執(zhí)行情況, I / O 管理器將寫文件請求傳遞到文件系統(tǒng)驅動程序, 文件系統(tǒng)驅動程序將指定的寫操作轉化為開始偏移量( 磁盤上的一個扇區(qū)的邊界) 和寫入的字節(jié)數, 然后再通過 I / O 管理器把該請求傳遞到磁盤驅動程序, 磁盤驅動程
27、序將數據寫入指定位置并返回。 在硬盤驅動程序之上還存在著過濾驅動程序, 過濾驅動程序截獲發(fā)送給硬盤的 I/ O 請求并根據需要進行調整, 從而影響硬盤驅動程序的行為。2.2 啟動項管理啟動項管理 BCDedit我之前提到了,在 Windows 7 中,微軟把 VHD 的驅動內置進了操作系統(tǒng),也包括在了 Windows 7 的引導程序中。這也就是說,在啟動計算機的階段,Windows 7 的引導程序可以大搖大擺的直接訪問 VHD 文件,并且啟動 VHD 中安裝的系統(tǒng),即 Windows 7 原生態(tài)支持 VHD 系統(tǒng)的啟動。那么,什么是 Windows 7 的引導程序?簡單地說,引導程序就是在操作
28、系統(tǒng)內核或用戶應用程序運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設備(加載必要的驅動程序) 、建立內存映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調用操作系統(tǒng)內核或用戶應用程序準備好正確的環(huán)境.我們在裸機上安裝Windows 7 時,首先做的,就是把 Windows 7 的引導程序寫入磁盤的特殊位置。Windows 7 的引導程序帶有 VHD 驅動,因此可以從 VHD 啟動。在 NT5。x 系統(tǒng)(如 WinXP)中啟動機器的過程由 NT Loader 完成,NTLDR 文件負責引導并由 Boot。ini 存儲啟動設置數據,由于 Boot。ini 文件是以純文本
29、形式存儲的,所以修改起來很容易,但是功能也較為簡單. 從 Vista 開始 WinNT 版本號升級到 6.x,引導程序也由功能更加強大的 Windows Boot Manager 接管,Windows Boot Manager 的引導文件為 bootmgr,而啟動設置數據文件也由boot。ini 更改為 BCD,而 BCD 這個文件為了儲存更多的信息也放棄了使用純文本形式的方法,所以我們只能使用 BCDEdit 程序對這個文件進行編輯。傳統(tǒng)的基于 BIOS 的計算機中,如果只安裝 Vista 和 Windows 7,除了極早期的 Vista 和 Windows 7 測試版本外,您將會發(fā)現 Bo
30、ot。ini 文件已經徹底從系統(tǒng)中消失;如果系統(tǒng)中安裝了 Vista 和 Windows 7 和之前的 WIndows 系統(tǒng)如Windows XP,雖然仍可找到 Boot.ini 文件,不過,這個文件只作用于那些系統(tǒng),而不會對 Vista 和 Windows 7 的啟動有任何影響。在基于 EFI (Extensible Firmware Interface : 可擴展固件接口,以后采用這種接口的 PC 會越來越多 )的計算機中,Boot。ini 文件則更不復存在,在基于 EFI 的系統(tǒng)中,啟動選項被貯存在主板的存儲器中。此時要修改啟動選項,要么通過能夠讀寫 NVRAM 的工具如 NvrBoot
31、,要么使用上文提到的 BCDEdit。由此可見,在 Vista 和 Windows 7 中,想要再像之前 Windows XP 中那樣通過一個簡單的文本編輯器來修改 Boot。ini 的方式來管理啟動選項已經不可能了,要對啟動設置進行修改,只能使用命令格式相對要復雜得多的 BCDEdit。此外,微軟也在 Vista 和 Windows7 中提供了可通過 WMI (Windows Management Instrumentation : Windows 管理規(guī)范)調用的 BCD 類,通過它可以用編程的方式修改 BCD 數據,不過,相信對絕大多數用戶而言,這更是不可能的任務。需要注意的是,BCDE
32、dit 不是一個運行于圖形界面下的程序,而是一個命令行工具,該文件 (Bcdedit。exe) 位于 “WindowsSystem32”目錄下。BCDEdit 僅限于標準的數據類型同時主要用于執(zhí)行 BCD 上的常見改變。對于更復雜的操作或者不標準的數據類型,就要考慮使用 BCD 的 WMI(Windows Management Instrumentation)應用程序接口(API)來創(chuàng)造更高效更靈活的定制工具。BCDedit 的語法格式是 BCDEdit /Command Argument1 Argument2 。 。.表 21 常用的 Bcdedit 命令命令描述/?顯示某個目錄下的 BCD
33、Edit 命令./createstore創(chuàng)建一個空的啟動配置數據存儲./export把系統(tǒng)存儲的內容導出到一個文件中./import導入備份的數據文件來恢復系統(tǒng)的狀態(tài)。/store和其它 BCDedit 命令一起使用來指定被使用的存儲。/copy在相同的系統(tǒng)存儲中復制一份指定的啟動項。/create在啟動配置數據存儲中創(chuàng)建一個新條目./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 來進入Diskmgmt.msc。然后選擇從操作菜單中選擇 Create VHD,他會彈出一個對話框,然后你可以用它來定義設置你的 VHD 文件。其中包括:1. location:這將決定新的 VHD 文件的文件名,和儲存路徑。例如:E:/test.vhd2. Virtual hard disk size:這是指 VHD 文件的大小。需要注意的是如果你創(chuàng)建一個動態(tài)擴展的 VHD 文件,那么虛擬硬盤的大小將會是 VHD 文件
35、達到的最大大小.3. Virtual hard disk format:這是設置 VHD 文件的格式:動態(tài)擴展或者固定大小。需要注意的是,當你創(chuàng)建一個動態(tài)擴展格式的 VHD 文件時,Windows 不會測試剩余的可用物理空間,因此,我們能夠創(chuàng)建一個動態(tài)擴展的 VHD 文件,使他的最大容量大于可用的實際物理空間。但是,動態(tài)擴展的 VHD 最大體積只能為 2040GB.圖 2-2 創(chuàng)建一個 VHD選擇 VHD 文件的保存路徑,并且指定 VHD 文件的形式(動態(tài)或者固定尺寸).如何是用于啟動系統(tǒng),建議設定 VHD 的類型為固定尺寸的,這樣會獲得更好的性能。圖 2-3 創(chuàng)建一個 20G 的 VHDVH
36、D 創(chuàng)建后,系統(tǒng)會多出一個“虛擬的硬盤,在磁盤管理工具中,像對物理硬盤一樣,對它進行“初始化和”格式化” 。要格式化一個硬盤,只需要在 Disk Management 菜單中點擊磁盤的名字然后選取 Initialize Disk 就可以了,在圖中,我們格式化的是 Disk 1。在 VHD 的虛擬硬盤被格式化以后,你可以像對待其他任何磁盤一樣對待它,包括創(chuàng)建新的卷,格式化卷,也可以給 VHD 中的卷添加盤符。例如,只需要在選定地方點擊 New Simple Volume 然后跟著引導去選擇卷地大小,盤符,格式和磁盤塊大小就可以完成。圖 24 格式化剛創(chuàng)建出來的 VHD你可以隨意地分離 VHD 讓
37、他們不以磁盤的形式出現在計算機上.為了防止數據丟失,你應該經常地再重啟操作系統(tǒng)前分離 VHD,要想做到這點,你只需要選擇磁盤的盤符,然后點擊 Detach VHD 就可以達到。另外,如果你已經有了一個創(chuàng)建好的 VHD 文件,而且你想要他連接成為一個磁盤,那么你只需要一下操作:1從 Action 目錄里面選擇 AttachVHD。2輸入 VHD 文件的路徑,然后選擇是否已只讀形式打開磁盤.2.3.22.3.2 DiskPartDiskPart 方法方法 如果你想要用命令行來實現,你可以使用 DiskPart 命令工具來實現這些操作。如果你想要更多的了解 DiskPart 的命令詳情可以參見參考資
38、料 DiskPart。 下面我們來簡單介紹一下如何使用 DiskPart 命令來創(chuàng)建和配置一個 VHD.我們需要點擊開始,然后再點擊命令提示符,選擇以管理員身份運行,再輸入“Diskpart”即可啟動它,此時屏上顯示為“Diskpart”,不像普通的命令提示符那樣是一個分區(qū)或目錄后跟一個“ ” ,而且普通的 DOS 命令也無法在此運行,退出它只有輸入“Exit命令.從這三種跡象表明,它是一個集成的環(huán)境,只有特定的命令可在其下執(zhí)行。輸入“Help”命令,屏上會列出所有的可執(zhí)行命令及各命令的簡要說明。1.我們現在來創(chuàng)建一個新的 2GB 大小的動態(tài)擴展 VHD 文件,命名為 Test.VHD然后將他
39、保存到 C:VHD 文件夾下,輸入以下命令:DiskpartCreate vdisk file=C: VHDtest.vhd maximum=2000 type=expandable如果你不指定 VHD 的格式的話,Disk part 將會默認選擇固定大小的 VHD.備注:你還可以利用 DiskPart 創(chuàng)建另外一種 VHD 的格式:差分格式的VHD(有時也被稱為子 VHD) ,他和動態(tài)擴展 VHD 有些相似,但是他包含的只有對父 VHD 相關的磁盤塊修改的結果.要想創(chuàng)建一個差分 VHD,就要用到 parent 命令。例如:創(chuàng)建一個命名為 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 的相關信息,只需要輸入:Detail vdisk5。在新的 VHD 中創(chuàng)建一個 1GB 的主分區(qū),輸入:Create partition primary size=10006。格式化一個分區(qū),輸入:format fs=ntfs label=“test volume” quick7。給磁盤標記一個盤符 M,輸入:As
41、sign letter=M8。同樣,你可以隨意得分離 VHD 讓他不再以磁盤的形式出現,你只需選擇你想要分離的磁盤(select vdisk file=“c:vhdtest.vhd” ) ,然后輸入 detach vdisk 即可。另外,你還可以利用 DiskPart 來執(zhí)行以下操作:1。擴大一個 VHD 文件的大小。要想擴大一個 VHD 文件的大小,首先要確保這個 VHD 文件是分離狀態(tài)的,然后就選擇它(輸入 select vdisk file=文件路徑 ) ,然后輸入 expand vdisk maximum=。例如,expand vdisk maximum=3000 就會擴大一個 VHD
42、 文件到 3GB,想看到新的 VHD 文件信息,輸入detail vdisk。2。延伸一個 VHD 中的一個卷。你可以在一個有空閑未分配空間的 VHD 中延長一個卷.要做到這一點,你首先要確認這個 VHD 是附加狀態(tài)的,然后選擇你想要延長的卷(select volume=卷名) ,然后輸入 extend size=.例如,extend size=1000 就會增加 1GB 大小給主分區(qū)。3.簡化一個動態(tài)擴展的 VHD。減少動態(tài)擴展的 VHD 文件大小是十分有用的,因為在你增加文件的時候這些文件體積會增大,但是在你刪除這些文件的時候它們不會自動減少體積。為了簡化一個動態(tài)擴展的 VHD,首先要確認
43、 VHD 是分離或者附加狀態(tài)下的只讀形式,然后選擇 VHD(select vdisk file=完整路徑) ,然后輸入:compact vdisk.對于動態(tài)擴展 VHD 而言,虛擬大小就是 VHD 的最大體積,物理體積才是實際的體積。對于固定大小的 VHD 而言,他們是一樣的。4.合并差分的 VHD。要想用一個父 VHD 合并他們的子 VHD,首先你要確認這個差分磁盤是分離狀態(tài)的,然后選擇選擇這個 VHD(select vdisk file=完整路徑 ) 。然后輸入 merge vdisk depth=1,需要注意的是 depth=1 表示同一級地差分鏈將會被合并,如果你選擇一個大于 1 的數
44、字,這個 VHD 必須有 2 個以上的差分鏈。2。4 本章小結本章小結 在這一章中我們介紹了虛擬硬盤實現的基本原理,也知道了微軟把 VHD 的驅動內置進了操作系統(tǒng),也包括在了 Windows 7 的引導程序中。這也就是說,在啟動計算機的階段,Windows 7 的引導程序可以直接訪問 VHD 文件,并且啟動 VHD中安裝的系統(tǒng),即 Windows 7 原生態(tài)支持 VHD 系統(tǒng)的啟動。對于 Windows 7 系統(tǒng)上的 BCD 引導我們做了簡單的介紹。最后也詳細說明了如何建造一個虛擬硬盤(VHD)同時對他進行相應的配置,為我們接下來介紹的虛擬硬盤啟動計算機打下基礎.第第 3 3 章章 虛擬硬盤啟
45、動計算機技術分析虛擬硬盤啟動計算機技術分析 3.13.1 從從 VHDVHD 啟動計算機啟動計算機在上一章我們談到了如何在一個 Windows7 的系統(tǒng)上創(chuàng)建和配置一個 VHD,現在我們來談一下當前 VHD 最熱門的應用從 VHD 啟動計算機。需要注意的是原生態(tài)的從 VHD 啟動計算機只有 Windows 7 和 Windows Server 2008 才支持,并且 VHD 中的操作系統(tǒng)也只能是 Windows 7 和 Windows Server 2008 版本。3.1.13.1.1 創(chuàng)建和附加一個創(chuàng)建和附加一個 VHDVHD傳統(tǒng)的從虛擬硬盤上原生態(tài)啟動計算機要求我們必須要使用 Window
46、s 7 或者Windows Server 2008 的系統(tǒng),另外還需要一個可以訪問的 Windows 7 或者Windows Server 2008 的安裝文件。在準備好上面兩項之后,我們就先用上一章的方法來創(chuàng)建跟附加一個 VHD。1.點擊開始,然后再點擊命令提示符,選擇以管理員身份運行,再輸入Diskpart.2。使用 DiskPart 創(chuàng)建并且附加一個 VHD,下面是創(chuàng)建一個 20GB 最大容量的動態(tài)擴展 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 定位一個定位一個 install.wiminstall.wim 鏡像文件然后應用到鏡像文件然后應用到 VHDVHD 接下來的步驟就是要定位一個 Windows 7 或者 Windows Server 2008 操作系統(tǒng)的鏡然后應用到 VHD 的卷中。你可以從 Windows 7 或者 Windows Server 2008 的安裝盤或者 ISO
48、 鏡像文件中找到。wim 的鏡像。WIM 即 Windows Imaging File Format,是微軟定義的一種鏡像格式,比起傳統(tǒng)的基于磁盤的鏡像方式,WIM 是以文件流+特征碼的方式存儲,所以對目標原磁盤和目標磁盤的文件格式都是不可知的,所以我們可以把這種文件用來安裝操作系統(tǒng),而不會對原磁盤格式或文件造成破壞,在 NTFS 文件系統(tǒng)中 WIM 還可以掛載到一個文件夾當中實現離線修改,當然這并不在文本的討論范圍,大家只要了解從 Vista 以上的操作系統(tǒng)安裝光盤都是以此格式存儲原始安裝文件的。需要注意的是在 Boot.wim 中的 Windows 的預安裝環(huán)境(Windows PE)的鏡
49、像不支持原生態(tài)虛擬硬盤啟動。下面我們就開始介紹如何將 Windows 的鏡像應用到 VHD 中.首先你要準備Microsoft 提供的 2 個工具:ImageX 和 Windows AIK,而且他們要位于同一文件夾下.點擊名為“To apply a Windows image to a VHD by using ImageX的程序。1. 打開 Windows AIK,然后選擇部署工具提示符,選擇以管理員身份運行。2. 查看。wim 鏡像中 Windows 的版本信息,輸入:imagex /info 。wim 的路徑.輸出會列出。wim 文件中所有鏡像的元數據。然后觀察輸出的鏡像中DESCRIP
50、TION一欄,記住你想要應用到 VHD 中的鏡像的索引值.3. 記住了相應的索引值,我們可以用以下的語法來應用鏡像到 VHD 中。Imagex /apply .wim 文件路徑VHD 的路徑例如:imagex /apply F:sourcesinstall。wim 5 v: 就是應用一個位于 F 盤的install。wim 內的 Datacenter 版本 Windows(索引為 5)到盤符為 V 的 VHD 主分區(qū)中。安裝過程會持續(xù) 10-15 分鐘,如果你是用的網絡共享文件而不是本地的文件,那么建議你使用有線的網絡連接來獲得更大的速度。3 3。1 1。3 3 定位一個定位一個 instal
51、linstall。wimwim 鏡像文件然后應用到鏡像文件然后應用到 VHDVHD完成安裝之后你就擁有了一個安裝了 Windows 鏡像文件的 VHD,你需要修改啟動配置數據(BCD)來配置 VHD 文件讓它能夠從本機直接啟動。對于本機從 VHD 上直接啟動,你要在 BCD 存儲中配置一個開機啟動項,這必須在 VHD 之外的物理系統(tǒng)分區(qū)上完成.系統(tǒng)的分區(qū)體積可以與 VHD 文件的體積不同。但是 Windows 7 的默認安裝會單獨創(chuàng)建一個 100MB 的分區(qū)來支持 BCD 存儲.3 3。1.41.4 將將 VHDVHD 的系統(tǒng)啟動信息寫入的系統(tǒng)啟動信息寫入 BCDBCD現在要做的就是更新 BC
52、D(啟動設置數據)讓計算機能夠將 VHD 的內的系統(tǒng)加入啟動項,然后我們就可以再開機的時候選擇進入 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現在你重啟計算機就可以選擇進入你 VHD 文件中的系統(tǒng)了.3。2 在在 Windows 7 的系統(tǒng)上啟動的系統(tǒng)上啟動 VHD 技術分析技
53、術分析 觀察前面的步驟,我們不難發(fā)現,在 Windows 7 上能夠實現從 VHD 啟動計算機,首先是因為 Windows 7 的內核驅動直接 VHD 格式的文件,在 Windows 7 的環(huán)境下能夠輕易的創(chuàng)建跟配置一個 VHD。另外,在 NT5。x 系統(tǒng)中啟動機器的過程由NT Loader 完成,NTLDR 文件負責引導并由 Boot。ini 存儲啟動設置數據,由于Boot。ini 文件是以純文本形式存儲的,所以修改起來很容易,但是功能也較為簡單。 從 Vista 開始 WinNT 版本號升級到 6。x,引導程序也由功能更加強大的Windows Boot Manager 接管,Windows
54、 Boot Manager 的引導文件為 bootmgr,而啟動設置數據文件也由 boot。ini 更改為 BCD,而 BCD 這個文件為了儲存更多的信息也放棄了使用純文本形式的方法,所以我們只能使用 BCDEdit 程序對這個文件進行編輯。由此,我們可以推斷,低版本的 Windows 不支持 VHD 文件的創(chuàng)建與配置,是因為本身的內核中沒有相應的驅動程序,所以 Windows 早期的系統(tǒng)版本也無法寫入 VHD 文件中。但是我們可以嘗試在 Windows XP 的環(huán)境下安裝一個 Win PE 來創(chuàng)建我們需要的 VHD 文件,然后將這個 VHD 文件附加到我們的計算機上,在文件中安裝我們需要的操
55、作系統(tǒng),并且在 BCD 中添加我們想要啟動的 VHD,這樣就滿足了 VHD啟動的基本要求,在下一章中我們會有具體操作。3.3 本章小結本章小結 在這一章中我們介紹了傳統(tǒng)地在一個 Windows 7 的計算機上創(chuàng)建配置一個帶有系統(tǒng)的 VHD 文件,并且更改 BCD 信息,讓計算機能夠從 VHD 啟動的技術,并且分析了低版本 Windows 與 Windows 7 以上版本的區(qū)別,推測了 Windows 7 以前版本并不支持 VHD 的原因并且作出了相關改進的設想。第第 4 4 章虛擬硬盤啟動計算機技術改進章虛擬硬盤啟動計算機技術改進4 4。1 1 在在 WindowsWindows XPXP 系
56、統(tǒng)上實現系統(tǒng)上實現 VHDVHD 啟動啟動 WindowsWindows 7 7前面我們已經的假設出 VHD 啟動計算機的必要條件:1,要有一個安裝好系統(tǒng)的 VHD 文件;2,要在 BCD 中添加 VHD 信息進入啟動項。那么現在我們就來具體操作,以 Windows XP 為例,介紹如何在 Windows 早期版本實現 VHD 啟動計算機. 開始之前我們還是要準備相應的工具: 1,Windows XP 的物理主機一臺(提供我們整個操作的環(huán)境) 。 2,Win7 的安裝盤或鏡像文件(裝 Win7 進 VHD 文件) 。 3, WinPE 的安裝文件(提供一個創(chuàng)建跟配置 VHD 的環(huán)境)。4,Im
57、ageX.exe(他能夠快速提取鏡像以縮短安裝時間,同時更具靈活性和可用過部署的介質進行控制)。 當你已經準備好上面地工具后,就可以開始進行下面的操作了。 首先我們在 XP 的環(huán)境下運行 WinPE 的安裝程序,并且重啟計算機計入WinPE.然后就要利用到我們在前面幾章介紹到的創(chuàng)建一個可以從中啟動的 VHD 文件。 為了操作的方便,我們不妨設置一個大小為 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 文件內,同樣的,輸入命令:Imagex /apply 鏡像的索引值 VHD 的路徑現在我們就已經將 Win7 安裝盤上的鏡像應用到我們的虛擬硬盤上了。現在我們執(zhí)行 BCDEdit 來查看啟動項。要執(zhí)行 BCDEdit,首先應進入命令行窗口,并要將操作用戶并提升至管理員權限。為了避免操作失誤或機器故障照成損失,建議每次使用 BCD 命令前先備份當前系統(tǒng)的啟動配置文件
59、,方法如下:bcdedit /export D:bootbkupbcdedit /import D:bootbkup其中 bootbkup 是備份的文件名。首先在命令行窗口中輸入 bcdedit 查看當前的啟動信息圖 41 查看啟動項我們發(fā)現 Windows 7 已經直接出現在了 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 恢復 XP 啟動項圖 43 XP 進入啟動項完成后我們可以用 bcdedit 看到已經含有 Windows 7 和 Windows XP 的啟動項目?,F在重新啟動計算機,我們就可以看到兩個啟動選單:Windows XPWindows 7 VHD 圖 4-4 啟動狀態(tài) 選擇 Windows
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度養(yǎng)殖場農產品質量安全追溯合同
- 2024-2025學年湖北省黃岡市高二上學期普通高中12月聯(lián)考歷史試卷
- 2025年兼職會計實習生崗位協(xié)議書完整版
- 2025年北京龍湖租賃合同標準
- 2025年雙方數據互換保密協(xié)議
- 2025年鎳壓延加工材項目立項申請報告模范
- 2025年合作項目協(xié)商協(xié)議示例
- 2025年技術成果轉化服務項目立項申請報告模板
- 2025年分析儀器購買合同模板
- 2025年聲學懸浮物監(jiān)測儀項目規(guī)劃申請報告模板
- 23G409先張法預應力混凝土管樁
- 三年級下冊口算天天100題(A4打印版)
- RBA培訓教材系列02RBA商業(yè)道德政策培訓針對員工
- 高中研究性課題-------食品添加劑
- T∕CNFAGS 3-2021 三聚氰胺單位產品消耗限額
- 弟子規(guī)全文拼音版打印版
- 變電站設備驗收管理標準規(guī)范
- 鍋爐房危害告知卡
- NPI流程管理分解
- 物業(yè)公司財務部各崗位工作職責
- 航空器拆解適航管理解讀
評論
0/150
提交評論