Ошибка 0x0000007B, известная как INACCESSABLE_BOOT_DEVICE, возникает, когда Windows не может получить доступ к загрузочному диску. Это может быть связано с отсутствием необходимых драйверов или повреждением носителя. В этой статье мы обсудим причины возникновения ошибки и предложим способы ее устранения.
Причины возникновения ошибки 0x0000007B
Администраторы могут столкнуться с этой ошибкой в следующих случаях:
— Восстановление Windows из бэкапа на другой компьютер или виртуальную машину (например, Hyper-V, VMware, VirtualBox).
— Перенос или клонирование системы на новый диск или компьютер.
— Миграция физической системы с помощью образа диска (например, disk2vhd) и разворачивание на новой виртуальной машине.
— Изменение режима работы SATA контроллера в BIOS (например, с AHCI на IDE/RAID и наоборот).
— Замена материнской платы или контроллера жесткого диска.
— Обновление BIOS/UEFI или изменение настроек.
Наиболее частые случаи возникновения ошибки
На практике ошибка 0x0000007B часто встречается при конвертации физической системы в виртуальную машину, особенно при использовании VMware vCenter Converter. После окончания конвертации Windows на новой ВМ не загружается и на экране появляется BSOD со стоп-кодом:
STOP: 0x0000007B (0xFFFFF880009A9928, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000).
Это связано с тем, что контроллер жесткого диска на виртуальной машине отличается от исходного оборудования, что приводит к сбою при загрузке Windows.
В большинстве гипервизоров для подключения дисков по умолчанию используется SCSI или SAS контроллер, который обычно отключен в исходном образе Windows. То есть драйвер lsi_sas.sys установлен, но служба, которая его запускает – отключена. В результате операционная системе не может загрузить необходимый драйвер и загрузка Windows прерывается с BSOD.
В режиме отладки видно, что загрузка Windows останавливается на этапе загрузки драйвера CLASSPNP.SYS.
Как исправить ошибку 0x0000007B
Чтобы исправить проблему, нужно загрузиться с установочного диска Windows или с USB-флешки (например, с помощью MsDaRT) и выполнить следующие шаги:
1. Загрузитесь в среду восстановления Windows:
— С загрузочного носителя (установочный диск или флешка) откройте командную строку, нажав комбинацию клавиш Shift+F10.
— В командной строке введите команду Regedit.exe для открытия редактора реестра.
2. Загрузите куст реестра:
— В редакторе реестра выберите HKEY_LOCAL_MACHINE, затем откройте меню File > Load Hive.
— Выберите файл \Windows\System32\config\SYSTEM на локальном диске вашей Windows. Это файл системной части реестра.
— Назовите загруженную ветку, например, local_hkey.
3. Измените значения в реестре:
— Перейдите в раздел HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services\.
— Найдите и измените значения ключей для следующих драйверов:
— Atapi
— Intelide
— LSI_SAS
— Для каждого из них найдите параметр Start и измените его значение на 0 (0x00000000), что означает, что служба будет загружаться при старте Windows.
4. Дополнительные настройки для AHCI:
— Если проблема возникла после переключения режима SATA на AHCI, найдите раздел msahci и также измените параметр Start на 0.
5. Сохранение изменений и перезагрузка:
— Чтобы сохранить изменения, вернитесь в HKEY_LOCAL_MACHINE\local_hkey, выберите Unload Hive.
— Перезагрузите систему в обычном режиме. Windows должна загрузиться нормально.
Если система не загружается, возможно, используется другой тип контроллера жесткого диска. В этом случае попробуйте в ветке HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services изменить значение параметра Start в соответствии с таблицей:
Служба Windows | Виртуальная машина VMWare или HyperV | Физический ПК с Windows x64 с нативным SATA адаптером | Физический ПК с RAID контроллером |
---|---|---|---|
aliide | 3 | 3 | 3 |
amdide | 3 | 3 | 3 |
atapi | ноль | ноль | ноль |
cmdide | 3 | 3 | 3 |
iastorv | 3 | 3 | 3 |
intelide | ноль | 3 | 3 |
msahci | 3 | ноль | ноль |
pciide | 3 | ноль | 3 |
viaide | 3 | 3 | 3 |
LSI_SAS | ноль | 3 | 3 |
Ручная установка драйверов
Если ошибка связана с отсутствием драйвера контроллера диска, можно вручную установить необходимые драйверы в офлайн-образ Windows. Для этого:
1. Скопируйте драйверы на USB-флешку и загрузитесь с нее.
2. Используйте команду:
dism /image:f:\ /add-driver /driver:vioscsi.inf
где f:\ — это диск с образом 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.
Для устранения этого:
1. Загрузите системную ветку реестра (\Windows\System32\config\SYSTEM).
2. В разделе HKEY_LOCAL_MACHINE\local_hkey\System\ControlSet001\Control\PnP измените параметры DisableCDDB и DontStartRawDevices на 0.
3. Выгрузите куст реестра и перезагрузите компьютер.
Эти действия помогут устранить ошибку 0x0000007B и вернуть вашу Windows в рабочее состояние.