stranichko.org.ua feedback на платформе

добавляем ядра в гостевой домен Windows XP, 2003 в Xen

Итак, если гостевая система Windows XP или 2003 изначально была установлена с использованием одного виртуального процессора, то дальнейшее добавление виртуальных ядер в конфигурации домена никак не повлияет на увеличение процессоров в самой виртуальной машине. Дело в том, что при установке Windows было использовано ядро системы, которое работает только с одним процессором. На форумах советуют переустановить систему. Но можно сделать все грамотно и быстро.

первым делом, убедитесь, что в конфигурационном файле домена у вас установлены параметры:

kernel = "hvmloader"
builder='hvm'
vcpus=2 (и более)
acpi=1
apic=1

далее нам необходимо взять с дистрибутива Windows следующие файлы ядра для многопроцессорных систем:

halmps.dll, ntkrnlmp.exe, ntkrpamp.exe

не забываем, что в дистрибутиве эти файлы запакованы, и выглядят так:

halmps.dl_, ntkrnlmp.ex_, ntkrpamp.ex_

для распаковки используем утилиту expand.exe, которая обычно находится в том же дистрибутиве ([компакт-диск]:\I386\expand.exe) следующим образом:

cd [компакт-диск]:\I386\
expand halmps.dl_ c:\Temp\halmps.dll
expand ntkrnlmp.ex_ c:\Temp\ntkrnlmp.exe
expand ntkrpamp.ex_ c:\Temp\ntkrpamp.exe

если файла ntkrpamp.exe у вас нету (а он нужен обязательно), то можно его поискать в сервис паках на жестком диске, или в Интернете. Также прикладываю сюда все три файла для Win2k3:

halmps.dll (418)
ntkrnlmp.exe (320)
ntkrpamp.exe (361)

далее нам необходимо ОБЯЗАТЕЛЬНО сделать резервные копии файлов текущего ядра:

copy c:\windows\system32\hal.dll c:\windows\system32\hal_backup.dll
copy c:\windows\system32\ntoskrnl.exe c:\windows\system32\ntoskrnl_backup.exe
copy c:\windows\system32\ntkrnlpa.exe c:\windows\system32\ntkrnlpa_backup.exe

также следует выполнить поиск данных файлов по всей папке WINDOWS и переименовать их, т.к. при замене нами файлов ядра они автоматически восстановятся из копий, находящихся в DLLCache, и папках установки сервис паков

делаем замену системных файлов таким образом,
чтобы halmps.dll – стал hal.dll,
ntkrnlmp.exe – ntoskrnl.exe,
ntkrpamp.exe – ntkrnlpa.exe:

copy c:\temp\halmps.dll c:\windows\system32\hal.dll
copy c:\temp\ntkrnlmp.exe c:\windows\system32\ntoskrnl.exe
copy c:\temp\ntkrpamp.exe c:\windows\system32\ntkrnlpa.exe

завершающим этапом будет двойная перезагрузка, после чего мы получим систему с количеством ядер, ограниченным лишь сборкой системы (Web Edition, Standard, Enterprise, и т. д.)

также, если при установке системы в конфигурационном файле домена у вас не был задан параметр acpi=1 то домен просто перестанет автоматически уничтожаться (выключаться) при команде на выключение и остановится фактически работать с сообщением «Теперь питание компьютера можно отключить». Если есть идеи, как это побороть – вэлкам в комментарии.

по материалам:
http://ru.wikipedia.org/wiki/Ntoskrnl
http://www.linuxforums.org/forum/red-hat-fedora-linux/136863-xen-how-add-vcpus-windows-guest.html
http://support.microsoft.com/kb/810903/ru
http://forum.oszone.net/thread-59111-3.html

[для поисковика: xen; xen open source; windows xp, 2003; vcpus; ядро, процессор; hal, ntoskrnl, ntkrnlpa]

VN:F [1.8.8_1072]
Rating: 4.3/5 (7 votes cast)
добавляем ядра в гостевой домен Windows XP, 2003 в Xen4.357
15,961 просмотров

Один комментарий на “добавляем ядра в гостевой домен Windows XP, 2003 в Xen”

  • посетитель, поставивший статье оценку 4, не стесняйтесь. Милости прошу в комментарии. Что не так? Буду только рад услышать критику

Оставить комментарий

(обязательно)