vmware虛擬機WinXp sp3的系統cpu佔用100%的解決方案

0x00 問題場景

1. 環境配置

角色 版本 位數 備註
虛擬機軟件 VMware Workstation 15 \ 原始版本12,升到15
Host OS Windows 7 Professional 6.1.7601, Service Pack 1 64-bit \
Guest OS Windows XP service Pack 3 32 bit \

2. 環境說明

  1. VMware在很久以前是version12,後來因爲要兼容一個高版本虛擬就升級到了15。
  2. 以前裝的xp虛擬機,使用沒有任何問題。開機很快,操作很流暢。不知爲什麼前一段時間突然變得很卡。看了下虛擬機中的cpu使用率達到了100%,一度懷疑中了病毒。而且曾經配置過雙機調試,是不是系統的某個debug模式沒有關。

0x01 問題分析

1. 是否爲電腦病毒

嚴重懷疑中了病毒。

排查

XP中有安裝360,然而在虛擬機十分卡頓的情況下,打開任務管理器需2-3分鐘,殺毒估計得等到過年。這裏LZ直接恢復到一版純淨的快照。
恢復後發現,cpu使用率依然是滿載。說明這可能不是病毒的問題,因爲即使是,VMware 虛擬機逃逸漏洞相關的利用門檻還是太高了,不會普遍存在。

2. 是否爲XP虛擬機配置變更導致

莫非是xp虛擬機本身配置已經被更改了?虛擬機中毒了?

排查

徹底銷燬xp的虛擬機。使用乾淨的xp鏡像新建虛擬機。

然而,安裝鏡像一般半個小時,整整等了3個小時。安裝過程中能感受到明顯卡頓,估計cpu在安裝過程就滿載了。

作爲剛出鍋的熱乎虛擬機,在鍋裏就就炸裂,完全無法理解。
在這裏插入圖片描述

3. 死馬當活馬醫

52破解上的老貼,說是把【設備管理】中的【計算機】的 ACPI Multiprocessor PC 模式 改爲 Standard PC即可消除問題。
在這裏插入圖片描述
排查
按照此法,在xp卡爆的情況下完成了操作。重啓後,各種彈窗發現新xx。當然,還是卡到爆。
那麼問題來了,什麼是ACPI?

ACPI其實是一種電源管理標準,Advanced Configuration and Power Interface,一般翻譯成高級電源管理,是Intel、Microsoft和東芝共同開發的一種電源管理標準。

ACPI三種電源模式

  1. ACPI Multiprocessor PC 用於多處理器 ACPI 計算機
  2. ACPI Uniprocessor PC 用於只安裝了一個處理器的 ACPI 多處理器主板
  3. Advanced Configuration Power Interface PC 用於帶有單處理器 ACPI 系統的單處理器主板

2000年以前的老機器,主要支持Standard PC電源模式(任何標準 PC、非 ACPI、或非 MPS)
2003年以前的主要支持Advanced Configuration Power Interface PC模式
2003年以後的主要支持ACPI Uniprocessor PC

這下明白了,ACPI Multiprocessor PC 是2003年以後出來的高級電源管理模式。我這xp是9102的虛擬機,必須是多處理器,硬件配置擺着呢,要回到原始社會?而且系統安裝時就在炸,跟電源驅動不可能有半毛錢關係。

以後有同學遇到這個問題時,就不要再去採坑了,這條路行不通。

4. 虛擬化硬件加速導致

國內外的網友都遇到過這種問題,情況基本都是殺毒軟件開啓了虛擬化硬件加速功能,導致虛擬機卡死。比如,國內的火絨和360,國外的avast等。我第一時間否定了這種場景,因爲我的機器是裸奔的。別問我看片怎麼辦?我也不會說虛擬機能做甚多事情的。

排查

廢話就不多說了,關鍵問題就在這裏。只能是虛擬化的問題導致的cpu過載問題。剩下的就是尋找虛擬化在那裏配置。

  1. vmware虛擬機自身有【虛擬化引擎】的配置,然而模式是關閉的,也不用費心去開了。關還關不了呢。
  2. LZ經過一天思考人生,神交徐階,夢聊張太嶽,謂曰:君子處其實,不處其華;治其內,不治其外。頓悟,是Host OS本身的問題吧。

重啓電腦,進入BIOS設置界面,關閉虛擬化中的VT for Direct I/O選項。保存後,啓動電腦。xp開機速度快的起飛,運行速度也正常了。cpu恢復了正常。

切記:
虛擬化本身選項是不能關的,因爲VMware需要。虛擬化的硬件加速功能不是必要條件,這裏關閉就可以了。

0x02 解決方案

問題原因爲虛擬化硬件加速與VMware產生了衝突,需要關閉掉硬件加速。

如果有殺毒軟件的,可以看下殺毒軟件中是否有該配置。

如果沒有殺毒軟件,可以重啓電腦,在BIOS設置中關閉掉VT for Direct I/O選項。

0x03 參考文獻

https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.monitoring.doc/GUID-5F8147A1-6416-4D29-BA3D-E4CED3966016.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章