Ошибка 0xc000007b windows server

Ошибка 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 или смене настроек.

Чаще всего я сталкивался с ошибкой 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 контроллером
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

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. Выгрузите куст реестра и перезагрузите компьютер.

Решение для 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»Восстановление Windows Server 2008 - STOP 0x0000007B
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
+ Ошибка 80072EFE обновления в Windows
+ Замена материнской платы без переустановки Windows

_

Теги: soft windows server 2008 восстановление teredo netplwiz hiber c8000222 0000007b

I am setting up Apache 2.4 on 64-bit Windows Server 2008 R2. I downloaded the 32-bit zip from Apache Lounge and unzipped, also installed VC10 SP1.

Then, when I tried to run httpd.exe, I got an error:
The application failed to initialize properly(0xc000007b)

The same thing worked on my 64-bit Win7.

Any insights?


EDIT

Ran Depency Walker on httpd.exe. Missing dependencies are:

  • IESHIMS.DLL
  • MF.DLL
  • MFPLAT.DLL
  • MFREADWRITE.DLL
  • WLANAPI.DLL

IESHIMS.DLL: This is also missing in my Win7 httpd. Don’t think is the problem.
WLANAPI.DLL: Go to Control Panel > Administrative Tools > Server Manager > Features (left panel) > Add Feature > check Wireless LAN Services to enable it. After that, wlanapi.dll is in the system32 folder.
The rest: These are related to «Media Foundation», but I don’t know how to install/enable.
(edit: Some say installing «Desktop Experience» will include Media Foundation, will test)


EDIT2

Apache 2.2 from apache.org is also missing those dlls but runs perfectly fine on the server!!

So, it’s not a dependency problem…

The main problem, of course, is that a DLL file is missing, or, even more likely, corrupt. If this is the case, then I have some pretty good ideas (especially if you’ve downloaded and installed a DLL manually!)…

TLDR: Delete every manually copy/pasted DLL you’ve done, uninstall old redistributable installs, and reinstall new redistributables for both 32-bit and 64-bit installs.

What To Do

This solution of copying/pasting missing DLL’s into system32, etc., used to work since I can remember in the 1990’s, but it doesn’t seem to work anymore (2020). So if you run into this problem recently, I suggest:

  • Within windows\system32 and windows\SysWOW64, delete all files that match ms*.dll, that the operating system will allow you delete as admin.
  • Uninstall all Visual C++ Redistributables that you have with Windows. This prevents the «You already have this!» dialogue showing up upon reinstall, as detailed in the next step when we re-install.
  • Reinstall the 2015-2019 Visual C++ Redistributable from a regularly available download site. If this does not work, download and install the others, but personally, the 2015-2019 covered everything for me. Regardless of your machine, install both x32 and x64 packages! (All Download Links: Collected VC++ Download Links; MSVCR120.dll Fix; MFC140U.dll Fix.)

How You Know It’s Working

There’s a lot of variation in coders experiencing this, so, the idea that there’s one single, possible solution is often discarded, but let’s be positive!

  • If deleting the matching ms*.dll files worked, then you will no longer get an error about error code 0xc000007b. Instead, you’ll get a message about a missing .dll. This tells you that you’re hitting the right code path!
  • If installing the redistributable works, then certain popular, DLL files should appear in the above-mentioned system32 and SysWO64 folders. For instance: MSVCR120.dll, MSVCR140.dll, MSVCR100.dll, MSVCP100.dll, MSVCP120.dll, MSVCP140.dll, and friends.

Last, Possible Best Chances

Sometimes things don’t work according to plan (as we all in the Windows world know). You can also try the following!

  • Open the «Turn Windows Features on or off» tab in Windows (supported in Windows 8-10). Uncheck the .NET Framework installations. You’ll see a small installation go by.
  • Restart the system. Go to the above feature again, recheck .NET Framework, and click «okay». If this works, you’ll see a «installing and updating .NET framework» message that takes maybe a minute or so to go by. Once this is done, I recommend a reboot again.

Good luck!

На чтение 3 мин Просмотров 18 Опубликовано

При замене оборудования компьютера или сервера, восстановлении из бэкапа или при миграции физического хоста в среду виртуализации (P2V), при первом запуске Windows Server 2008 R2 / Windows 7 может появиться синий экран BSOD с ошибкой 0x0000007B.

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

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

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

  1. При восстановлении ОС из бэкапа на другой физический компьютер иди виртуальную машину Hyper-V, VMware или VirtualBox (как частный случай восстановление из Bare Metal Recovery на другое железо).
  2. При миграции физической системы с помощью создании образа компьютера (например, с помощью disk2vhd) и разворачивании из этого vhd образа новой виртуальной машины.
  3. При переключении режима работы SATA контроллера в BIOS с AHCI на IDE, или наоборот.
  4. При замене материнской платы и / или контроллера жесткого диска.

В моем случае проблема возникла при миграции физического сервера с Windows Server 2008 R2 в среду VMWare. При первой загрузке ВМ появился синий экран.

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

Исправляем BSOD 0x0000007B при загрузке Windows 7 / Windows Server 2008 R2

Для исправления проблемы, нужно загрузиться с установочного диска Windows (не ниже Windows 7 / 2008 R2) или загрузочного диска (например, DART). В случае использования установочного диска на первом экране начала установки (выбор языка и раскладки клавиатуры) нажмите сочетание клавиш Shift+F10. Откроется окно командной строки, в котором нужно выполнить команду:

Regedit.exe

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

Таким образом вы смонтируете (например, под именем local_hkey) в редактор реестра куст реестра вашей системы с жесткого диска.

Исправляем BSOD 0x0000007B при загрузке Windows 7 / Windows Server 2008 R2

В загруженной ветке перейдите в раздел HKEY_LOCAL_MACHINElocal_hkeyControlSet001services.

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

  • Atapi
  • Intelide
  • LSI_SAS

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

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

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

Исправляем BSOD 0x0000007B при загрузке Windows 7 / Windows Server 2008 R2

Для сохранения изменений в файле реестра на диске нужно встать на раздел

HKEY_LOCAL_MACHINElocal_hkey и в меню выбрать Unload Hive.

Исправляем BSOD 0x0000007B при загрузке Windows 7 / Windows Server 2008 R2

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

В случае VMWare останется только установить VMWare Tools.

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

Служба Windows Виртуальная машина VMWare Физический ПК с 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

Понравилась статья? Поделить с друзьями:
  • Ошибка 0xc000007b windows 7 при включении компьютера
  • Ошибка 0xc0000051 windows 7 синий экран
  • Ошибка 0xc0000022 при запуске игры на виндовс 7
  • Ошибка 0xc000007b windows 10 при запуске компьютера
  • Ошибка 0xc0000050 windows 7 синий экран