Come abilitare più processori su XP SP 3?


13

Ho un laptop Lenovo n100 che ha 3 anni. Avvia due volte l'originale Windows XP fornito con esso e Ubuntu, e ho appena notato che l'installazione di XP, su Task Manager, mostra solo 1 CPU.

Il gestore dispositivi mostra 2 processori (è un core duo T2300), ma sembra che uno di questi non venga utilizzato. Google ha mostrato che SP2 aveva bisogno di una correzione rapida specifica per abilitarlo, ma nulla si presenta su SP3 e quando ho scaricato la correzione rapida si rifiuta di installare, dicendo che ho una soluzione più recente.

(Giusto per chiarire le cose, ho controllato e non è che Task Manager mostri tutte le CPU nello stesso grafico.)

Qualcuno sa come risolvere questo problema?

Risposte:


5

Esegui l'utilità msconfig, vai alla scheda BOOT.INI, quindi fai clic su Avanzate.

La casella di controllo NUMPROC deve essere deselezionata per utilizzare tutti i processori.
Come test, prova a controllarlo e vedi cosa contiene l'elenco a discesa.
Se contiene solo il valore 1, qualcosa non va.

Immagine

NOTA: questa risposta è del 2009, trattala nel rispetto della sua vecchiaia.
In particolare: nessun voto negativo, per favore.


È deselezionato e il controllo mostra 2 CPU. Altre idee?
abyx,

1
@abyx: prova a selezionare la /NUMPROCcasella e in particolare a selezionare l'opzione 2 CPU. riavvio. ciò consente l'uso di entrambi i core?
Quack Quixote,

@ ~ ciarlatano - ha funzionato!
abyx,

Quindi la domanda è perché debba essere esplicitamente impostato poiché non dovrebbe esserlo . Forse è un problema di driver? Forse la Computervoce in Gestione dispositivi non è corretta?
Synetech,

@Synetech inc .: Non credo che otterrai maggiori informazioni da un post di 2 mesi.
Harry

23

Questo ha funzionato per noi (da: http://www.pcreview.co.uk/forums/change-hal-out-reinstall-t2562052.html ):

  1. Disabilita la firma del driver (Risorse del computer> Proprietà> Hardware ...)

  2. Esegui esattamente questa riga di comando:

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

1
Sono necessari 2 riavvii e tutto funziona come un fascino - grazie !!!
Matthias Hryniszak,

Questo ha funzionato quando ho visualizzato una macchina fisica dai nostri backup.
Jeff F.

questo ha funzionato su una vecchia macchina virtuale XP, non ho nemmeno bisogno di disabilitare la firma del driver!
Jeff Atwood,

Questa è la risposta migliore
Igor Levicki,

8

Questo ha funzionato per me (VirtualBox XP Pro) ...

1) Vai in c: \ windows (il tuo percorso di installazione), cerca sp3.cab. Apri questo file cab con 7-zip (anche se Explorer potrebbe essere in grado di aprire il file in modo nativo, se non può quindi scaricare 7-zip da sourceforge).

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

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

3) Modifica c: \ boot.ini

Nota: sarà necessario deselezionare la Read-onlyproprietà in modo da poter salvare le modifiche. Torna a Sola lettura una volta completato.

Copia la linea che appare così:

multi (0) disk (0) rdisk (0) partition (1) \ WINDOWS = "Microsoft Windows XP Professional" / fastdetect / NoExecute = OptIn

Rendi la voce copiata simile a questa:

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

Ora hai un'opzione dual-boot per utilizzare single o multicore (TaskManager mostrerà due grafici della CPU se questo ha avuto successo). Se il multicore si avvia e funziona correttamente, è possibile eliminare la voce single core da boot.ini.


Sono curioso, come funziona esattamente? Cosa fa l'aggiunta /kernel=ntkrnlmp.exe /hal=halmacpi.dllper forzarlo a mostrare tutti i core della CPU? Benvenuto a Super User, comunque :)
nhinkle

Da quello che ho capito, questo costringe Windows a usare il kernel multi-core: ntkrnlmp.exe e il livello di astrazione hardware: halmacpi.dll. È probabile che il sistema sia stato installato usando kernel single-core e HAL.
James,

+1 per questo! L'ho trovato molto utile. Devo solo dire che ho fatto un errore durante la modifica di boot.ini e la mia VM è diventata inutilizzabile (necessaria per modificare boot.ini utilizzando il sistema operativo host per ripristinarlo), quindi modifica attentamente!
Eugenio Miró,

In ritardo alla festa dei commenti, ma sì, i backup sono sempre una buona idea! Basta copiarlo boot.ini.origo qualcosa di simile. Ma sì, se lo mantieni, avrai bisogno di una sorta di strumento di recupero. Un'immagine CD live di Linux funzionerà bene, basta montarla come dispositivo CD in VirtualBox.
James,

Se viene visualizzato il seguente messaggio di errore all'avvio: 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.quindi ... nonostante l'errore che dice che hal.dllmanca, hai dimenticato di copiare i file halmacpi.dlle ntkrnlmp.exenella C:\Windows\System32cartella. Questi possono anche essere copiati dalla C:\Windows\ServicePackFiles\i386cartella.
Impara sempre il

4

Ecco un'altra possibilità.

Hai installato la versione uniprocessore o multiprocessore di XP?

I sistemi uniprocessore hanno come kernel ntoskrnl.exe, mentre i sistemi multiprocessore hanno ntkrnlmp.exe in C: \ WINDOWS \ system32.

Sempre in Gestione dispositivi, espandere Computer. Dovresti vedere "PC multiprocessore ACPI". Se viene visualizzato il messaggio "PC ACPI (Advanced Configuration and Power Interface)", questo è errato.

Cosa vedi?
Se uno dei due controlli precedenti è errato, dovrai reinstallare XP.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.