VHD實現雙系統開機-Win7 + Win8

今天在ITHOME看到有人問雙系統的問題,很好奇的點進去看,看到有人提到了Boot from VHD,因為從來沒有學過,所以收集了一些資料並試著實作,當然也可以使用圖形化界面來加速設定,但學linux就是有一種想打指令的feel。

使用這種方式的好處是新的作業系統可以使用實際的的硬體資源進行相關的測試,就算玩壞了也不會影響到原有的作業系統,可以完全砍掉再重練,唯一的缺點是效能的高低,來自於硬碟的存取速度。

實作方式:邊做邊學 Windows 7:如何在 Windows 7 建置開機 VHD
實作環境:VMware Player
作業系統1:windows 7 Enterprise
作業系統2:windows 8 Enterprise
  1. 先在VMware Player安裝Win7
  2. 下載並安裝Windows Automated Installation Kit(AIK)
  3. 以系統管理員身份執行部署工具命令提示字元


  4. 使用DISKPART工具建立VHD
  5. 建立VHD 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

  6. 使用IMAGES工具佈署作業系統
  7. 檢查映像檔(映像檔內可能會同時存在不同版本的windows) C:\> IMAGEX /INFO "f:\sources\install.wim"   //f:是win8安裝光碟

    由下圖可知,此映像檔只有一個版本,且索引值為1。





    佈署win8至剛剛產生的G槽 C:\> IMAGEX /APPLY "f:\sources\install.wim" 1 G:\ //1為前一步驟所查出的索引值(image index)

    部署中:

    完成部署:

  8. 使用BCDEDIT工具新增開機選單
  9. 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



  10. 重開機

結果~~~~~失敗!點選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

  1. 先將開機預設的作業系統變更為Win7並重新開機


  2. 選擇Windows7


  3. 移除Win8選單
  4. C:\> BCDEDIT /ENUM /s
    C:\> BCDEDIT /DELETE {bc3ff694-ccdc-11e2-98db-000c299ea8d8} /CLEANUP



  5. 重開機後就會直接進入到Win7
參考資料:
  1. 邊做邊學 Windows 7:如何在 Windows 7 建置開機 VHD
  2. 如何在 Windows 7 使用虛擬硬碟 VHD 建立多重開機作業系統環境