2009年10月15日 星期四

如何將 Hyper-V 的 vhd 移到 Virtual PC 中使用

因客戶需要,只好將 Hyper-V 中的 vhd 複製一份到 Windows 7 中Windows Virtual PC 使用。

一使用,就只看到游標動了一動,就什麼動靜也沒有。這怎麼回事?

原來,Windows Server 2008 中的 Hyper-V為了效能,更改了HAL 的設計。每更新一個版本,就會更新一次 HAL。HAL 是一個 dll,位於 c:\windows\system32\hal.dll。

要解決這個問題,簡單來說,就是要想辦法手動更換這個hal.dll 到適當的版本。

我所使用的步驟如下

  1. 在原 Windows Server 2008 Hyper-V 中,將 guest OS 的 Intergration Service 移除。以下稱該 VM 為「目標VM」。
  2. 複製 VHD 到 Windows 7。
  3. 找一個已經存在 VM(以下簡稱「已存在VM」),且已存在 VM 的平台與目標VM相同。例如目標VM是 Windows Server 2003,則我們必須找一個也是 Windows Server 2003 的VM。
  4. 設定已存在VM,將目標VM的VHD 設為第二顆硬碟。
  5. 啟動已存在VM後,將 c:\windows\system32\hal.dll 複製到第二顆硬碟相對應的位置,如E:\windows\system32\ 下。
  6. 關閉已存在VM。
  7. 啟動目標VM。完成

3 則留言:

匿名 提到...

Hello...最近剛好也有需要將hyper-v轉vpc讀取,對於您文中提到的Intergration Service是要在那移除呢? 謝謝!

秉程 提到...

是在「新增/移除程式」裡

匿名 提到...

這會不會太...麻煩?
不如用virtual box

Share with Facebook