Windows 目前已經支援 VHD 原生開機了

Windows 支援 VHD 開機,也就是我們可以將安裝了系統的 VHD 檔案當開機系統使用。
這對於喜歡保持一個乾淨的系統,或是想要測試各項新程式功能的人都是一個很棒的消息。
因為這讓備份還原跟多重開機瞬間變的簡單了。

通常一般的 VHD 開機需要搭配安裝一套 Windows 系統來使用,但是我連硬碟都想要乾乾淨淨的。

所以現在要說的是 VHD 原生開機
簡單講就是硬碟只有安裝開機引導程式,然後直接使用VHD檔案開機。
系統就安裝在VHD檔案中,也就是不用在硬碟直接安裝作業系統。
這樣硬碟看起來就清爽多了

基於某些理由,或許有人跟我一樣,會有在 VHD 上面執行 XP 的需求。
這裡記錄說明一下安裝的重點過程

首先 XP 的年代沒有VHD,所以 XP 無法直接使用 VHD 格式啟動。所以需要搭配 VBoot 輔助
另外 BIOS 的AHCI 設定有分 AHCI 和 COMPATIBILITY 兩種模式,也就是 AHCI 和 IDE 模式。
XP 原生也沒整合 AHCI 驅動,所以這裡我從 IDE 模式開始敘述。

STEP1

BIOS 設定 AHCI 為 IDE 模式
使用萬用還原GHOST或是手動一步步安裝XP系統到電腦分區中。
有想更改設定或是做系統優化的,在這裡修改完成。

STEP2

完成所有驅動程式的更新。

STEP3

在裝置管理中,IDE ATA/ATAPI 控制器,需要變更為對應晶片的 SATA AHCI 驅動程式。
(如果不要使用 AHCI 模式,可否省略這步驟,我無法確定。)
重新啟動電腦
BIOS 設定 AHCI 為 AHCI 模式
如果可以正常開機,表示 AHCI 驅動已經安裝成功。

STEP4

使用PE或是另一個系統開機,然後使用 GHOST 備份剛剛的系統分區。

STEP5 (自動)

搭配 WinXP_VHD 輔助處理工具 2011,可上網 Google 下載位址與使用說明。
要注意的是此工具執行環境為簡體,所以需搭配顯示輔助外掛(e.g Locale Emulator)
先建立 VHD,然後套用 GHOST 映像,最後點選自動導入 Vboot 即可。
(動態調整的我沒用過,因為我要搭配原生開機,必須是固定大小)
到此 VHD XP 已經建立完成

XPVHD01.png

XPVHD02.png

XPVHD03.png

STEP5 (手動)

使用STEP5 (自動)的方式是比較方便的,但還是說說手動的方式。
下載 VMLite VBoot V1.1 的版本,這個會幫助 XP 認識 VHD 格式。
我們接著從步驟4開始,使用PE或是另一個系統開機,然後準備手動導入 VBoot 驅動和註冊表。

1.
執行 regedit 開啟登錄編輯程式
2.
檔案 => 載入登錄區 => 開啟目標系統的 Windows\System32\config\SYSTEM 檔案
輸入機碼名稱 => 隨便取一個容易記住的名字(e.g. SYSTEM2)。
3.
展開 HKEY_LOCAL_MACHINE,就會看到 SYSTEM2。
接著修改 SYSTEM2 下的登錄檔。
----------------------------------------
進入命令模式(Z是原先系統磁碟代號)
掛載註冊表
reg load hklm\SYSTEM2 "Z:\winxp\windows\system32\config\system"
編輯註冊表項目(可以使用 regedit /s *.reg 自動導入)
reg add HKLM\SYSTEM2\ControlSet001\Control\CriticalDeviceDatabase\gen_scsiadapter
reg add HKLM\SYSTEM2\ControlSet001\Control\CriticalDeviceDatabase\gen_scsiadapter /v Service /t REG_SZ /d vbootdsk
reg add HKLM\SYSTEM2\ControlSet001\Control\CriticalDeviceDatabase\gen_scsiadapter /v ClassGUID /t REG_SZ /d {4D36E97B-E325-11CE-BFC1-08002BE10318}
reg add HKLM\SYSTEM2\ControlSet001\Control\CriticalDeviceDatabase\gen_scsitest /v Type /t REG_dword /d 1
reg add HKLM\SYSTEM2\ControlSet001\Services\vbootdsk
reg add HKLM\SYSTEM2\ControlSet001\Services\vbootdsk /v Type /t REG_dword /d 1
reg add HKLM\SYSTEM2\ControlSet001\Services\vbootdsk /v Start /t REG_dword /d 0
reg add HKLM\SYSTEM2\ControlSet001\Services\vbootdsk /v ErrorControl /t REG_dword /d 1
reg add HKLM\SYSTEM2\ControlSet001\Services\vbootdsk /v ImagePath /t REG_SZ /d "system32\drivers\vbootdsk.sys"
echo y | reg delete HKLM\111\MountedDevices
卸載註冊表(可省略)
reg unload hklm\SYSTEM2
----------------------------------------
上面看得懂得,直接在註冊表裡面編輯,不用進入命令模式。
4.
修改完之後,點一下 SYSTEM2。
檔案 => 解除載入登錄區
5.
複製 VBoot 裡面的 vbootdsk.sys 到目標系統分區的 Windows\system32\drivers 目錄下。
使用編輯器檢查 vbootdsk.sys 檔案,搜索字串 76220503a426f3,把76改為EB。
這是為了破解 VBoot 的時間使用限制。
6.
建立一個固定大小的 VHD 檔案,格式化分區,接著使用 GHOST 備份剛剛的系統分區到 VHD。
(動態調整的我沒用過,因為我要搭配原生開機,必須是固定大小)
到此 VHD XP 已經建立完成

STEP6

將 VBoot 目錄放到開機磁區下,並且將 vbootldr 和 vbootldr.mbr 複製到根目錄。
修改 vboot\grub\grub.cfg 開機選單
VHD 檔案名稱與位置修改為自己對應名稱跟位置。

小技巧
硬碟分區可修改成搭配 UUID 格式。

以上,是我成功啟用 VHD XP 的重點過程。
不會就搞很久,會了就很快。

創作者介紹
創作者 BB 的頭像
BB

Welkin小窩

BB 發表在 痞客邦 留言(0) 人氣()