При установке Windows 8 на компьютер или на виртуальную машину (проверено на VirtualBox, VMware и qemu) вылезает следующая ошибка:

Your PC needs to restart.
Please hold down the power button.
Error Code: 0x0000005D
Parameters:
0x########
...

Типа: "Чо, не грузится? Нажми кнопку питания и не отпускай!". Предельная степень информативности.

Остаётся только сидеть в ступоре и думать, почему оно вылетело.

Почему оно вылетело

У всех современных процессоров есть расширение SSE2, поддержка режима PAE и возможность использования атрибута страниц памяти NX. Последний — ключевой в данной ситуации.

NX (No eXecute bit, в AMD) или XD (eXecute Disable bit, в Intel) — атрибут страницы памяти, который определяет: запрещено ли исполнение данных из этой страницы. Типа, принадлежит ли данный байт ворду (исполняемый) или документу (неисполняемый).

С NX вообще интересная история. На нём была основана аппаратно-программная антивирусная технология DEP, реализованная в Windows XP. Однако, очень быстро выяснилось, что при включенном NX масса драйверов и приложений в XP перестают работать (см. «быдлокодеры»). Ситуация была неприемлимой для микрософта, поэтому производители материнских плат не только добавили в BIOS опцию по отключению NX, но и сделали её отключенной по умолчанию.

То есть, в большинстве современных материнских плат есть переключатель NX, но по умолчанию он выключен, потому что так надо было для Windows XP. А для Windows 8 он внезапно стал критически необходим.

Как исправить

Разрешить использование No Execute Bit'а, в биосе.
В разных биосах опция может называться по-разному и находиться в разных местах (подсказка: искать надо где-то в районе настроек процессора). В некоторых биосах её может вообще не быть, и тогда вам не повезло. Или наоборот, как посмотреть.
Кстати, в таком случае иногда помогает прошивка биоса до последней версии.

Список возможных названий опции:

  • No-Execute Memory Protect
  • Execute Disable Bit
  • Execute Disable Function
  • Intel XD Bit
  • NX BIOS Control
  • NX Technology
  • XD Technology
  • ...что-то другое

Находим, ставим в Enabled, сохраняем настройки и перезагружаемся.
Ошибка исчезнет.



imen
2012.08.29 10:38:18
#cid39084

Ответить

Ответ на вопрос "Из-за чего оно вылетело?", приводимый в данной заметке, ни фига не является ответом на вопрос "Почему...?" (включение фичи NX оказалось критическим для 8, из которого очевидным образом следуют подвопросы о взаимоотношениях данной фичи с вистой и 7).

2012.08.29 12:23:18
#cid39090

Ответить

#cid39084, imen

Ответ на вопрос "Из-за чего оно вылетело?", приводимый в данной заметке, ни фига не является ответом на вопрос "Почему...?"

Скажем прямо: заметка вообще ни о чём.
По сообщению Windows всё и так было понятно.

Андрей
2013.03.31 22:06:37
#cid58555

Ответить

Две недели бился над проблемой,пока не попал на эту страницу! Спасибо автору всё заработало!

djrust
2013.09.07 00:13:26
#cid72749

Ответить

Ошибка 0x000000C4 в VirtualBox
Your PC needs to restart. Please hold the power button. Error code : 0x000000C4
лечится так

1. Смотрим имя вирт машины
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" list vms
2. Устанавливаем
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "VB NAME" VBoxInternal/CPUM/CMPXCHG16B 1

Взято из
http://www.thewindowsclub.com/fix-error-0x000000c4-unable-to-install-windows-8-1-using-virtualization

Andre
2014.06.04 19:56:22
#cid89383

Ответить

Не помогло!!

dalex
2014.06.14 10:44:47
#cid89392

Ответить

#cid72749, djrust

Ошибка 0x000000C4 в VirtualBox
Your PC needs to restart. Please hold the power button. Error code : 0x000000C4
лечится так

1. Смотрим имя вирт машины
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" list vms
2. Устанавливаем
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "VB NAME" VBoxInternal/CPUM/CMPXCHG16B 1

Взято из
http://www.thewindowsclub.com/fix-error-0x000000c4-unable-to-install-windows-8-1-using-virtualization

Спасибо! Помогло.

Pain_666
2014.10.06 19:51:25
#cid89755

Ответить

#cid72749, djrust

Ошибка 0x000000C4 в VirtualBox
Your PC needs to restart. Please hold the power button. Error code : 0x000000C4
лечится так

1. Смотрим имя вирт машины
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" list vms
2. Устанавливаем
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "VB NAME" VBoxInternal/CPUM/CMPXCHG16B 1

Взято из
http://www.thewindowsclub.com/fix-error-0x000000c4-unable-to-install-windows-8-1-using-virtualization

Мне тоже помогло, спасибо!

Крабик
2014.10.12 13:17:54
#cid89797

Ответить

Я не понял скажите поподробнее

не баг, а фича
2015.03.11 18:46:24
#cid90364

Ответить

#cid89755, Pain_666

#cid72749, djrust

Мне тоже помогло, спасибо!

не помогло, ищем ответ дальше, господа

sas
2015.04.12 17:18:20
#cid90474

Ответить

не помогло, ищем ответ дальше, господа

2015.04.13 01:57:27
#cid90475

Ответить

#cid90474, sas

не помогло, ищем ответ дальше, господа

Крестики-нолики взломал, что ли?

KraSys
2015.05.15 17:06:15
#cid90601

Ответить

Спасибо Друг!!! Актуально для 7-ки!

Алексей
2015.07.26 22:26:38
#cid90825

Ответить

Наконец-то дельный совет. Заработало!
И для 10-ки актуально, если при попытке установки на виртуалку - просто логотип загрузки и ничего не происходит.

WereLion7
2016.02.20 15:56:37
#cid91401

Ответить

Значит, по сути ХП просто не может в DEP. А я-то всю голову сломал - при включении в биосе ХП рушится на экране приветствия. Единственное место, где четко написано о такой проблеме - здесь. Спасибо.

2016.02.21 15:28:31
#cid91402

Ответить

#cid91401, WereLion7

Значит, по сути ХП просто не может в DEP. А я-то всю голову сломал - при включении в биосе ХП рушится на экране приветствия. Единственное место, где четко написано о такой проблеме - здесь. Спасибо.

В программном DEP может, проблема с аппаратным, которому нужен NX.
Но при включении NX в биосе, XP автоматически пытается работать в PAE и рушится, потому что драйвера его не умеют.

IdeaFix
2016.06.29 11:42:17
#cid91598

Ответить

Часто сталкиваюсь с такой проблемой в контексте модификации s775 материнок для запуска s771 процессоров. Симптомы те же, но суть иная. Оригинальный BIOS материнской платы, либо BIOS, модифицированный микрокодами старше 2010 года не способен нормально организовать работу некоторых инструкций на Xeon. Windows 8.1 и 10 не установятся.

Для того чтобы решить данную проблему в контексте 775->771 мода, нужно просто зашиться "правильным" BIOS'ом.

Гость
2017.03.21 17:25:20
#cid91778

Ответить

ОШЪИБКА