Если на вашем компьютере с одноядерным
процессором без поддержки технологии HyperThreading (это Celeron, Sempron, AthlonXP, Athlon 64, Pentium M, Core Solo и некоторые варианты Pentium4) была установлена Windows XP (не принципиально, Home или Professional), и вы совершили апгрейд вашей системы, включающий в себя замену
процессора на многоядерный (сколько именно ядер - не принципиально, лишь бы больше одного) или одноядерный, но с поддержкой технологии HyperThreading, то для полной реализации возможностей нового
процессора вам необходимо заменить ядро операционной системы.
Связано это с тем, что на этапе установки WindowsXP программа-инсталлятор определяет число и тип процессоров в системном блоке, и, в случае наличия единственного одноядерного процессора без поддержки HyperThreading, выбирает ядро, не поддерживающее распределение нагрузки по процессорам, в силу его теоретически более высокого быстродействия в такой ситуации по сравнению с более универсальным многопроцессорным ядром, которое написано с учётом возможности распределения нагрузки по процессорам и несёт в итоге большие накладные расходы процессорных мощностей на собственные нужды.
Однако если однопроцессорное ядро ОC используется совместно с многоядерным процессором, то физически в
процессоре используется только первое ядро, остальные (сколько бы их там ни было) простаивают, что понятным образом радикально урезает итоговое быстродействие компьютера (т.е., например, вместо Pentium D у вас оказывается Pentium4 с той же тактовой частотой, и т.п.).
Есть два способа исправить ситуацию и заставить компьютер работать на полную мощность без переустановки ОС и всех прикладных программ.
Первый способ - это просто переустановка ОС в режиме восстановления ("Восстановить выбранную копию Windows"); второй - замена ядра вручную, этот способ описывается ниже, его мы рекомендуем только опытным пользователям (подразумевается, что Windows XP у вас установлена в каталоге C:\Windows):
1) Скопировать из C:\Windows\System32\Dllcache\ в C:\Windows\System32\ файлы
halmacpi.dll и
ntkrnlmp.exe (если вы не обнаружите эти файлы в C:\Windows\System32\Dllcache\, поищите их стандартным поиском Windows, они могут оказаться в другом каталоге внутри C:\Windows\System32)
2) C:\boot.ini скопировать имеющуюся строку загрузки ОС, добавив параметры
/kernel=ntkrnlmp.exe /hal=halmacpi.dll и изменив имя ОС, в итоге должно получиться, например,
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP MultiCore"
/fastdetect /NoExecute=OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll
3) Перезагрузиться в безопасном режиме, выбрав новый вариант загрузки ОС (у нас - "Microsoft Windows XP MultiCore"). Windows найдёт новое оборудование.
4) Скопировать C:\Windows\system32\halmacpi.dll в C:\Windows\System32\hal.dll, сделав предварительно резервную копию уже имеющегося там hal.dll, и ещё раз перезагрузиться.
5) В C:\boot.ini удалить добавленную строку, если всё перед этим было сделано без ошибок, то в "диспетчере задач" будет отображаться загрузка требуемого количества ядер.
Вид диспетчера задач и диспетчера устройств, если двухъядерный процессор используется с "однопроцессорным" ядром:
А так всё должно выглядеть, когда установлено соответствующее ядро: