Как включить несколько процессоров на XP SP 3?


13

У меня есть ноутбук Lenovo n100, которому 3 года. Он выполняет двойную загрузку оригинальной Windows XP, поставляемой с ним, и Ubuntu, и я только сейчас заметил, что при установке XP в диспетчере задач отображается только 1 процессор.

Диспетчер устройств показывает 2 процессора (это Core Duo T2300), но похоже, что один из них не используется. Поиск в Google показал, что для SP2 необходимо специальное оперативное исправление, чтобы включить это, но на SP3 ничего не появляется, и когда я скачал указанное исправление, оно отказывается устанавливать, говоря, что у меня есть более новое решение.

(Просто чтобы прояснить ситуацию, я проверил, и это не значит, что диспетчер задач показывает все процессоры на одном графике.)

Кто-нибудь знает, как это исправить?

Ответы:


5

Запустите утилиту msconfig, перейдите на вкладку BOOT.INI и нажмите «Дополнительно».

Флажок NUMPROC должен быть снят, чтобы использовать все процессоры.
В качестве теста попробуйте проверить его и посмотреть, что содержит выпадающий список.
Если он содержит только значение 1, значит, что-то действительно не так.

образ

ПРИМЕЧАНИЕ: этот ответ с 2009 года, пожалуйста, относитесь к нему с уважением к его старости.
Особенно: пожалуйста, никаких голосов.


Это не проверено, и проверка показывает, что 2 процессора. Есть еще идеи?
Абикс

1
@abyx: попробуйте установить /NUMPROCфлажок и конкретно выбрать опцию 2 CPU. перезагрузка. это позволяет использовать оба ядра?
шарлатан-кихот

@ ~ шарлатан - сработал!
Абикс

Тогда возникает вопрос, почему это должно быть явно установлено, поскольку это не нужно. Может быть, это проблема с драйверами? Может быть, Computerзапись в диспетчере устройств неверна?
Synetech

@Synetech inc .: Я не думаю, что вы получите больше информации из 2-месячного поста.
harrymc

23

Это сработало для нас (от: http://www.pcreview.co.uk/forums/change-hal-out-reinstall-t2562052.html ):

  1. Отключить подпись драйверов (Мой компьютер> Свойства> Оборудование ...)

  2. Запустите эту командную строку точно:

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

1
Требуется 2 перезагрузки и все работает как шарм - спасибо !!!
Матиас Гринишак

Это сработало, когда я визуализировал физическую машину из наших резервных копий.
Джефф Ф.

это работало на старой виртуальной машине XP, мне также не нужно было отключать подпись драйверов!
Джефф Этвуд

Это лучший ответ.
Игорь Левицкий

8

Это сработало для меня (VirtualBox XP Pro) ...

1) Зайдите в c: \ windows (ваш путь установки), найдите sp3.cab. Откройте этот cab-файл с помощью 7-zip (хотя проводник может открыть файл самостоятельно, если не может загрузить 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) диска (0) (1) \ WINDOWS = "Microsoft Windows XP Professional" / fastdetect / NoExecute = OptIn

Сделайте скопированную запись похожей на это:

многодисковый (0) дисковый (0) раздел (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, чтобы заставить его показать все ядра процессора?
Между

Насколько я понимаю, это заставляет Windows использовать многоядерное ядро: ntkrnlmp.exe и уровень аппаратной абстракции: halmacpi.dll. Вероятно, система была установлена ​​с использованием одноядерного ядра и HAL.
Джеймс

+1 за это! Я нашел это очень полезным. Я просто должен упомянуть, что допустил ошибку при редактировании boot.ini, и моя виртуальная машина перестала работать (необходимо было отредактировать boot.ini с помощью операционной системы хоста для ее восстановления), поэтому редактируйте осторожно!
Эудженио Миро

Поздно с комментариями, но да, резервные копии всегда хорошая идея! Просто скопируйте это boot.ini.origили что-то подобное. Но да, если вы подключите его, вам понадобится какой-нибудь инструмент для восстановления. Живой образ Linux с компакт-диском будет работать хорошо, просто смонтируйте его как устройство CD в VirtualBox.
Джеймс

Если вы видите следующее сообщение об ошибке при загрузке: 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?

Однопроцессорные системы имеют ядро ​​ntoskrnl.exe, а многопроцессорные - ntkrnlmp.exe в C: \ WINDOWS \ system32.

Также в диспетчере устройств разверните Компьютер. Вы должны увидеть «ACPI Multiprocessor PC». Если вы видите «ПК с расширенной конфигурацией и интерфейсом питания (ACPI)», то это неправильно.

Что ты видишь?
Если любая из двух вышеуказанных проверок неверна, вам придется переустановить XP.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.