บทช่วยสอนนี้ประกอบด้วยคำแนะนำในการแก้ไขข้อผิดพลาด VirtualBox 0x80004005 เมื่อพยายามเริ่มต้นเครื่องเสมือนจริง Windows 8.1 หรือ Windows 10: "Duplicate config values '/CPUM/CMPXCHG16B' and '/CPUM/IsaExts/CMPXCHG16B – please remove the former!'"

หลังจากอัปเดต Oracle VM VirtualBox เป็นเวอร์ชัน 6.0 ข้อผิดพลาดต่อไปนี้อาจปรากฏเมื่อพยายามเริ่มต้นเครื่อง VM Windows 10 หรือ 8.1:
"Failed to open a session for the virtual machine <VM_Name>
Duplicate config values '/CPUM/CMPXCHG16B' and '/CPUM/IsaExts/CMPXCHG16B' – please remove the former! (VERR_DUPLICATE)
Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}"
วิธีแก้ไข: Duplicate config values '/CPUM/CMPXCHG16B' และ '/CPUM/IsaExts/CMPXCHG16B' ใน VirtualBox
ข้อผิดพลาด "Duplicate config values '/CPUM/CMPXCHG16B'.." เกิดขึ้นเพราะคำสั่ง CPU "CMPXCHG16B" ถูกเปิดใช้งานทั้งในไฟล์ "VirtualBox.xml" (C:\Users\Username\.VirtualBox\VirtualBox.xml) และในไฟล์ .vbox ของเครื่องเสมือนจริง
เพื่อแก้ไขปัญหา ให้ทำตามคำแนะนำด้านล่างเพื่อลบบรรทัดต่อไปนี้จากตำแหน่งทั้งสอง:
<ExtraDataItem name="VBoxInternal/CPUM/CMPXCHG16B" value="1"/>"
1. ปิด VirtualBox Manager
2. เปิด Command Prompt as Administrator
3. พิมพ์คำสั่งต่อไปนี้:
- cd \Program Files\Oracle\VirtualBox
4. จากนั้นให้คำสั่งด้านล่างเพื่อแสดงรายการ VM Machines
- VBoxManage.exe list vms
5. จากผลลัพธ์ของคำสั่งข้างต้น ให้สังเกตชื่อของเครื่อง VBOX ที่เกิดข้อผิดพลาด 0x80004005
ตัวอย่าง ที่นี่ เครื่อง VM ที่มีข้อผิดพลาด "0x80004005" คือ "Windows8.1_x64_Pro"

6. จากนั้นพิมพ์คำสั่งต่อไปนี้ แต่แทนค่า "VM Name" ด้วยชื่อของเครื่อง VBOX ที่มีข้อผิดพลาด 0x80004005 แล้วกด Enter:*
- VBoxManage.exe setextradata "VM Name" VBoxInternal/CPUM/CMPXCHG16B
* หมายเหตุ: คำสั่งข้างต้นจะปิดใช้งานคำสั่ง "CMPXCHG16B" บนเครื่อง VM ที่เลือก โดยการลบบรรทัด "<ExtraDataItem name="VBoxInternal/CPUM/CMPXCHG16B" value="1"/>" จากไฟล์ .vbox ของเครื่อง
ตัวอย่าง ที่นี่คำสั่งจะเป็น:
- VBoxManage.exe setextradata "Windows8.1_x64_Pro" VBoxInternal/CPUM/CMPXCHG16B

7. ตอนนี้ลองเริ่มต้นเครื่อง VM ที่มีปัญหา หากยังได้ข้อผิดพลาดเดิม ให้ปิด VirtualBox Manager และให้คำสั่งต่อไปนี้ (ในฐานะแอดมิน): *
- VBoxManage.exe setextradata global VBoxInternal/CPUM/CMPXCHG16B
* หมายเหตุ: คำสั่งข้างต้นจะปิดใช้งานคำสั่ง "CMPXCHG16B" ทั่วไป (บน VM ทั้งหมด) โดยการลบบรรทัด "<ExtraDataItem name="VBoxInternal/CPUM/CMPXCHG16B" value="1"/>" จากไฟล์ "VirtualBox.xml"

เสร็จสิ้น! แจ้งให้เราทราบว่าคู่มือนี้ช่วยคุณได้หรือไม่โดยการแสดงความคิดเห็นเกี่ยวกับประสบการณ์ของคุณ โปรดกดไลค์และแชร์คู่มือนี้เพื่อช่วยผู้อื่น