標籤:io os 使用 ar for 檔案 art 問題 sp
在windows平台下掛載vhd磁碟檔案類似於掛載iso等檔案;
使用VHDMount工具掛載VHD檔案
啟動Hyper-V裡的外部VHD檔案有點困難。如果在備份驅動上有個VHD檔案,並需要從其虛擬機器訪問檔案,Hyper-V要求匯入這台虛擬機器。如果你需要快速擷取一些檔案,那麼這個過程非常耗時,也很煩人。
另一種方法是通過在案頭上直接掛載VHD訪問硬碟。就像掛載DVD的ISO鏡像,或者作業系統鏡像的Windows Imaging Format檔案,通過命令列可能掛載虛擬機器的VHD檔案。結果就是虛擬機器的磁碟就如自己的獨立磁碟,有具體的磁碟機代號。
VHDMount工具能在案頭上直接掛載VHD訪問硬碟,並能用於Microsoft Virtual Server 2005。VHDMount為掛載和訪問VHD提供了一個命令列介面(CLI)。不過在第一次使用時,需要將VHD放置在案頭或伺服器上。
下載MVS 2005後開始安裝,不過只安裝VHDMount功能,不裝其他的。這個過程安裝VHDMount工具所需的必要組件,而不是完整安裝MVS 2005。如果你想更快地提取VHDMount,可以使用下面的兩個命令。它們能從設定檔案擷取MSI,然後運行VHDMount工具所需的組件:
setup.exe /c /t c:\{targetFolder} msiexec /i "c:\{targetFolder}\Virtual Server 2005 Install.msi" /qn ADDLOCAL=VHDMount
安裝VHDMount後使用命令vhdmount /m {targetVHD}在可用的磁碟機代號上掛載VHD。掛載VHD後,任何更改將寫入差分磁碟,除非卸載VHD。如果出現錯誤,這能允許你恢複到原始磁碟。使用命令vhdmount /u {targetVHD}卸載VHD。如果你想消除更改——差分磁碟的內容——就如卸載一樣,使用命令vhdmount /u /d {targetVHD}。這些命令可以在Windows Vista下運行,不過在Windows XP下使用VHDMount會有一些問題。
使用PowerShell掛載VHD檔案
如果使用VHDMount不適合你的話,可以使用PowerShell工具達到相同的效果。不過,PowerShell安裝過程不那麼簡單。下面兩個命令可以啟動VHD:
$objVHDService = get-wmiobject -class "Msvm_ImageManagementService" -namespace "root\virtualization" -computername "." $objVHDService.Mount("{targetVHD}")
上面第一行使用PowerShell建立到本機電腦的Windows Management Instrumentation儲存的串連,並取得Msvm_ImageManagementService類別的一個執行個體。這個類別需要使用掛載方法,類似於指令碼的作用。
完成這步後,已裝的驅動到達一個離線磁碟。你需要通過使用Windows Disk Management或diskpart.exe命令列工具讓磁碟線上。通過PowerShell完成這個任務的複雜的。如果你想要一個直接的PowerShell解決方案,查看”using PowerShell to mount VHDs“這個部落格。
使用虛擬磁碟完成工作之後,需要通過運行下面的卸載指令碼讓磁碟重新處於離線狀態:
$objVHDService = get-wmiobject -class "Msvm_ImageManagementService" -namespace "root\virtualization" -computername "." $objVHDService.Unmount("{targetVHD}")
如果在小型環境使用Hyper-V,你可能也使用微軟內部的Windows Server Backup工具用以備份虛擬機器。由於這個工具只能在單個卷層級上備份,因此,在單個虛擬機器層級上,這些備份儲存在VHD層級上。這意味著來自Hyper-V機器的單個檔案和檔案夾需要進行棘手的掛載與卸載。
windows平台vhd磁碟檔案掛載