Jak włączyć wiele procesorów w XP SP 3?

13

Mam laptopa Lenovo n100, który ma 3 lata. Podwójnie uruchamia oryginalny Windows XP, który był z nim dostarczony i Ubuntu, a ja właśnie zauważyłem, że instalacja XP w Menedżerze zadań pokazuje tylko 1 procesor.

Menedżer urządzeń pokazuje 2 procesory (to podstawowy duet T2300), ale wygląda na to, że jeden z nich nie jest używany. Googling wykazał, że dodatek SP2 potrzebował specjalnej poprawki, aby to umożliwić, ale nic nie pojawia się w dodatku SP3, a kiedy pobrałem wymienioną poprawkę, odmawia ona instalacji, mówiąc, że mam nowsze rozwiązanie.

(Żeby było jasne, sprawdziłem i nie jest tak, że Menedżer zadań pokazuje wszystkie procesory na tym samym wykresie.)

Czy ktoś wie, jak to naprawić?

abyx
źródło

Odpowiedzi:

5

Uruchom narzędzie msconfig, przejdź do zakładki BOOT.INI, a następnie kliknij Zaawansowane.

Pole wyboru NUMPROC powinno być odznaczone, aby używać wszystkich procesorów.
W ramach testu spróbuj go sprawdzić i zobacz, co zawiera lista rozwijana.
Jeśli zawiera tylko wartość 1, coś jest naprawdę nie tak.

wizerunek

UWAGA: Ta odpowiedź pochodzi z 2009 roku, prosimy o potraktowanie jej z szacunkiem dla starości.
Szczególnie: proszę nie głosować negatywnie.

harrymc
źródło
Nie jest zaznaczone, a sprawdzenie, czy pokazuje 2 procesory. Jakieś inne pomysły?
abyx
1
@abyx: spróbuj zaznaczyć /NUMPROCpole, a konkretnie wybierając opcję 2 procesorów. restart. czy to pozwala na użycie obu rdzeni?
quix quixote
@ ~ kwak - to załatwiło sprawę!
abyx
Zatem pytanie brzmi, dlaczego należy to wyraźnie ustawić, skoro nie musi. Może to problem ze sterownikiem? Może Computerwpis w Menedżerze urządzeń jest nieprawidłowy?
Synetech
@Synetech inc .: Nie sądzę, że uzyskasz więcej informacji z dwumiesięcznego postu.
harrymc
23

To zadziałało dla nas (z: http://www.pcreview.co.uk/forums/change-hal-out-reinstall-t2562052.html ):

  1. Wyłącz podpisywanie sterowników (Mój komputer> Właściwości> Sprzęt ...)

  2. Uruchom dokładnie ten wiersz poleceń:

    rundll32 syssetup,SetupInfObjectInstallAction ACPIAPIC_MP_HAL 128 %windir%\inf\hal.inf
    
dbagshaw
źródło
1
Wymagane 2 ponowne uruchomienie i wszystko działa jak urok - dzięki !!!
Matthias Hryniszak,
To zadziałało, kiedy wizualizowałem fizyczną maszynę z naszych kopii zapasowych.
Jeff F.
działało to na starej maszynie wirtualnej XP, nie musiałem też wyłączać podpisywania sterowników!
Jeff Atwood
To najlepsza odpowiedź.
Igor Levicki
8

To zadziałało dla mnie (VirtualBox XP Pro) ...

1) Przejdź do c: \ windows (ścieżka instalacji), wyszukaj sp3.cab. Otwórz ten plik cab za pomocą 7-zip (chociaż odkrywca może być w stanie natywnie otworzyć plik, jeśli nie będzie w stanie pobrać 7-zip z sourceforge).

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

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

3) Edytuj c: \ boot.ini

Uwaga: musisz odznaczyć Read-onlywłaściwość, aby zapisać zmiany. Po zakończeniu ustaw ponownie na Tylko do odczytu.

Skopiuj linię, która wygląda następująco:

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

Spraw, aby skopiowany wpis wyglądał tak:

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

Teraz masz opcję podwójnego rozruchu, aby użyć jednego lub wielu rdzeni (TaskManager wyświetli dwa wykresy procesora, jeśli się to powiedzie). Jeśli wielordzeniowy uruchamia się i działa poprawnie, możesz usunąć wpis z jednego rdzenia z boot.ini.

James
źródło
Jestem ciekawy, jak dokładnie to działa? Co robi dodawanie /kernel=ntkrnlmp.exe /hal=halmacpi.dll, aby wymusić wyświetlanie wszystkich rdzeni procesora? Przy okazji, witamy w Super User :)
nhinkle 25.04.13
Z tego, co rozumiem, zmusza to system Windows do korzystania z wielordzeniowego jądra: ntkrnlmp.exe i warstwy abstrakcji sprzętu: halmacpi.dll. Prawdopodobnie system został zainstalowany przy użyciu jądra jednordzeniowego i HAL.
James
+1 za ten! Uważam to za bardzo przydatne. Muszę tylko wspomnieć, że popełniłem błąd podczas edytowania boot.ini, a moja maszyna wirtualna stała się bezużyteczna (potrzebna do edycji boot.ini za pomocą systemu operacyjnego hosta, aby go odzyskać), więc edytuj ostrożnie!
Eugenio Miró,
Późno na przyjęcie z komentarzem, ale tak, kopie zapasowe są zawsze dobrym pomysłem! Po prostu skopiuj go boot.ini.origlub coś podobnego. Ale tak, jeśli to zrobisz, potrzebujesz jakiegoś narzędzia do odzyskiwania. Obraz Live CD z Linuksem będzie działał dobrze, wystarczy zamontować go jako urządzenie CD w VirtualBox.
James
Jeśli zobaczysz następujący komunikat o błędzie podczas uruchamiania: 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.wtedy ... pomimo błędu informującego, że go hal.dllbrakuje, zapomniałeś skopiować pliki halmacpi.dlli ntkrnlmp.exedo C:\Windows\System32folderu. Można je również skopiować z C:\Windows\ServicePackFiles\i386folderu.
AlwaysLearning
4

Oto kolejna możliwość.

Czy zainstalowałeś wersję XP jednoprocesorową lub wieloprocesorową?

Systemy jednoprocesorowe mają jako jądro ntoskrnl.exe, podczas gdy systemy wieloprocesorowe mają ntkrnlmp.exe w C: \ WINDOWS \ system32.

Również w Menedżerze urządzeń rozwiń Komputer. Powinien zostać wyświetlony komunikat „Komputer wieloprocesorowy ACPI”. Jeśli widzisz komputer „Zaawansowana konfiguracja i interfejs zasilania (ACPI)”, oznacza to, że jest to błąd.

Co widzisz?
Jeśli którakolwiek z powyższych dwóch kontroli jest nieprawidłowa, musisz ponownie zainstalować XP.

harrymc
źródło