Я не специалист по Windows и застрял при восстановлении Windows Server 2012 из моментального снимка. Я пытаюсь создать новый экземпляр виртуальной машины в Google Compute Engine - GCE из моментального снимка, который я создал из экземпляра виртуальной машины Windows Server 2012 пару недель назад. Всякий раз, когда я создаю новую виртуальную машину, я никогда не могу использовать RDP, а после прочтения руководства по устранению неполадок GCE я определил, что, возможно, Windows не загружается должным образом. Я смог просмотреть вывод последовательного порта следующим образом
SeaBIOS (version 1.8.2-20161003_105447-google)
Total RAM Size = 0x00000003c0000000 = 15360 MiB
CPUs found: 4 Max CPUs supported: 4
found virtio-scsi at 0:3
virtio-scsi vendor='Google' product='PersistentDisk' rev='1' type=0 removable=0
virtio-scsi blksize=512 sectors=314572800 = 153600 MiB
drive 0x000f3120: PCHS=0/0/0 translation=lba LCHS=1024/255/63 s=314572800
Booting from Hard Disk 0...
Он застрял в Загрузка с жесткого диска 0 ...
Я копаюсь дальше и читаю журнал последовательного порта 2 следующим образом:
Windows Boot Manager
Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
Insert your Windows installation disc and restart your computer.
Choose your language settings, and then click "Next."
Click "Repair your computer.
If you do not have this disc, contact your system administrator or computer manufacturer for assistance.
Status:
A required device isn't connected or can't be accessed.
Я подключил диск к другой машине и вижу все файлы на диске. Но ничего не может изменить, так как диск защищен от записи.
Исходная виртуальная машина, из которой я создал снимок, все еще существует, поэтому я попытался прикрепить снимок к исходному экземпляру виртуальной машины в качестве загрузочного диска, чтобы иметь такую же конфигурацию оборудования, но я не могу отсоединить диск, связанный с этим экземпляром, и это дает мне следующую ошибку.
Hot-remove of the root disk is not supported.
Я попытался создать виртуальную машину с тем же типом машины, что и до создания снимка. Но тоже не удалось.
Любые предложения о том, как создать новый экземпляр виртуальной машины из моментального снимка и правильно загрузить Windows?
После прочтения ряда статей, форумов и руководств пользователя, наконец, я смог успешно запустить экземпляр Windows VM из моментального снимка.
Проблема заключалась в загрузчике и данных конфигурации загрузки (BCD). В идеале вы используете образы для диска ОС. В моем случае ОС и данные были на одном диске, и у нас был только снимок. GCE позволяет создать новый экземпляр виртуальной машины из моментального снимка, но в моем случае экземпляр не загружался.
Следуйте пошаговому руководству, чтобы восстановить ОС / данные из снимка.
Создайте диск из моментального снимка и исправьте BCD диска, используя новый временный экземпляр виртуальной машины.
Этот экземпляр является временным, и вы можете удалить его после восстановления ОС / данных.
Из Google Cloud Console
Выбрать Compute Engine> Экземпляры ВМ и выберите СОЗДАТЬ ЭКЗЕМПЛЯР
Убедитесь, что вы выбрали ту же ОС, что и снимок. После запуска убедитесь, что вы можете выполнить удаленный рабочий стол и войти в новый экземпляр виртуальной машины.
Запишите имя экземпляра и зону, в которой он работает.
Из Google Cloud Console
Выбрать Compute Engine> Диски и выберите СОЗДАТЬ ДИСК
Убедитесь, что вы выбрали тот же размер / тип диска, что и при / перед созданием снимка, иначе Windows может выдать ошибку загрузки. Также убедитесь, что диск находится в той же зоне, что и ваш экземпляр для восстановления. Если ваш диск не находится в той же зоне, что и в вашем экземпляре, вы не сможете его подключить.
На этом шаге вы присоединяете диск (созданный на шаге 2) к экземпляру виртуальной машины (созданному на шаге 1).
Откройте Google Cloud Shell и введите следующую команду
gcloud compute instances attach-disk [INSTANCE-NAME] --disk [DISK-NAME] --zone [ZONE]
Замените переменные своим именем экземпляра, именем диска и зоной, в которой вы запускаете экземпляр.
Перейдите в Пуск> Поиск и введите diskmgmt.msc , чтобы открыть инструмент управления дисками. Если только что подключенный диск отображается как Не в сети, щелкните его правой кнопкой мыши и выберите В сети.
Убедившись, что диск подключен к сети, убедитесь, что каждому тому на диске назначена буква диска. Назначенные конкретные буквы дисков не важны. Если для какого-либо из томов не назначена буква диска, щелкните том правой кнопкой мыши и выберите «Изменить букву диска и пути», а затем «Добавить». Выберите «Назначить следующую букву диска», пусть он выберет следующую доступную букву диска, затем нажмите «ОК». Опять же, фактические используемые буквы дисков не имеют значения.
Запишите букву диска. Для меня это D: драйв.
Попробуйте создать новую папку на подключенном диске. Если ваш диск защищен от записи и вы не можете создать на нем какие-либо файлы или папки, вам необходимо отключить защиту от записи, иначе вы можете пропустить этот шаг.
Откройте командную строку с повышенными привилегиями (запустите от имени администратора) и введите
diskpart
и вы получите DISKPART> приглашение
Тип:
list volume
Система отобразит все тома с номером. Далее вам нужно выбрать громкость, набрав:
select volume #
где # - номер тома. Для меня это 1.
Затем введите следующие команды, снимите защиту от записи
attr disk clear readonly
attr volume clear readonly
attr volume clear hidden
attr volume clear shadowcopy
Выйдите из diskpart, набрав выход или закрытие окна командной строки. Откройте диск в проводнике Windows. Вы должны увидеть все свои данные и системные файлы Windows. Создайте новую папку на диске, чтобы убедиться, что диск не защищен от записи.
Если вы знакомы с командой Windows bcedit, то непременно используйте bcedit, но я использовал EasyBCD для фиксации данных конфигурации загрузки.
Загрузите и установите EasyBCD на свой экземпляр виртуальной машины восстановления из https://neosmart.net/EasyBCD
После установки откройте EasyBCD и нажмите
Файл> Выбрать магазин BCD
и диалог выбора файла под именем файла введите D: \ Boot \ BCD или любую другую букву диска, которую вы назначили на шаге 5. Система покажет вам данные конфигурации загрузки для вашего диска.
Нажмите на Кнопка Edit Boot Menu и выберите Пропустить меню загрузки и нажмите на Сохранить настройки.
Нажмите на Расширенные настройки кнопку и под Базовый вкладка нажмите на Водить машину: меню и выберите букву диска.
Обратите внимание: буква диска должна быть такой же, как в шаге 5.
Нажмите на Резервное копирование / восстановление BCD кнопку и под BCD управление варианты выбрать Восстановить / восстановить загрузочные файлы и нажмите на Выполнить действие кнопка.
Переведите диск в автономный режим, снова открыв управление дисками, щелкните диск правой кнопкой мыши и выберите Не в сети.
Теперь сверните окно RDP и введите следующую команду в Google Cloud Shell, чтобы отсоединить диск от экземпляра восстановления.
gcloud compute instances detach-disk [INSTANCE-NAME] --disk [DISK-NAME] --zone [ZONE]
Теперь вы исправили данные конфигурации загрузки диска, созданного из моментального снимка.
Теперь мы готовы развернуть экземпляр виртуальной машины и загрузить его с этого диска. Создадим экземпляр с диска
В Google Cloud Console выберите Compute Engine> Экземпляры ВМ и выберите СОЗДАТЬ ЭКЗЕМПЛЯР
Чтобы избежать проблем при первом запуске, убедитесь, что вы выбрали тот же Тип аппарата как во время / до создания снимка.
На этом этапе у вас должен быть рабочий экземпляр виртуальной машины, и вы должны иметь возможность выполнять вход по RDP.
Если вы все еще сталкиваетесь с какими-либо проблемами, просмотрите журнал последовательного порта, щелкнув экземпляр виртуальной машины в Google Cloud Console, а затем прокрутите страницу вниз или введите следующую команду в Google Cloud Shell.
gcloud compute instances get-serial-port-output [INSTANCE-NAME] --zone [ZONE]