﻿# 虛擬機器(VM)移至 Hyper-V 平台後抓不到已知的硬體怎麼辦

前年我曾經寫過一篇《 [如何將 Virtual PC 2007 上面的 VM 移至 Hyper-V 平台](/post/2008/09/22/Migrate-Virtual-PC-2007-VM-to-Windows-Server-2008-Hyper-V.aspx) 》文章，當時寫的內容至今依然適用，不過今天從客戶手中拿到兩台原本用 Virtual PC 2007 架設的 VHD 虛擬硬碟，一個作業系統是 Windows Server 2003 另一個是 Windows Server 2008，我試著將其 VHD 掛載到 Hyper-V 後可正常開機，Windows Server 2003 設定的過程十分順利，但 Windows Server 2008 就有點悲慘了，抓不到任何 Hyper-V 提供的虛擬化硬體設備，即便安裝了整合服務(Integration Services)所提供的驅動程式也沒用。

依照[我的文章](/post/2008/09/22/Migrate-Virtual-PC-2007-VM-to-Windows-Server-2008-Hyper-V.aspx)所說明的流程應該先在 Virtual PC 2007 的時候就先移除 Virtual Machine Additions 軟體，不過客戶給我的時候並沒有先解除安裝，因此我必須在 Hyper-V 裡開機完成後再解除安裝，解除安裝後必須重開機，然後再安裝 Hyper-V 的整合服務(Integration Services)，這樣的過程也都沒出任何差錯。

不過，重開機之後這兩台就不太一樣了，其中一台 Windows Server 2003 設定的過程十分順利，重開機後自動抓到 Hyper-V 提供的虛擬化硬體，例如網路卡、顯示卡、…等等，驅動程式也都正常偵測到。不過 Windows Server 2008 卻不管怎樣重開機都一樣無法自動偵測到新增的硬體，即便我重裝 Hyper-V 的整合服務(Integration Services) 也都一樣無效，而且安裝過程也都十分順利，也出現安裝成功的訊息：

![Hyper-V Integration Services 完成安裝](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/7e143a4fe9d8205b8926-image_35.png)

在無助一段時間後感謝 [~大米~](http://www.plurk.com/Jammylo) 提供了一個解決此問題的方法，而且非常有效，原來是我的 Windows Server 2008 作業系統不會自動偵測 **HAL** ([Hardware abstraction layer](http://en.wikipedia.org/wiki/Hardware_abstraction_layer)) 導致雖然有新硬體加入卻沒自動偵測到的關係！

以下是解決此問題的操作步驟：

1\. 執行 **msconfig**

   ![alt](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/e259158e71d8e0d2caa5-image_284.png "title")

2\. 切換到「開機」頁籤，並點擊「進階選項」按鈕

  ![alt](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/5dbd28298088495ce9f5-image_285.png "title")

3\. 勾選「偵測 HAL」後按下**確定**按鈕兩次之後點選「重新啟動」即可！

![alt](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/ecb42ff1a8ef5ec94ec4-image_286.png "title")

![alt](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/767bdf5798d49ca446be-image_287.png "title")

完成以上步驟之後 Windows Server 2008 就可以抓到所有新增的硬體，包括顯示卡與網路卡介面，真是太棒了！

**相關連結**

-   [Hardware abstraction layer - Wikipedia, the free encyclopedia](http://en.wikipedia.org/wiki/Hardware_abstraction_layer)
-   [The VMBus device does not load on a virtual machine that is running on a Windows Server 2008-based computer that has Hyper-V installed](http://support.microsoft.com/kb/954282/en-us)
