Ошибка 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
- Выгрузите куст реестра и перезагрузите компьютер.
Распознавание голоса и речи на 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++ долго жил по принципу «один поток — одна задача» — как старательный солдатик, выполняющий команды одну за другой. В то время, когда процессоры уже обзавелись несколькими ядрами, этот подход стал. . .
Решение для 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
Уважаемый тостер, сегодня весь день с самого утра наблюдаю подобную картину.
Есть сервак на базе windows server 2008r2, используется как терминальный сервер с документо хранилищем.
Оговорюсь сразу, ничего не устанавливалась, никакие дрова не обновлялись.
Работает минут 20-40, выдает любимый экран смерти и ребутится. И так целый день.
Работу уже перекинул временно на другой сервак, сейчас есть время поковырять этот.
Подскажите пожалуйста в чем может быть беда?
Утилита sfc ничего не выдала, все хорошо.
-
Вопрос задан
-
1520 просмотров
Всем привет сегодня расскажу, как решается ошибка 0x00000051 — Синий экран смерти, BSoD в Windows Server 2008 R2. Данная ошибка выскакивает при попытке залогиниться на сервер и возникла после проблем с RAID контроллером, которая потом при возможности зайти решилась перепрошивкой. Итак смотрим что делать для того чтобы победить данный синий экран и в будущем его не допускать, у бизнеса не должно быть простоев, так как это ведет к потере денег и бьет по репутации.
Как исправить 0x00000051
Перед этой ошибкой был выполнен chlntsfs. Вот как более наглядно выглядит BSOD. Ошибка (REGISTRY_ERROR) STOP: 0x00000051 (0x0000000000000001, 0xFFFFF8A000025010, 0x0000000000BE7000, 0x0000000000000374) и такой синий экран выскакивает сразу при логине на сервер.
Проблема тут заключается в том, что повредилась часть реестра Windows и ее нужно восстановить, в Windows 7 и дальше восстановление системы включено по умолчанию и можно воспользоваться им, но не в случае windows server где это выключено по умолчанию. К счастью в Windows 2008 R2 и дальше настроено автоматическое резервное копирование реестра каждый день, это задание делается с помощью планировщика заданий.
Переходим в меню Windows-Registry
Так как мы не можем попасть на сервер то нам нужно загрузиться в безопасном режиме с поддержкой командной строки либо с загрузочной установочной флешки где есть возможность запустить командную строку.
Решаем ошибку (REGISTRY_ERROR) STOP: 0x00000051 (0x0000000000000001, 0xFFFFF8A000025010, 0x0000000000BE7000, 0x0000000000000374)
Перезагружаем ваш сервер и жмем клавишу F8 для попадания в меню. В Меню дополнительные варианты загрузки, выбираем либо Устранение неполадок компьютера, либо Безопасный режим с поддержкой командной строки. Я для начала выберу Устранение неполадок компьютера.
Появится мастер восстановления системы, первое что нужно сделать это выбрать язык ввода пароля
Логинимся под встроенной учетной записью Администратор
Выбираем командную строку
Тоже самое будет если вы в меню Безопасный режим с поддержкой командной строки. У вас откроется окно командной строки. Пишем в нет
Откроется блокнот, в нем жмем Файл-Открыть или просто CTRL+O
в папку Windows\System32\Config. В типе файлов ставим все файлы.
Далее вам нужно создать новую папку и скопировать в нее файлы Default, Security, Software, Sam, System. Это и есть наш реестр.
Далее идем в папку RegBack и копируем оттуда все файлы в Windows\System32\Config, заменяя старые поврежденные
Затем перезагружаемся с помощью команды
После этого ошибка 0x00000051 — Синий экран смерти, BSoD в Windows Server 2008 R2 и вы успешно сможете загрузиться, и, хотя бы вытащить информацию. Но не факт, что после этих действий ваша система будет работать стабильно. Но зато вы научились восстанавливать реестр Windows, и вообще узнали, что он бэкапиться.
Материал сайта pyatilistnik.org