Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

วิธีแก้ไขข้อผิดพลาดในการบูต Windows 8.1 ใน VirtualBox

Windows 8 อาจจะหายไปเร็วๆ นี้ ซึ่งเป็นเหตุผลว่าทำไมแนวคิดในการใช้เป็นระบบปฏิบัติการแขกในเครื่องเสมือนจึงน่าดึงดูดกว่าที่เคยเป็นมา ดังนั้นบทความนี้ ดังนั้น สถานการณ์ที่คุณกำลังเผชิญอยู่นี้ คุณกำลังพยายามบูตหนึ่งในระบบปฏิบัติการตระกูล Windows 8.X แบบ 64 บิตในฐานะผู้เยี่ยมชมใน VirtualBox นี่อาจเป็น Windows 8 หรือสูงกว่า ไม่ว่าจะด้วยวิธีใด การเริ่มระบบครั้งแรกจะล้มเหลวภายในไม่กี่วินาที และเครื่องเสมือนจะต้องถูกปิด รหัสข้อผิดพลาดที่คุณได้รับคือ:0x000000C4

บทความนี้จะแสดงวิธีแก้ปัญหาเล็กๆ น้อยๆ แต่ยอดเยี่ยมนี้ เพื่อให้คุณสามารถติดตั้ง Windows 8.1 เป็นระบบปฏิบัติการแขกภายใน VirtualBox คุณจะได้เรียนรู้เล็กน้อยเกี่ยวกับสิ่งเนิร์ดที่เกิดขึ้นในเบื้องหลัง ปฏิบัติตามฉัน.

ปัญหา

ดูเหมือนง่าย คุณจะได้รับข้อความต่อไปนี้บนหน้าจอของคุณสักครู่หลังจากบูตเครื่องเสมือนที่กำหนดค่าสำหรับ Windows 8.1 และใช้ดีวีดี Windows 8.1 หรืออิมเมจ ISO สิ่งนี้เกิดขึ้นกับ VirtualBox 4.0 รุ่นใดรุ่นหนึ่งและสูงกว่า

พีซีของคุณต้องรีสตาร์ท
กรุณากดปุ่มเพาเวอร์ค้างไว้
รหัสข้อผิดพลาด:0x000000C4
พารามิเตอร์:
...

ฟังดูแย่มาก โดยเฉพาะอย่างยิ่งเนื่องจากคุณต้องปิดอินสแตนซ์หน้าต่าง VirtualBox สำหรับเครื่องเสมือนนี้โดยเฉพาะ แล้วลองอีกครั้ง แต่ผลลัพธ์จะเหมือนกัน ตอนนี้คุณทำอะไร

วิธีแก้ไข

มีหลายสิ่งหลายอย่างที่คุณต้องทำที่นี่ ขั้นแรก อ่านและทำความเข้าใจข้อผิดพลาด หากคุณค่อนข้างคุ้นเคยกับ BSOD ของ Windows สิ่งนี้จะคล้ายกัน นี่เป็นข้อยกเว้นคำสั่งเครื่อง หมายความว่าระบบปฏิบัติการกำลังพยายามดำเนินการที่ผิดกฎหมาย แต่ตอนนี้เรารู้แล้วว่าจะมองหาอะไร มันจะง่าย

หากคุณค้นหาฟอรัม VirtualBox ตั๋วและออนไลน์โดยทั่วไป คุณจะพบข้อมูลอ้างอิงเล็กน้อยเกี่ยวกับความหมายนี้ เนื่องจากคำสั่ง CMPXCHG16B ถูกปิดใช้งานและจำเป็นต้องเปิดใช้งาน จำเป็นสำหรับ Windows 8.1 ในการบู๊ต อ้างจากวิกิพีเดีย: 

โปรเซสเซอร์ AMD64 รุ่นแรก ๆ ไม่มีคำสั่ง CMPXCHG16B ซึ่งเป็นส่วนขยายของคำสั่ง CMPXCHG8B ที่มีอยู่ในโปรเซสเซอร์รุ่นหลัง 80486 ส่วนใหญ่ คล้ายกับ CMPXCHG8B, CMPXCHG16B ช่วยให้สามารถดำเนินการอะตอมในคำฐานแปดได้ สิ่งนี้มีประโยชน์สำหรับอัลกอริทึมแบบขนานที่ใช้การเปรียบเทียบและสลับข้อมูลที่มีขนาดใหญ่กว่าขนาดของพอยน์เตอร์ ซึ่งพบได้ทั่วไปในอัลกอริทึมที่ไม่มีการล็อคและไม่มีการรอ หากไม่มี CMPXCHG16B จะต้องใช้วิธีแก้ไขปัญหาชั่วคราว เช่น ส่วนที่วิกฤตหรือวิธีอื่นๆ ที่ปราศจากการล็อก สิ่งนี้ยังป้องกันไม่ให้ Windows 64 บิตมีพื้นที่แอดเดรสโหมดผู้ใช้ที่ใหญ่กว่า 8 เทราไบต์ Windows 8.1 รุ่น 64 บิตต้องการคุณสมบัตินี้

แท้จริงแล้ว การทำเวอร์ชวลไลเซชันนั้นเกี่ยวกับการสร้างฮาร์ดแวร์เสมือนจริง คุณลักษณะบางอย่างถูกเปิดเผยบางอย่างไม่ได้ VirtualBox ได้รับการออกแบบมาไม่ให้เปิดเผยคำสั่ง CMPXCHG16B ต่อแขกโดยค่าเริ่มต้น ซึ่งสร้างปัญหาที่เราเผชิญ ดังนั้นเราต้องเปิดใช้งาน สิ่งนี้ทำได้โดยใช้บรรทัดคำสั่ง VirtualBox

"<การติดตั้ง VirtualBox>\VBoxManage.exe" setextradata
"<ชื่อเครื่องเสมือน>" VBoxInternal/CPUM/CMPXCHG16B 1

เพื่อให้คำสั่งนี้ประสบความสำเร็จ คุณยังคงต้องการโปรเซสเซอร์ที่ทันสมัยบนระบบโฮสต์ของคุณ หากโปรเซสเซอร์ของคุณไม่มีบิต NX/XD หรือหากปิดใช้งานใน BIOS คุณจะต้องแก้ไขปัญหาที่โฮสต์ของคุณก่อน ก่อนที่จะดำเนินการต่อ ในบางกรณีอาจเป็นไปไม่ได้

หลังจากที่คุณดำเนินการคำสั่งนี้ คุณจะมีคำแนะนำพร้อมใช้งาน และ Windows 8.1 จะบูตได้สำเร็จ หลังจากนั้น คุณสามารถทำสิ่งที่จำเป็นตามปกติ เช่น ติดตั้งระบบ เป็นต้น

สรุป

นั่นแหละ. ยาวไปหน่อยใช่ไหม บทช่วยสอนเล็กๆ น้อยๆ นี้ ตอนนี้ฉันสามารถโพสต์ลิงก์ไปยังฐานข้อมูลตั๋ว Oracle ได้ แต่นั่นจะขาดประเด็นไป Dedoimedo เป็นเรื่องเกี่ยวกับการศึกษา คุณต้องการทำความเข้าใจกับปัญหาและไม่เพียงแค่รันคำสั่งสุ่มสี่สุ่มห้าและอาจเป็นอันตราย ไม่ใช่ว่าคุณรู้ว่าสิ่งนี้เกี่ยวกับอะไร มันเหมือนกับการเปิดหรือปิดตัวเลือกใน BIOS/UEFI อย่างมีประสิทธิภาพ ตกลง ตอนนี้คุณกำลังคุยเรื่องธุรกิจ

ไม่ว่าจะด้วยวิธีใด คุณได้เรียนรู้เพิ่มเติมเล็กน้อยเกี่ยวกับสถาปัตยกรรม CPU เกี่ยวกับซอฟต์แวร์การจำลองเสมือน วิธีการทำงานของ VirtualBox และวิธีที่คุณสามารถควบคุมคุณสมบัติและการตั้งค่าที่ซ่อนอยู่จากบรรทัดคำสั่ง เรียบร้อยจริงๆ และฉันคิดว่าเราจบที่นี่แล้ว

ไชโย