Эта история началась полтора года назад. У меня был принт-сервер, установленный на фирменный HP’шный системник. Являясь поклонником виртуализации, я сконвертировал его в виртуальную машину и запустил.
За эти полгода чего только с ним не бывало. Один раз виртуальная машина потеряла снапшоты, восстановил. Другой раз куда-то потерялся файл VMDK, оставив только FLAT. Было очень весело делать снапшоты после восстановления потерянного файла, учитывая, что размер я подбирал вручную…
Недавно возникла еще одна беда: при установке обновлений на принт-сервер, он подвисает при перезагрузке. Safe mode подсказывает, что проблема с загрузкой ACPI. Клонирование и восстановление машинки из бэкапа не помогает. Создаем файловый бэкап ВМ и восстанавливаем на чистой — та же беда. 100% загрузка процессора при старте Windows Server.
Случайно роясь в диспетчере устройств обратил внимание, что версия HAL для моего однопроцессорного принт-сервера — Multiprocessor ACPI, хотя для свежеустановленной Win2k3 — Uniprocessor ACPI. Ситуация вот в чем — на системнике HP был процессор с двумя ядрами 😉
Чуть-чуть погуглив, нашел это —
«Only compatible HALs are listed in Windows Server 2003 and Windows XP. If you run a multiprocessor HAL with only a single processor installed, the computer typically works as expected, and there is little or no affect on performance.» (Если вы используете Multiprocessor ACPI HAL с одним процессором, обычно все работает как часы)
Там же был указан способ починки — переустановка ОС (в режиме Upgrade). Уже было начав переставлять ОС на тестовой машинке, увидал еще одну ссылку — тут. Автор как раз и советует менять многопроцессорный HAL на однопроцессорный при
Процитирую ту часть, которая меня интересует (смена HAL):
- Открываем «Диспетчер устройств -> Компьютер»;
- Нажимаем правой кнопкой мыши на «ACPI Multiprocessor PC» и выбираем «Update Driver…»;
- Выбираем «No, not this time» -> «Install from a list or specific location» -> «Don’t search. I will choose the driver to install.» -> «ACPI Uniprocessor PC.»
- Перезагружаем ВМ.
Я удивлен, но проблема с зависанием ВМ при старте пропала. 🙂
Это еще простой случай. С заменой однопроцессорного HAL на многопроцессорный сложнее. Тут описано:
http://wiki.sysfaq.ru/index.php/%D0%A1%D0%BC%D0%B5%D0%BD%D0%B0_ACPI
Не всегда. Если я ставлю Win2k3 на однопроцессорную виртуалку, имею Uniprocessor ACPI. Добавляю туда второй проц, пара перезагрузок и — Multiprocessor ACPI.
Делал так раз десять, ни разу проблем не возникало.