Win7 原生支援 VHD (虛擬硬碟) 掛載為實體磁碟,極適合雙系統資料共享、虛擬機 (VPC/Hyper-V) 與宿主機資料互通。但手動操作「磁碟管理」或 DiskPart 指令繁瑣。撰寫兩支批次腳本 (attach_vhd.bat, detach_vhd.bat),實現雙擊一鍵掛載/卸載,大幅提升工作流效率。
@echo off REM === 設定區 === set VHD_PATH=D:\Data\MyData.vhd REM =============== echo select vdisk file="%VHD_PATH%" > "%TEMP%\vhd_script.txt" echo attach vdisk >> "%TEMP%\vhd_script.txt" echo list disk >> "%TEMP%\vhd_script.txt" echo list volume >> "%TEMP%\vhd_script.txt" diskpart /s "%TEMP%\vhd_script.txt" del "%TEMP%\vhd_script.txt" echo VHD 掛載完成,請至「電腦」或「磁碟管理」確認新磁碟機代號。 pause
@echo off REM === 設定區 === set VHD_PATH=D:\Data\MyData.vhd REM =============== echo select vdisk file="%VHD_PATH%" > "%TEMP%\vhd_script.txt" echo detach vdisk >> "%TEMP%\vhd_script.txt" diskpart /s "%TEMP%\vhd_script.txt" del "%TEMP%\vhd_script.txt" echo VHD 卸載完成。 pause
VHD_PATH 修改為您的 VHD 實際完整路徑 (建議使用絕對路徑,避免相對路徑錯誤)。掛載後磁碟機代號可能每次不同。在掛載腳本中加入 mountvol 或 DiskPart assign letter=X 固定代號:
REM 掛載腳本中 attach vdisk 後加入: echo select volume <卷序號> >> "%TEMP%\vhd_script.txt" echo assign letter=V >> "%TEMP%\vhd_script.txt" # 卸載腳本對應加入: echo select volume V >> "%TEMP%\vhd_script.txt" echo remove letter=V >> "%TEMP%\vhd_script.txt"
注意: 卷序號需透過 list volume 確認,或用標籤 (Label) 識別。建議在 VHD 格式化時設定唯一標籤 (如 MYVHD),腳本中用 select volume MYVHD (DiskPart 支援標籤選取)。
結合 Windows AIK (Windows Automated Installation Kit) 的 imagex/dism,可將 WIM 映像轉換為 VHD (wim2vhd.wsf),直接部署至裸機或虛擬機,實現「映像即磁碟」的革命性部署模式,定制 Windows 系統如同玩樂高般輕鬆。
兩支批次腳本,讓 VHD 掛載/卸載從「繁瑣指令」變成「雙擊即用」,釋放 Win7 原生虛擬化儲存威力,構建彈性、安全、高效的資料管理架構。