Table of Contents

Проблема

После очередного апдейта Windows Server 2016 виртуальная машина перестала загружаться.
При загрузке вываливался синий экран BSOD с ошибкой INACCESSIBLE_BOOT_DEVICE - 0x0000007B.

Решение

Мне удалось победить этот глюк.

  1. В гипервизоре (в моем случае - proxmox) устанавливаем тип диска, который будет доступен без дополнительных драйверов - IDE или SATA.
  2. Загружаем систему в режиме автоматического восстановления (она сама это сделает после BSOD), либо загружаемся с инсталляционного диска и в окошке с кнопкой Install now слева снизу жмем Repair your computer.
  3. Запускаем командную строку (TroubleshootCommand Prompt).
  4. В командной строке запускаем diskpart с помощью нижеприведенных команд определяем на месте ли разделы и какая сейчас буква у диска с Windows и у загрузочного раздела. Обычно достаточно list volume.
      diskpart
      list volume
      
      select disk 0
      detail disk
      list partition
      select partition 1
      detail partition
      select partition 2
      detail partition
      select disk 1
      detail disk
      list partition
      exit

    или

      bcdedit |find "osdevice"
      osdevice       partition=D: 

  5. Смотрим что файлы на месте и на всякий случай проверяем диск:

      dir d:\
      chkdsk /r d: 

  6. При необходимости - перезагружаемся опять в режим восстановления.
  7. Проверяем целостность системных файлов:

      sfc /scannow /offbootdir=d:\ /offwindir=d:\windows

  8. Чиним загрузочные компоненты:

      bootrec /fixmbr
      bootrec /fixboot
      bootrec /scanos
      bootrec /rebuildbcd

  9. На этом этапе утилита может сказать, что Total identified Windows installations: 0. Тогда делаем так (предполагая, что буква C у нас назначена загрузочному разделу):


Готово. Перезагружаемся. Убеждаемся, что все в порядке, меняем в гипервизоре тип диска на необходимый и радуемся.