使用這種方式的好處是新的作業系統可以使用實際的的硬體資源進行相關的測試,就算玩壞了也不會影響到原有的作業系統,可以完全砍掉再重練,唯一的缺點是效能的高低,來自於硬碟的存取速度。
實作方式:邊做邊學 Windows 7:如何在 Windows 7 建置開機 VHD
實作環境:VMware Player
作業系統1:windows 7 Enterprise
作業系統2:windows 8 Enterprise
- 先在VMware Player安裝Win7
- 下載並安裝Windows Automated Installation Kit(AIK)
- 以系統管理員身份執行部署工具命令提示字元
- 使用DISKPART工具建立VHD 建立VHD
- 使用IMAGES工具佈署作業系統 檢查映像檔(映像檔內可能會同時存在不同版本的windows)
- 使用BCDEDIT工具新增開機選單
- 重開機
C:\> DISKPART
DISKPART > CREATE VDISK FILE="G:\w8test.vhd" TYPE=FIXED MAXIMUM=81920
連結VHD
DISKPART > SELECT VDISK FILE="G:\w8test.vhd"
DISKPART > ATTACH VDISK
建立主要磁碟分割
DISKPART > CREATE PARTITION PRIMARY
格式化
DISKPART > FORMAT FS=ntfs QUICK
指定磁碟機代號
DISKPART > ASSIGN //這裡指定為h
離開DISKPART
DISKPART > EXIT
C:\> IMAGEX /INFO "f:\sources\install.wim" //f:是win8安裝光碟
由下圖可知,此映像檔只有一個版本,且索引值為1。
佈署win8至剛剛產生的G槽
C:\> IMAGEX /APPLY "f:\sources\install.wim" 1 G:\ //1為前一步驟所查出的索引值(image index)
部署中:
完成部署:
C:\> BCDEDIT /COPY {current} /D "Win8 From VHD"
已順利將項目複製到 {46f8c17d-ccb4-11e2-9a0d-955a97072ba9}。
C:\> BCDEDIT /SET {46f8c17d-ccb4-11e2-9a0d-955a97072ba9} DEVICE VHD=[G:]\w8test.vhd
C:\> BCDEDIT /SET {46f8c17d-ccb4-11e2-9a0d-955a97072ba9} OSDEVICE VHD=[G:]\w8test.vhd
C:\> BCDEDIT /SET {46f8c17d-ccb4-11e2-9a0d-955a97072ba9} DETECTHAL ON
查看開機選單
C:\> BCDEDIT /ENUM
結果~~~~~失敗!點選Win8開機後,會進入修復模式,修復完成後還是只能進Win7,目前還不知道問題在哪?解決中
解決方法:先移除選單中的"Win8 from VHD",再指定Win8為開機環境檔案的來源
C:\> BCDEDIT /ENUM /s
C:\> BCDEDIT /DELETE {46f8c17d-ccb4-11e2-9a0d-955a97072ba9} /CLEANUP
C:\> BCDBOOT G:\Windows /s
重關機後會出現以下畫面:
點選Win8進行安裝
win8成功開機
移除Win8
- 先將開機預設的作業系統變更為Win7並重新開機
- 移除Win8選單
- 重開機後就會直接進入到Win7
選擇Windows7
C:\> BCDEDIT /ENUM /s
C:\> BCDEDIT /DELETE {bc3ff694-ccdc-11e2-98db-000c299ea8d8} /CLEANUP