วิธีการเปิดใช้งานโปรเซสเซอร์หลายตัวใน XP SP 3


13

ฉันมีแล็ปท็อป Lenovo n100 ที่มีอายุ 3 ปี มันบู๊ตคู่กับ Windows XP ดั้งเดิมที่มาพร้อมกับ Ubuntu และตอนนี้ฉันเพิ่งสังเกตเห็นว่าการติดตั้ง XP บนตัวจัดการงานจะแสดงเพียง 1 CPU เท่านั้น

ตัวจัดการอุปกรณ์แสดงตัวประมวลผล 2 ตัว (เป็นตัวประมวลผลหลักสองตัว T2300) แต่ดูเหมือนว่าตัวใดตัวหนึ่งไม่ได้ถูกใช้งาน Googling แสดงให้เห็นว่า SP2 ต้องการฮอตฟิกซ์ที่เฉพาะเจาะจงเพื่อเปิดใช้งานสิ่งนี้ แต่ไม่มีอะไรปรากฏบน SP3 และเมื่อฉันดาวน์โหลด Hot fix ดังกล่าวมันไม่ยอมติดตั้งโดยบอกว่าฉันมีโซลูชันที่ใหม่กว่า

(เพื่อให้ชัดเจนฉันได้ตรวจสอบและไม่ใช่ Task Manager ที่แสดง CPU ทั้งหมดในกราฟเดียวกัน)

ไม่มีใครรู้วิธีการที่จะแก้ไขปัญหานี้?

คำตอบ:


5

เรียกใช้โปรแกรมอรรถประโยชน์ msconfig ไปที่แท็บ BOOT.INI จากนั้นคลิกขั้นสูง

ช่องทำเครื่องหมาย NUMPROC ไม่ควรเลือกเพื่อใช้โปรเซสเซอร์ทั้งหมด
ในการทดสอบลองตรวจสอบและดูว่ารายการแบบหล่นลงมีอะไรบ้าง
หากมีเพียงค่า 1 แสดงว่ามีบางอย่างผิดปกติ

ภาพ

หมายเหตุ: คำตอบนี้มาจาก 2009 โปรดปฏิบัติต่อมันด้วยความเคารพอายุเก่า
โดยเฉพาะอย่างยิ่ง: ไม่มี downvotes โปรด


มันไม่ได้ตรวจสอบและตรวจสอบว่ามันแสดง 2 ซีพียู ความคิดอื่น ๆ ?
abyx

1
@abyx: ลองทำ/NUMPROCเครื่องหมายที่ช่องและเลือกตัวเลือก 2 CPU โดยเฉพาะ รีบูต ที่อนุญาตให้ใช้ทั้งสองแกน?
ต้มตุ๋น Quixote

@ ~ ต้มตุ๋น - นั่นทำเคล็ดลับ!
abyx

จากนั้นคำถามคือสาเหตุที่จำเป็นต้องตั้งค่าอย่างชัดเจนเนื่องจากไม่จำเป็นต้อง อาจเป็นปัญหาไดรเวอร์หรือไม่ บางทีComputerรายการในDevice Managerไม่ถูกต้อง?
Synetech

@Synetech inc .: ฉันไม่คิดว่าคุณจะได้รับข้อมูลเพิ่มเติมจากโพสต์เก่า ๆ 2 เดือน
harrymc

23

สิ่งนี้ได้ผลสำหรับเรา (จาก: http://www.pcreview.co.uk/forums/change-hal-out-reinstall-t2562052.html ):

  1. ปิดใช้งานการเซ็นชื่อไดรเวอร์ (My Computer> Properties> Hardware ... )

  2. เรียกใช้บรรทัดคำสั่งนี้อย่างแน่นอน:

    rundll32 syssetup,SetupInfObjectInstallAction ACPIAPIC_MP_HAL 128 %windir%\inf\hal.inf
    

1
ต้องรีสตาร์ท 2 ครั้งและทุกอย่างทำงานได้อย่างมีเสน่ห์ - ขอบคุณ !!!
Matthias Hryniszak

สิ่งนี้ใช้ได้เมื่อฉันมองเห็นเครื่องทางกายภาพจากข้อมูลสำรองของเรา
Jeff F.

สิ่งนี้ใช้ได้กับ XP VM เก่าฉันไม่จำเป็นต้องปิดการใช้งานการลงนามไดรเวอร์!
Jeff Atwood

นี่คือคำตอบที่ดีที่สุด
Igor Levicki

8

สิ่งนี้ใช้ได้สำหรับฉัน (VirtualBox XP Pro) ...

1) ไปที่ c: \ windows (เส้นทางการติดตั้งของคุณ) ค้นหา sp3.cab เปิดไฟล์ cab นี้ด้วย 7-zip (แม้ว่า explorer อาจจะสามารถเปิดไฟล์ได้หากไม่มีแล้วดาวน์โหลด 7-zip จาก sourceforge)

2) Extract halmacpi.dll to c:\windows\system32

ข) Extract ntkrnlmp.exe to c:\windows\system32

3) แก้ไข c: \ boot.ini

หมายเหตุ: คุณจะต้องยกเลิกการเลือกRead-onlyคุณสมบัติเพื่อให้คุณสามารถบันทึกการเปลี่ยนแปลงของคุณ ตั้งค่ากลับเป็นอ่านอย่างเดียวเมื่อเสร็จสิ้น

คัดลอกบรรทัดที่มีลักษณะดังนี้:

หลาย (0) ดิสก์ (0) พาร์ติชัน rdisk (0) (1) \ WINDOWS = "Microsoft Windows XP Professional" / fastdetect / NoExecute = OptIn

ทำให้รายการที่คัดลอกมีลักษณะดังนี้:

หลาย (0) ดิสก์ (0) พาร์ติชัน rdisk (0) (1) \ WINDOWS = "Microsoft Windows XP MultiCore" / fastdetect / NoExecute = OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll

ตอนนี้คุณมีตัวเลือกดูอัลบูตเพื่อใช้ซิงก์เดี่ยวหรือมัลติคอร์ (TaskManager จะแสดงกราฟซีพียูสองตัวหากสิ่งนี้สำเร็จ) หากมัลติคอร์บูทและทำงานอย่างถูกต้องคุณสามารถลบรายการหลักเดียวจาก boot.ini


ฉันสงสัยว่ามันทำงานอย่างไร การเพิ่ม/kernel=ntkrnlmp.exe /hal=halmacpi.dllทำอะไรเพื่อบังคับให้แสดงคอร์ CPU ทั้งหมด ยินดีต้อนรับสู่ Super User ตามวิธี :)
nhinkle

จากสิ่งที่ฉันเข้าใจสิ่งนี้บังคับให้ Windows ใช้เคอร์เนลแบบมัลติคอร์: ntkrnlmp.exe และเลเยอร์นามธรรมที่เป็นฮาร์ดแวร์: halmacpi.dll อาจเป็นไปได้ว่าระบบได้รับการติดตั้งโดยใช้เคอร์เนลแบบ Single-Core และ HAL
James

+1 สำหรับอันนี้! ฉันพบว่ามันมีประโยชน์มาก ฉันต้องพูดถึงว่าฉันทำผิดพลาดเมื่อแก้ไข boot.ini และ VM ของฉันไม่สามารถใช้งานได้ (จำเป็นต้องแก้ไข boot.ini โดยใช้โฮสต์ระบบปฏิบัติการเพื่อกู้คืน) เพื่อแก้ไขอย่างระมัดระวัง!
Eugenio Miró

สายไปยังปาร์ตี้ความคิดเห็น แต่ใช่การสำรองข้อมูลเป็นความคิดที่ดีเสมอ! เพียงคัดลอกไปยังboot.ini.origหรือสิ่งที่คล้ายกัน แต่ใช่ถ้าคุณต่อสายคุณจะต้องใช้เครื่องมือกู้คืนบางประเภท ภาพซีดี linux live จะทำงานได้ดีเพียงแค่ติดตั้งเป็นอุปกรณ์ซีดีของคุณใน VirtualBox
James

หากคุณเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้เมื่อบู๊ต: Windows could not start because the following file is missing or corrupt: <Windows root>\system32\hal.dll. Please re-install a copy of the above file.แล้ว ... แม้จะมีข้อผิดพลาดที่บอกว่าhal.dllหายไปคุณลืมที่จะคัดลอกhalmacpi.dllและntkrnlmp.exeไฟล์ไปยังC:\Windows\System32โฟลเดอร์ สิ่งเหล่านี้สามารถคัดลอกจากC:\Windows\ServicePackFiles\i386โฟลเดอร์
AlwaysLearning

4

นี่เป็นไปได้อีกอย่างหนึ่ง

คุณได้ติดตั้ง XP รุ่นเดียวหรือหลายโปรเซสเซอร์หรือไม่

ระบบ Uniprocessor มีเคอร์เนล ntoskrnl.exe ในขณะที่ระบบมัลติโปรเซสเซอร์มี ntkrnlmp.exe ใน C: \ WINDOWS \ system32

นอกจากนี้ใน Device Manager ให้ขยายคอมพิวเตอร์ คุณควรเห็น "ACPI Multiprocessor PC" หากคุณเห็น "พีซีการกำหนดค่าขั้นสูงและ Power Interface (ACPI)" นี่เป็นสิ่งที่ผิด

คุณเห็นอะไร?
หากการตรวจสอบสองข้อด้านบนผิดคุณจะต้องติดตั้ง XP ใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.