Исправление: ошибка BSOD 0x0000007B (INACCESSABLE_BOOT_DEVICE) в Windows

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

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

  • При восстановлении Windows из резервной копии на другой физический компьютер или виртуальную машину Hyper-V, VMware или VirtualBox (или в сценариях восстановления “на пустом металле” на другое оборудование);
  • Во время миграции P2V или V2V;
  • После переноса (клонирования) Windows на новый жесткий диск или компьютер;
  • Если вы используете образ Windows для переноса физической машины (например, с помощью disk2vhd) и развертывания новой виртуальной машины из этого VHD-образа;
  • После переключения режима контроллера SATA в BIOS с AHCI на IDE/RAID или наоборот (в этом случае просто откройте настройки BIOS и восстановите исходные настройки SATA);bios: изменение режима sata на ide, ahci или raidbios: изменить режим sata на ide, ahci или raid
  • При замене материнской платы и/или контроллера жесткого диска;
  • После обновления встроенного ПО BIOS/UEFI или изменения настроек.

Ошибка остановки 0x0000007B после преобразования физического хоста в виртуальную машину

Чаще всего я сталкивался с ошибкой 0x7b после преобразования физического компьютера под управлением Windows Server 2008 R2 или Windows 7 в виртуальную машину с помощью VMware vCenter Converter. После завершения преобразования Windows не загружается на новой виртуальной машине, а на экране появляется BSOD (Blue Screen of Death) с кодом остановки:

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

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

Невозможность загрузки Windows с BSOD 0x0000007B после p2v в vmwareWindows не загружается с ошибкой 0x0000007B BSOD после p2v в vmware

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

Загрузка Windows останавливается на этапе загрузки CLASSPNP.SYSЗагрузка Windows останавливается при загрузке CLASSPNP.SYS

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

Regedit.exe

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

Эти шаги позволят смонтировать ветку реестра SYSTEM с жесткого диска в Редактор реестра. Введите временное имя для нового раздела реестра (например, используйте имя local_hkey).

regedit load local hive \Windows\System32\config\SYSTEMregedit load local hive \Windows\System32\config\SYSTEM

Перейдите в HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services\ ключ реестра в смонтированной ветке.

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

  • Atapi;
  • Intelide;
  • LSI_SAS.

Найдите параметр REG_DWORD под названием Запустить и измените его на 0 (0x0000000000) в каждом из этих ключей.

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

Если перед возникновением этой ошибки вы установили режим работы SATA-контроллера на AHCI, в разделе msahci также следует установить Start = 0.

сервис Intelide start mode 1сервис Интеллид запускает режим 1

Чтобы сохранить изменения в файле локального реестра на диске, выберите ключ реестра HKEY_LOCAL_MACHINE\local_hkey и нажмите кнопку Выгрузить улей из меню.

Выгрузка локального реестра Hive Выгрузить локальный реестр Hive

Теперь вы можете перезапустить свой сервер. Windows должна загрузиться нормально. Она автоматически найдет и установит драйверы для нового дискового контроллера.

Если после внесения этих изменений Windows по-прежнему не загружается с той же ошибкой INACCESSABLE_BOOT_DEVICE, это означает, что вы используете другой тип дискового контроллера.

Попробуйте изменить значение параметра Начало параметр в HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services в соответствии с приведенной ниже таблицей.

Имя службы Windows Виртуальная машина VMWare или Hype-V Физический ПК под управлением Windows x64 с родным адаптером SATA Физический ПК с RAID-контроллером
aliide 3 3 3
амдид 3 3 3
atapi 0 0 0
cmdide 3 3 3
iastorv 3 3 3
intelide 0 3 3
msahci 3 0 0
pciide 3 0 3
viaide 3 3 3
LSI_SAS 0 3 3

Как вручную установить драйвер при возникновении ошибки INACCESSABLE_BOOT_DEVICE

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

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

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

dism: добавить драйвер в автономный образ Windowsdism: добавление драйвера в автономный образ windows

В некоторых организациях настроены групповые политики, ограничивающие установку драйверов сторонних производителей в Windows. Например, в разделе Конфигурация компьютера -> Административные шаблоны -> Система -> Установка устройств -> Ограничения на установку устройств указаны следующие параметры:

  • Запретить установку устройств, которые соответствуют любому из этих идентификаторов устройств
  • Запретите установку устройств с драйверами, соответствующими этим классам настроек устройств
  • Предотвращение установки съемных устройств
  • Запрет установки устройств, не описанных другими параметрами политики

локальные настройки gpo предотвращают установку драйверов на windowsлокальные настройки gpo предотвращают установку драйверов на windows

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

В этом случае вам потребуется:

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

Добавить комментарий

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