Como habilitar vários processadores no XP SP 3?

13

Eu tenho um laptop Lenovo n100 com 3 anos de idade. Inicializa duas vezes o Windows XP original que acompanha o Ubuntu e o Ubuntu, e agora notei que a instalação do XP, no Gerenciador de Tarefas, mostra apenas 1 CPU.

O gerenciador de dispositivos mostra 2 processadores (é um duo básico T2300), mas parece que um deles não está sendo usado. A pesquisa no Google mostrou que o SP2 precisava de um hotfix específico para permitir isso, mas nada aparece no SP3, e quando baixei o hotfix mencionado, ele se recusa a instalar, dizendo que tenho uma solução mais nova.

(Apenas para esclarecer as coisas, verifiquei e não é que o Gerenciador de tarefas mostre todas as CPUs no mesmo gráfico.)

Alguém sabe como consertar isso?

abyx
fonte

Respostas:

5

Execute o utilitário msconfig, vá para a guia BOOT.INI e clique em Avançado.

A caixa de seleção NUMPROC deve estar desmarcada para usar todos os processadores.
Como teste, tente verificá-lo e ver o que a lista suspensa contém.
Se ele contiver apenas o valor 1, então algo está realmente errado.

imagem

NOTA: Esta resposta é a partir de 2009, por favor, tratá-lo com respeito pela sua idade avançada.
Especialmente: sem votos negativos, por favor.

harrymc
fonte
Está desmarcado e a verificação mostra 2 CPUs. Alguma outra ideia?
Abyx
1
@abyx: tente marcar a /NUMPROCcaixa e selecionar especificamente a opção 2 CPU. reiniciar. isso permite o uso dos dois núcleos?
quack quixote
@ ~ charlatão - que fez o truque!
Abyx
Então a questão é por que ele precisa ser explicitamente definido, pois não deve ser necessário. Talvez seja um problema de driver? Talvez a Computerentrada no Gerenciador de dispositivos esteja incorreta?
Synetech 21/02
@ Synetech inc .: Acho que você não obterá mais informações de um post com 2 meses de idade.
harrymc
23

Isso funcionou para nós (em: http://www.pcreview.co.uk/forums/change-hal-out-reinstall-t2562052.html ):

  1. Desativar assinatura de driver (Meu Computador> Propriedades> Hardware ...)

  2. Execute esta linha de comando exatamente:

    rundll32 syssetup,SetupInfObjectInstallAction ACPIAPIC_MP_HAL 128 %windir%\inf\hal.inf
    
dbagshaw
fonte
1
2 reinicializações necessárias e tudo funciona como um encanto - obrigado !!!
Matthias Hryniszak
Isso funcionou quando visualizei uma máquina física a partir de nossos backups.
Jeff F.
isso funcionou em uma antiga VM XP, eu também não precisei desativar a assinatura do driver!
Jeff Atwood
Esta é a melhor resposta.
Igor Levicki
8

Isso funcionou para mim (VirtualBox XP Pro) ...

1) Vá para c: \ windows (seu caminho de instalação), pesquise sp3.cab. Abra esse arquivo de táxi com 7-zip (embora o explorer possa abrir o arquivo de forma nativa, se não conseguir fazer o download do 7-zip do sourceforge).

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

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

3) Edite c: \ boot.ini

Nota: Você precisará desmarcar a Read-onlypropriedade para salvar suas alterações. Volte para Somente leitura quando concluir.

Copie a linha que se parece com isso:

partição multi (0) disco (0) rdisk (0) (1) \ WINDOWS = "Microsoft Windows XP Professional" / fastdetect / NoExecute = OptIn

Faça com que a entrada copiada fique assim:

partição multi (0) disco (0) rdisk (0) (1) \ WINDOWS = "Microsoft Windows XP MultiCore" / fastdetect / NoExecute = OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll

Agora você tem uma opção de inicialização dupla para utilizar um ou vários núcleos (o TaskManager mostrará dois gráficos de CPU, se isso foi bem-sucedido). Se o multicore inicializar e funcionar corretamente, você poderá excluir a entrada de núcleo único do boot.ini.

James
fonte
Estou curioso, como exatamente isso funciona? O que a adição /kernel=ntkrnlmp.exe /hal=halmacpi.dllfaz para forçá-lo a mostrar todos os núcleos da CPU? Bem-vindo ao Super User, a propósito :)
nhinkle
Pelo que entendi, isso força o Windows a usar o kernel de vários núcleos: ntkrnlmp.exe e a camada de abstração de hardware: halmacpi.dll. É provável que o sistema tenha sido instalado usando o kernel de núcleo único e o HAL.
James
+1 para este! Achei isso muito útil. Eu apenas tenho que mencionar que cometi um erro ao editar o boot.ini e minha VM ficou inutilizável (necessária para editar o boot.ini usando o sistema operacional host para recuperá-lo), então edite com cuidado!
Eugenio Miró
Tarde para a festa dos comentários, mas sim, os backups são sempre uma boa ideia! Basta copiá-lo boot.ini.origou algo semelhante. Mas sim, se você mangueira, precisará de algum tipo de ferramenta de recuperação. Uma imagem de live CD do linux funcionará bem, basta montá-la como seu dispositivo de CD no VirtualBox.
James
Se você vir a seguinte mensagem de erro na inicialização: 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.então ... apesar do erro dizer que hal.dllestá faltando, você esqueceu de copiar os arquivos halmacpi.dlle ntkrnlmp.exepara a C:\Windows\System32pasta. Estes também podem ser copiados da C:\Windows\ServicePackFiles\i386pasta.
AlwaysLearning 30/01
4

Aqui está outra possibilidade.

Você instalou a versão do uniprocessador ou multiprocessador do XP?

Os sistemas uniprocessadores têm como kernel ntoskrnl.exe, enquanto os sistemas multiprocessadores têm ntkrnlmp.exe em C: \ WINDOWS \ system32.

Também no Gerenciador de dispositivos, expanda Computador. Você deverá ver "PC multiprocessador ACPI". Se você estiver vendo "PC de configuração avançada e interface de energia (ACPI)", isso está errado.

O que você vê?
Se uma das duas verificações acima estiver errada, você precisará reinstalar o XP.

harrymc
fonte