Исправляем ошибку 0x0000007B (INACCESSABLE_BOOT_DEVICE) при загрузке Windows

Ошибка 0x0000007B (INACCESSABLE_BOOT_DEVICE) при загрузке компьютеру указывает на то, что Windows не может получить доступ к загрузочному диску из-за отсутствия необходимого драйвера или повреждения носителя.

Администратор может столкнуться с ошибкой 0x0000007B в следующих случаях:

  • При восстановлении Windows из бэкапа на другой физический компьютер или виртуальную машину Hyper-V, VMware или VirtualBox (как частный случай восстановление из Bare Metal Recovery на другое железо);
  • После переносе (клонировании) Windows на новый диск или новый компьютер;
  • При миграции физической системы с помощью создании образа компьютера (например, с помощью disk2vhd) и разворачивании из этого vhd образа новой виртуальной машины;
  • При переключении режима работы SATA контроллера в BIOS с AHCI на IDE/RAID, или наоборот (в этом случае достаточно открыть настройки BIOS и вернуть исходный режим SATA);изменить режим SATA контроллера в BIOS (IDE/AHCI/RAID)
  • При замене материнской платы и / или контроллера жесткого диска;
  • После обновления BIOS/UEFI или смене настроек.

Ошибка 0x0000007B при конвертации в виртуальную машину

Чаще всего я сталкивался с ошибкой 0x7b после конвертации физического компьютера с Windows Server 2008 R2/ Windows 7 в виртуальную машину с помощью VMware vCenter Converter. После окончания конвертации Windows на новой ВМ не загружается и на экране появляется BSOD со стоп-кодом:

STOP: 0x0000007B (0xFFFFF880009A9928, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000).

Ошибка INACCESSABLE_BOOT_DEVICE в этом случае вызвана тем, что контроллер жесткого диска нового сервера (компьютера или виртуальной машины) отличается от исходного оборудования. Например, в большинстве гипервизоров для подключения дисков по умолчанию используется SCSI или SAS контроллер, который обычно отключен в исходном образе Windows. Т.е. драйвер lsi_sas.sys установлен, но служба, которая его запускает – отключена. В результате операционная системе не может загрузить необходимый драйвер и загрузка Windows прерывается с BSOD.

Stop 0x0000007B - Синий экран смерти при загрузке Windows 7 / Windows Server 2008 R2

В режиме отладки видно, что загрузка Windows останавливается на этапе загрузки драйвера CLASSPNP.SYS.

не загружается драйвер CLASSPNP.SYS

Для исправления проблемы, нужно загрузиться с установочного диска/ USB флешки с Windows или загрузочного диска (например, MsDaRT). Если вы загрузили компьютер с установочного диска, нужно на первом экране начала установки (выбор языка и раскладки клавиатуры) нажать сочетание клавиш Shift+F10. Должно открыться окно командной строки, в котором нужно выполнить команду:

Regedit.exe

В открывшемся окне редактора реестра выберите на раздел HKEY_LOCAL_MACHINE и нажмите меню File -> Load Hive. На локально диске сервера (не перепутайте его с диском со средой WinPE) выберите файл \Windows\System32\config\SYSTEM. В этом файле хранится системная часть реестра вашей Windows.

Эти действия смонтируют в редактор реестра куст реестра вашей системы с жесткого диска. Укажите временное имя новой ветки (например, local_hkey).

Load Hive загрузить файл реестра с диска

В загруженной ветке перейдите в раздел HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services\.

Найдите следующие ключи реестра:

  • Atapi
  • Intelide
  • LSI_SAS

В каждом из этих ключей найдите параметр типа REG_DWORD с именем Start и измените его значение на 0 (0x00000000).

Примечание. Значение Start=0, означает что данная служба (и соответвующий драввер) будут загружаться при загрузке Windows. Start=3 – ручной запуск службы.

Если перед возникновением проблемы вы переключили режим работы SATA контроллера на AHCI, нужно также в разделе msahci установить Start=0 (см. статью Как включить AHCI в Windows без переустановки).

драйвер Intelide

Для сохранения изменений в файле реестра на диске нужно выбрать ваш HKEY_LOCAL_MACHINE\local_hkey и в меню выбрать Unload Hive.

выгрузить ветку реестра

Теперь можете перезагрузить сервер в обычном режиме. Windows должна загрузится нормально, при загрузке будет выполнен автоматический поиск и установка драйверов для нового контроллера диска.
Если после данных изменений ваша Windows так и не загрузилась с той же ошибкой INACCESSABLE_BOOT_DEVICE, значит у вас используются какой-то другой тип контроллера. Попробуйте в ветке HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services изменить значение параметра Start в соответствии с таблицей.

Служба WindowsВиртуальная машина VMWare или HyperVФизический ПК с Windows x64 с нативным SATA адаптеромФизический ПК с RAID контроллером
aliide333
amdide333
atapi000
cmdide333
iastorv333
intelide033
msahci300
pciide303
viaide333
LSI_SAS033

Ручная установка драйвера при возникновении ошибки INACCESSABLE_BOOT_DEVICE

Вы можете вручную установить драйверы в ваш офлайн образ Windows. Например, после выполнения миграции хоста через P2V вы можете установить в офлайн образ драйвер для VMware SCSI Disk Controller или драйвер VirtIO (для KVM виртуализации). Для этого скопируйте необходимые драйвера на загрузочную USB флешку и загрузитесь с нее.

Для установки драйвера в офлайн образ Windows (в этом примере он находитмя на диске F:), выполните команду:

dism /image:f:\ /add-driver /driver:vioscsi.inf

dism загрузить драйвер контроллера диска в офлайн образ windows

В некоторых организациях настроены групповые политики, которые ограничивают установку сторонних драйверов в Windows. Например, с помощью следующих параметров в разделе Computer Configuration -> Administrative Templates -> System -> Device Installation -> Device Installation Restrictions:

  • Prevent installation of devices that match any of these device IDs
  • Prevent installation of devices using drivers that match these device setup classes
  • Prevent installation of removable devices
  • Prevent installation of devices not described by other policy settings.

Групповая политика - запретить установку драйверов в windows

Если эти политики включены, Windows не сможет выполнить автоматическую установки драйвера контроллера. В этом случае нужно

  1. Загрузить с диска ветку реестра \Windows\System32\config\SYSTEM (как описано выше);
  2. Затем перейдите в ветку HKEY_LOCAL_MACHINE\local_hkey\System\ControlSet001\Control\PnP
  3. Измените значения параметров реестра DisableCDDB и DontStartRawDevices на 0
  4. Выгрузите куст реестра и перезагрузите компьютер.

Предыдущая статья Следующая статья


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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)