跳轉到內容

QEMU/Windows XP

來自華夏公益教科書,開放的書籍,開放的世界

為什麼在 QEMU 中執行 Windows

[編輯 | 編輯原始碼]

GNU/Linux、OSX 和 FreeBSD 都是優秀的作業系統,但有時您只需要執行 Windows 程式。這可以通過幾種不同的方式實現,例如

  • Wine 將直接在 Linux/OSX/*BSD 中執行一些 Windows 程式
  • rdesktop 在 Linux/OSX/*BSD 上執行的 Windows 計算機上為您提供遠端桌面
  • 雙重啟動 允許您在啟動計算機時選擇要執行的作業系統
  • QEMU 允許您將 Windows 作為 Linux/OSX/*BSD 下執行的另一個程式來執行

前三個選項有一些主要的優點,尤其是效能,但並不總是實用的。有些 Windows 程式無法在 Wine 中執行,或者至少無法正常執行;rdesktop 要求您能夠訪問在另一臺計算機上執行的 Windows;雙重啟動意味著您無法在執行 Windows 時執行作業系統的本機程式。

如果您擁有合法的 Windows XP Pro 許可證副本,則可以建立 QEMU 映象並在 Linux/OSX/*BSD 計算機上執行 Windows。注意:您可能無法使用 Windows XP 的 OEM 版本,因為它可能被鎖定到它附帶的硬體(而不是 QEMU 模擬的硬體)。

由另一位讀者新增:OEM Windows 和零售 Windows 之間並沒有太大區別。對於某些使用者來說,差異可能令人驚訝,但在您的 setup.ini 檔案中,該檔案位於 386 目錄資料夾中。該 pid 可以更改為將零售副本轉換為 OEM 或反之亦然。OEM 未編碼到任何硬體,但 OEM 的金鑰不同。我有兩個合法的 OEM 金鑰,沒有光碟。這就是我發現它的方式;很多使用者遇到了這個問題,因為機器並不總是提供光碟,而是經常複製到目錄中,使用者往往會因為硬碟故障而丟失它們,或者忘記它在那裡,然後借用或下載 Windows XP 的 ISO 映象,發現他們無法使用自己的金鑰。好吧,你可以透過更改 pid 來做到這一點。因此,我相信您可以使用您的 OEM Windows XP 以及 QEMU 的零售版。因為 ini 檔案中只有幾個數字和字母是不同的。

讀者腳註:請注意,一些 OEM 品牌的 Windows 包含產品品牌,甚至有一些 Windows 的驅動程式集非常有限。它不像缺乏廣泛支援那樣被鎖定到硬體上。通常可以從製造商網站找到驅動程式。

建立映象

[編輯 | 編輯原始碼]

基本設定 指示適用於為 QEMU 建立基本的 Windows XP 映象。為了使事情變得更輕鬆,請將 Windows XP 光碟複製到 ISO 映象,以便您可以輕鬆地將其重新連線到系統(例如,安裝額外的網路元件,如 IIS Web 伺服器)。

請注意,3 GB 可能不夠,這取決於您將在 Windows 下安裝的軟體,並且在安裝了軟體的 NTFS 分割槽上擴充套件 NTFS 分割槽並不容易。更好的基礎大小將是 10 GB,但是,透過稍微調整虛擬記憶體和休眠設定,基本的 Windows XP 將可以在 3 GB 上執行。將資料檔案儲存在 Linux/Unix 上並透過 SAMBA 訪問它們也有助於減少對更大 QEMU 映象檔案的需求。

最佳化映象

[編輯 | 編輯原始碼]
系統屬性影片效能設定

即使使用 KVM 核心模組,在 QEMU 下執行 Windows 也可能非常慢。雖然直接程式碼執行很快,但需要模擬的系統呼叫(尤其是對顯示卡的呼叫)會使事情看起來非常慢和遲鈍。可以透過關閉 Windows XP 引入的一些 GUI 炫耀來輕鬆改善這種情況。從控制面板開啟系統屬性小程式,選擇高階選項卡,然後開啟效能設定。請參閱右側的影像,瞭解您可以關閉以提高效能的一些示例設定,或者只需透過選擇“調整以獲得最佳效能”來關閉所有設定。注意:如果您使用 RDP(遠端桌面)連線到 Windows XP 映象,則這些設定將預設情況下為您選擇;RDP 可能是讓 Windows XP 桌面在其他作業系統中可見的最快方式,但需要一些網路配置(見下文)。

當您開啟系統屬性小程式時,您也可能要關閉 系統還原。這會消耗更多資源,如果您保留了映象的備份副本(始終是一個好主意),則可以省去它。

您可能不需要的另一件事是 Windows Update。您隨時可以啟用更新,那麼為什麼在您試圖在 QEMU 下的 Windows 中完成某項操作時讓 Windows 啟動更新呢?注意:如果您將在 Windows XP 映象中進行任何 Internet 瀏覽,尤其是使用 Internet Explorer,則完全停用 Windows Update 非常危險。將更新安排在固定時間或使用“為我下載更新,但我選擇何時安裝它們”選項可能更安全。

除非您想使用某些自定義軟體測試休眠/恢復系統,否則您可能希望關閉 休眠。這將釋放一些磁碟空間,與您為 QEMU 分配的 RAM 一樣多(因此可能是 256 MB 或更多)。在處理空間有限的映象時,可以很高興地恢復這些空間。

如果您有幾個不同的 Windows XP QEMU 映象,例如要測試不同版本的軟體或支援不同的開發環境,您可以將 Windows 分頁檔案 移到另一個磁碟映象並共享它。注意:您只能在一次只執行一個 QEMU 例項的情況下共享分頁檔案!使用 qemu-img 建立一個使用原始格式的簡單分頁檔案映象,從 QEMU 中的 Windows XP 對其進行 NTFS 格式化,然後在系統屬性小程式中將您的分頁檔案移到新驅動器。

您可能希望在 Windows XP 映象上執行病毒掃描程式(您可能應該這樣做!)。如果您這樣做,請記住關閉自動更新以改善啟動時間。只需記住偶爾執行更新!注意:與 Windows Update 一樣,如果您將在 Windows XP 映象中進行任何 Internet 瀏覽,則完全停用病毒掃描程式的自動更新功能非常危險。如果您的軟體提供計劃更新功能,設定計劃到非中斷時間,而不是依賴記憶體來完成此任務會更安全。

如果您只打算使用 Windows XP 來賓作業系統外部的網路資源,那麼您可能無需執行任何特殊操作來使網路正常執行。QEMU 預設情況下將提供使用者模式網路,讓來賓作業系統訪問 Linux/unix 主機可以訪問的基於 TCP 和 UDP 的網路。預設情況下,Windows XP 將開啟 DHCP,因此會自動由 QEMU 的虛擬 DHCP 伺服器(地址從 10.0.2.15 開始)分配 IP 地址。

此設定將允許您從來賓作業系統訪問 Internet,並允許您將 Windows 驅動器對映到真實世界網路上的 SAMBA 共享或 QEMU 中的虛擬 SAMBA 伺服器(10.0.2.4)。例如,如果您需要在 Internet Explorer 中測試網頁,您將能夠在 Internet 上瀏覽它們,或者如果您在本地託管它們,則可以透過鍵入 Linux/unix 主機的網路 IP 地址來瀏覽它們。要透過主機檔案中的名稱訪問網路資源,請編輯 Windows 中的本地主機檔案。

notepad \windows\system32\drivers\etc\hosts

如果您需要從 Linux/unix 主機訪問 Windows XP 來賓作業系統上的網路資源,您將需要做更多工作。使用者模式網路 展示瞭如何配置 QEMU 以將埠轉發到來賓作業系統以進行 Windows 檔案共享和提供網頁。如果您想繼續維護一些 ASP 網站,但不想離開 Linux/unix 桌面的舒適性和它的工具,您可以使用此技術讓您能夠在主機作業系統下掛載 QEMU 來賓作業系統上的 Windows 檔案共享。只需使用適當的許可權共享資料夾 C:\inetpub\wwwroot\,您就可以開始了。

如果您需要更復雜的網路設定,其中所有埠都可用,無需埠轉發,您需要進入 TAP 介面套接字.

華夏公益教科書