Как включить несколько процессоров на 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.