Ошибка 0x0000007B (INACCESSABLE_BOOT_DEVICE) при загрузке компьютеру указывает на то, что Windows не может получить доступ к загрузочному диску из-за отсутствия необходимого драйвера или повреждения носителя.
Администратор может столкнуться с ошибкой 0x0000007B в следующих случаях:
- При восстановлении Windows из бэкапа на другой физический компьютер или виртуальную машину Hyper-V, VMware или VirtualBox (как частный случай восстановление из Bare Metal Recovery на другое железо);
- После переносе (клонировании) Windows на новый диск или новый компьютер;
- При миграции физической системы с помощью создании образа компьютера (например, с помощью disk2vhd) и разворачивании из этого vhd образа новой виртуальной машины;
- При переключении режима работы SATA контроллера в BIOS с AHCI на IDE/RAID, или наоборот (в этом случае достаточно открыть настройки BIOS и вернуть исходный режим SATA);
- При замене материнской платы и / или контроллера жесткого диска;
- После обновления BIOS/UEFI или смене настроек.
Чаще всего я сталкивался с ошибкой 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.
В режиме отладки видно, что загрузка Windows останавливается на этапе загрузки драйвера CLASSPNP.SYS.
Для исправления проблемы, нужно загрузиться с установочного диска/ USB флешки с Windows или загрузочного диска (например, MsDaRT). Если вы загрузили компьютер с установочного диска, нужно на первом экране начала установки (выбор языка и раскладки клавиатуры) нажать сочетание клавиш Shift+F10. Должно открыться окно командной строки, в котором нужно выполнить команду:
Regedit.exe
В открывшемся окне редактора реестра выберите на раздел HKEY_LOCAL_MACHINE и нажмите меню File -> Load Hive. На локально диске сервера (не перепутайте его с диском со средой WinPE) выберите файл \Windows\System32\config\SYSTEM. В этом файле хранится системная часть реестра вашей Windows.
Эти действия смонтируют в редактор реестра куст реестра вашей системы с жесткого диска. Укажите временное имя новой ветки (например, local_hkey).
В загруженной ветке перейдите в раздел 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 без переустановки).
Для сохранения изменений в файле реестра на диске нужно выбрать ваш 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 контроллером |
aliide | 3 | 3 | 3 |
amdide | 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 виртуализации). Для этого скопируйте необходимые драйвера на загрузочную USB флешку и загрузитесь с нее.
Для установки драйвера в офлайн образ Windows (в этом примере он находитмя на диске F:), выполните команду:
dism /image:f:\ /add-driver /driver:vioscsi.inf
В некоторых организациях настроены групповые политики, которые ограничивают установку сторонних драйверов в 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\System32\config\SYSTEM (как описано выше);
- Затем перейдите в ветку
HKEY_LOCAL_MACHINE\local_hkey\System\ControlSet001\Control\PnP
- Измените значения параметров реестра DisableCDDB и DontStartRawDevices на 0
- Выгрузите куст реестра и перезагрузите компьютер.
Решение для Hyper-V
После восстановления бекапа Windows Server 2008 R2 сделанного с физической машины на виртуальную машину, windows не запускается с ошибкой «STOP: 0x0000007B«.
01. Вставьте в CD/DVD-ROM установочный диск
Windows Server 2008 R2 DVD.
02. Загрузите с него виртуальную машину.
03. В окне «Install Windows», нажмите «Next».
04. Нажмите «Repair your computer»
05. Выберите «Use recovery tools that can help fix problems starting Windows. Select an operating system to repair»
06. Нажмите «
Next»
07. Нажмите «Command Prompt» (командная строка)
08. Введите «regedit», запустится «Registry Editor»
09. Перейдите в «
HKEY_LOCAL_MACHINE»
10. В меню «File» выберите «Load Hive» (Загрузить куст»)
Примечание: Пока не кликнешь на ветку «HKEY_LOCAL_MACHINE»
в Меню не будет активна «Загрузить куст»
11. Выберите там файл «\Windows\System32\Config\SYSTEM»
12. Нажмите «
Open»
13. В поле «Key Name», введите «Recovery»
14. Нажмите «
OK»
15. Перейдите в «HKEY_LOCAL_MACHINE\Recovery\ControlSet001\services\intelide»
16. Откройте свойства ключа «
Start»
17. Измените «Value data» на «0».
18. Нажмите «
OK».
19. Перейдите в «
HKEY_LOCAL_MACHINE\Recovery»
20. В меню нажмите «File» — «Unload Hive»
21. В окне «Confirm Unload Hive» нажмите «Yes»
22. Закройте «
Registry Editor»
23. В окне «System Recovery Options», нажмите «Restart»
После перезагрузки восстановленный Windows должен запуститсяПримечание: Если Windows Server 2008 R2 не запустился то вернитесь к шагу 18 и проверьте следующие параметры реестраHKLM \ Recovery \ System \ CurrentControlSet \ Services \
Имя сервиса = Значение параметра
Start
Aliide = 3
Amdide =3
Atapi = 0
Cmdide = 3
iaStorV = 3
intelide = 0
msahci = 3
pciide = 3
viaide = 3
LSI_SAS = 0
* * * *
Microsoft Visual C++ Redistributable: learn.microsoft.com
* * * *
Ссылки на другие новости:
+ Удаляем пароль Windows 8 (netplwiz)
+ Ошибка 0xc8000222 при установке приложений (WinServ2008)
+ Отключаем Teredo в Windows 7
+ Отключаем планировщик заданий в Windows 7
+ Отключаем и удаляем hiberfil.sys в Windows 7
+ Ручная синхронизация времени
+ Отключение учетных записей при входе в Windows 7
+ Отключаем QoS и сетевой сброс в Windows 7
+ Удаление GPT и создание MBR раздела
+
Windows — Ошибка Event ID10 & ID4107 & ID3036(WMI & Certificates)
+ Windows 7 — Удаляем папку Windows Mail
+ Windows 7 — Очищаем WinSxS
+ Windows 7 — Сбой при загрузке драйвера cdrom
+ Windows 7 — Автозагрузка (Superfetch)
+ Windows 7 — Обновление сетевых папок
+ Windows 7 — Удаление пакета обновления
+ Windows 7 — Error 0x00000057 (Printer)
+ Windows 7 — Сбой при загрузке драйвера cdrom
+ Windows 7 — Ошибка при установке NET Framework 4.7.2
+ Ошибка 80072EFE обновления в Windows
+ Замена материнской платы без переустановки WindowsВот такая ещё история была: Lenovo IdeaPad Y570
_
Теги: soft, windows, server, 2008, восстановление, teredo, netplwiz, hiber, c8000222, 0000007b
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Windows error 0x0000007B can trigger due to issues with device drivers , viruses, data corruption etc.
As a part of our Server Management Services, we help our Customers to fix Windows related errors regularly.
Let us today discuss the possible causes and fixes for this error.
What is Windows error 0x0000007B?
While we boot the Windows Server 2008 R2 for the first time after a hardware replacement or system image restore, we may see an error message as shown below:
This stop code corresponds to the INACCESSABLE_BOOT_DEVICE error and is related to the difference of the hard disk controller of a new server (a computer or a virtual machine) from the original equipment.
When booting, the driver necessary to boot from the new controller is not loaded.
Causes for Windows error 0x0000007B
Common causes for the error 0x0000007B are:
- When restoring an OS from a backup to another physical computer or a Hyper-V/VMware/VirtualBox virtual machine.
- When migrating a physical system using a computer image and deploying a new virtual machine from this image.
- After switching the SATA controller mode in BIOS from AHCI to IDE or vice versa
- When replacing a motherboard and/or a hard drive controller.
In this case, the problem appeared when migrating a physical server running Windows Server 2008 R2 into VMWare environment. The blue screen appeared at the first startup of the VM.
In the debug mode you can see that Windows boot stops at the stage of loading the CLASSPNP.SYS driver.
Solutions for Windows error 0x0000007B
If the error message just triggered after we installed or made a change to a hard drive controller, we may fix it by Undoing the change.
Depending on the changes we made, some solutions might include:
- Removing or reconfiguring the newly installed hard drive controller
- Starting up with Last Known Good Configuration to undo related registry and driver changes
- Using System Restore to undo recent changes
- Rolling back the hard drive controller device driver to the version prior to the driver update
Another solution is to verify that the SCSI chain is correctly terminated, assuming that we are using SCSI hard drives in the computer. Incorrect SCSI termination has been known to cause STOP 0x0000007B errors.
Further, it is also important to verify that the hard drive is properly installed. An improperly installed hard drive could cause this error.
Also, ensure to scan the computer for viruses. Certain malware that infects the master boot record (MBR) or boot sector can cause STOP 0x0000007B errors.
Make sure that the virus scanning software is updated and configured to scan the MBR and boot sector.
Another solution is to update the drivers for the hard drive controller. If the drivers to the hard drive controller are outdated, incorrect, or corrupted, the STOP 0x0000007B error will likely occur.
Change the SATA mode in BIOS to IDE mode
Disabling some of the advanced features of SATA drives in BIOS could stop the STOP 0x0000007B error from showing up, especially if we are seeing it in Windows installation.
Depending on the BIOS make and version, SATA mode may be referred to as AHCI mode and IDE mode may be referred to as either Legacy, ATA, or Compatibility Mode.
While not a common solution, we might also want to try the reverse: see if IDE mode is selected in BIOS and if so, change it to AHCI, especially if we see the STOP 0x0000007B error in Windows.
If we see this STOP error after making the BIOS change on a Windows computer, we might need to enable the AHCI disk driver.
Run chkdsk on the hard drive
If the boot volume is corrupted, the chkdsk command might repair the corruption.
We will likely have to run chkdsk from the Recovery Console.
This will likely be the solution if the second hexadecimal number after the STOP code is 0xC0000032.
Another option here is to run the fixmbr command to create a new master boot record. A corrupted master boot record might be causing the STOP 0x0000007B error.
This will likely be the solution if the second hexadecimal number after the STOP code is 0xC000000E.
Further it is also a good option to clear the CMOS. Sometimes the STOP 0x0000007B error is caused by a BIOS memory issue. Clearing the CMOS could solve that problem.
Another option is to update the BIOS. In some situations, an outdated BIOS could cause this error due to incompatibilities with a hard drive controller.
Also, update the hard drive controller’s firmware if possible. Just as with the BIOS in the previous step, an incompatibility could be causing the 0x7B error and a firmware update from the manufacturer may correct the problem
[Need any further assistance in fixing windows error 0x0000007B? – We’re available 24*7]
Conclusion
In short, Windows error 0x0000007B can trigger due to a number of reasons like issues with device drivers , viruses, data corruption etc. Today, we saw how our Support Engineers fix this error.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
GET STARTED
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;
Распознавание голоса и речи на C#
UnmanagedCoder 05.05.2025
Интеграция голосового управления в приложения на C# стала намного доступнее благодаря развитию специализированных библиотек и API. При этом многие разработчики до сих пор считают голосовое управление. . .
Реализация своих итераторов в C++
NullReferenced 05.05.2025
Итераторы в C++ — это абстракция, которая связывает весь экосистему Стандартной Библиотеки Шаблонов (STL) в единое целое, позволяя алгоритмам работать с разнородными структурами данных без знания их. . .
Разработка собственного фреймворка для тестирования в C#
UnmanagedCoder 04.05.2025
C# довольно богат готовыми решениями – NUnit, xUnit, MSTest уже давно стали своеобразными динозаврами индустрии. Однако, как и любой динозавр, они не всегда могут протиснуться в узкие коридоры. . .
Распределенная трассировка в Java с помощью OpenTelemetry
Javaican 04.05.2025
Микросервисная архитектура стала краеугольным камнем современной разработки, но вместе с ней пришла и головная боль, знакомая многим — отслеживание прохождения запросов через лабиринт взаимосвязанных. . .
Шаблоны обнаружения сервисов в Kubernetes
Mr. Docker 04.05.2025
Современные Kubernetes-инфраструктуры сталкиваются с серьёзными вызовами. Развертывание в нескольких регионах и облаках одновременно, необходимость обеспечения низкой задержки для глобально. . .
Создаем SPA на C# и Blazor
stackOverflow 04.05.2025
Мир веб-разработки за последние десять лет претерпел коллосальные изменения. Переход от традиционных многостраничных сайтов к одностраничным приложениям (Single Page Applications, SPA) — это. . .
Реализация шаблонов проектирования GoF на C++
NullReferenced 04.05.2025
«Банда четырёх» (Gang of Four или GoF) — Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес — в 1994 году сформировали канон шаблонов, который выдержал проверку временем. И хотя C++ претерпел. . .
C# и сети: Сокеты, gRPC и SignalR
UnmanagedCoder 04.05.2025
Сетевые технологии не стоят на месте, а вместе с ними эволюционируют и инструменты разработки. В . NET появилось множество решений — от низкоуровневых сокетов, позволяющих управлять каждым байтом. . .
Создание микросервисов с Domain-Driven Design
ArchitectMsa 04.05.2025
Архитектура микросервисов за последние годы превратилась в мощный архитектурный подход, который позволяет разрабатывать гибкие, масштабируемые и устойчивые системы. А если добавить сюда ещё и. . .
Многопоточность в C++: Современные техники C++26
bytestream 04.05.2025
C++ долго жил по принципу «один поток — одна задача» — как старательный солдатик, выполняющий команды одну за другой. В то время, когда процессоры уже обзавелись несколькими ядрами, этот подход стал. . .