Wie aktiviere ich mehrere Prozessoren unter XP SP 3?

13

Ich habe einen Lenovo n100 Laptop, der 3 Jahre alt ist. Es bootet doppelt das ursprüngliche Windows XP, das mit ihm und Ubuntu geliefert wurde, und ich habe gerade bemerkt, dass die XP-Installation im Task-Manager nur 1 CPU anzeigt.

Der Geräte-Manager zeigt 2 Prozessoren an (es ist ein Core-Duo T2300), aber es sieht so aus, als würde einer von ihnen nicht verwendet. Googeln hat gezeigt, dass SP2 einen bestimmten Hotfix benötigt, um dies zu ermöglichen, aber auf SP3 wird nichts angezeigt. Wenn ich den Hotfix heruntergeladen habe, kann er nicht installiert werden, da ich eine neuere Lösung habe.

(Nur um es klar zu machen, ich habe es überprüft und es ist nicht so, dass der Task-Manager alle CPUs im selben Diagramm anzeigt.)

Weiß jemand, wie man das behebt?

Abyx
quelle

Antworten:

5

Führen Sie das Dienstprogramm msconfig aus, wechseln Sie zur Registerkarte BOOT.INI und klicken Sie auf Erweitert.

Das Kontrollkästchen NUMPROC sollte deaktiviert sein, um alle Prozessoren zu verwenden.
Versuchen Sie als Test, dies zu überprüfen und festzustellen, was die Dropdown-Liste enthält.
Wenn es nur den Wert 1 enthält, stimmt etwas nicht.

Bild

HINWEIS: Diese Antwort stammt aus dem Jahr 2009, bitte behandeln Sie sie mit Rücksicht auf das Alter.
Insbesondere: Bitte keine Abstimmungen.

Harrymc
quelle
Das Kontrollkästchen ist deaktiviert, und wenn Sie es aktivieren, werden 2 CPUs angezeigt. Irgendwelche anderen Ideen?
Abyx
1
@abyx: Aktivieren Sie das Kontrollkästchen /NUMPROCund wählen Sie die Option 2 CPU aus. neustarten. erlaubt das die Verwendung beider Kerne?
Quacksalber 18.
@ ~ quack - das hat den Trick gemacht!
Abyx
Dann stellt sich die Frage, warum dies explizit festgelegt werden muss, da dies nicht erforderlich sein sollte. Vielleicht ist es ein Treiberproblem? Möglicherweise ist der ComputerEintrag im Geräte-Manager falsch?
Synetech
@Synetech inc .: Ich glaube nicht, dass Sie mehr Informationen aus einem 2 Monate alten Beitrag erhalten.
Harrymc
23

Dies hat bei uns funktioniert (von: http://www.pcreview.co.uk/forums/change-hal-out-reinstall-t2562052.html ):

  1. Treibersignatur deaktivieren (Arbeitsplatz> Eigenschaften> Hardware ...)

  2. Führen Sie diese Befehlszeile genau aus:

    rundll32 syssetup,SetupInfObjectInstallAction ACPIAPIC_MP_HAL 128 %windir%\inf\hal.inf
    
dbagshaw
quelle
1
2 Neustarts erforderlich und alles funktioniert wie ein Zauber - danke !!!
Matthias Hryniszak
Dies funktionierte, als ich eine physische Maschine aus unseren Backups visualisierte.
Jeff F.
Dies funktionierte auf einer alten XP-VM, ich musste auch die Treibersignatur nicht deaktivieren!
Jeff Atwood
Das ist die beste Antwort.
Igor Levicki
8

Das hat bei mir geklappt (VirtualBox XP Pro) ...

1) Gehen Sie in c: \ windows (Ihr Installationspfad) und suchen Sie nach sp3.cab. Öffnen Sie diese cab-Datei mit 7-zip (obwohl der Explorer die Datei möglicherweise nativ öffnen kann, wenn er 7-zip nicht von sourceforge herunterladen kann).

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

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

3) Bearbeiten Sie die Datei c: \ boot.ini

Hinweis: Sie müssen die Read-onlyEigenschaft deaktivieren, damit Sie Ihre Änderungen speichern können. Nach Abschluss wieder auf schreibgeschützt setzen.

Kopieren Sie die Zeile, die so aussieht:

Multi (0) Disk (0) Rdisk (0) Partition (1) \ WINDOWS = "Microsoft Windows XP Professional" / fastdetect / NoExecute = OptIn

Lass den kopierten Eintrag so aussehen:

multi (0) disk (0) rdisk (0) partition (1) \ WINDOWS = "Microsoft Windows XP MultiCore" / fastdetect / NoExecute = OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll

Jetzt haben Sie eine Dual-Boot-Option zur Verwendung von Single- oder Multicore (TaskManager zeigt zwei CPU-Diagramme an, wenn dies erfolgreich war). Wenn Multicore startet und ordnungsgemäß funktioniert, können Sie den Einzelkerneintrag aus der Datei boot.ini löschen.

James
quelle
Ich bin gespannt, wie genau das geht? Was bewirkt das Hinzufügen /kernel=ntkrnlmp.exe /hal=halmacpi.dll, damit alle CPU-Kerne angezeigt werden? Willkommen bei Super User, übrigens :)
Nhinkle
Soweit ich weiß, wird Windows dazu gezwungen, den Multi-Core-Kernel: ntkrnlmp.exe und die Hardwareabstraktionsschicht: halmacpi.dll zu verwenden. Es ist wahrscheinlich, dass das System mit Single-Core-Kernel und HAL installiert wurde.
James
+1 für diesen! Ich fand das sehr nützlich. Ich muss nur erwähnen, dass ich beim Bearbeiten der boot.ini einen Fehler gemacht habe und meine VM unbrauchbar wurde (zum Bearbeiten der boot.ini mit dem Host-Betriebssystem zum Wiederherstellen erforderlich).
Eugenio Miró
Spät zur Kommentar-Party, aber Backups sind immer eine gute Idee! Kopieren Sie es einfach nach boot.ini.origoder ähnliches. Aber ja, wenn Sie es abspritzen, brauchen Sie eine Art Wiederherstellungswerkzeug. Ein Linux-Live-CD-Image funktioniert gut. Hängen Sie es einfach als CD-Gerät in VirtualBox ein.
James
Wenn beim Booten die folgende Fehlermeldung angezeigt wird: 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.dann ... haben Sie trotz der Fehlermeldung hal.dllvergessen, die halmacpi.dllund ntkrnlmp.exe-Dateien in den C:\Windows\System32Ordner zu kopieren . Diese können auch aus dem C:\Windows\ServicePackFiles\i386Ordner kopiert werden .
AlwaysLearning
4

Hier ist eine andere Möglichkeit.

Haben Sie die Einprozessor- oder Multiprozessor-Version von XP installiert?

Uniprozessorsysteme haben als Kernel ntoskrnl.exe, Multiprozessorsysteme haben ntkrnlmp.exe in C: \ WINDOWS \ system32.

Erweitern Sie im Geräte-Manager auch Computer. Sie sollten "ACPI Multiprocessor PC" sehen. Wenn Sie "Advanced Configuration and Power Interface (ACPI) PC" sehen, ist dies falsch.

Was siehst du?
Wenn eine der beiden oben genannten Prüfungen falsch ist, müssen Sie XP neu installieren.

Harrymc
quelle