Использование VHD, включающего моментальные снимки в новой виртуальной машине

Использование VHD, включающего моментальные снимки в новой виртуальной машине

У нас есть то, что, как я надеюсь, можно исправить. У нас был сбой диска, и экспорт/резервное копирование VM и VHD, как оказалось, не удалось выполнить на полпути (и, конечно, никто не проверял журналы). Так что нет чистого способа это сделать. Мы потеряли программу Hyper-V и все файлы, которые она имела для конфигурации.

Это на Windows 11 (последняя версия). Все на одном компьютере, то, что мы потеряли, — это SSD на компьютере. Диск, который умер, был диском C:, поэтому мы потеряли всю установку Hyper-V, реестр, папку AppData и т. д.

У нас все еще есть файлы VM и VHD. Данные. Они находятся на диске D:. А нам нужен виртуальный диск. Если мы вернем VM, это будет здорово. Но я могу создать новую VM. Но мне нужны эти данные на VHD.

У виртуальной машины было около 10 контрольных точек, поэтому в Hyper-V дерево контрольных точек представляло собой нисходящую серию узлов, каждый из которых имел одного потомка. И у этого потомка был один потомок. И...

Я создал новую виртуальную машину и указал ей файл VHDX. Не повезло. При включении питания она сказала, что не может найти загрузочный носитель. Вот файлы, которые у меня есть:

VHD

введите описание изображения здесь

ВМ

введите описание изображения здесь

Снимки

введите описание изображения здесь

Есть ли способ восстановить это? Я не очень хорошо знаю Hyper-V, но предполагаю, что коллекция файлов VHD содержит образ диска. Но как заставить Hyper-V использовать все это?

решение1

Есть большая вероятность, что данные теперь испорчены. VHDX служит корнем всех файлов AVHDX. Если подключиться к нему и попытаться загрузиться с него, изменив хотя бы один бит, то все дочернее дерево AVHDX будет испорчено. Существуют сторонние инструменты восстановления данных, но невозможно сказать, какова будет ваша удача с ними.

В будущем вам следует просто попробовать переустановить Hyper-V и запустить импорт виртуальной машины, указав корневую папку виртуальной машины. Импорт может выяснить статус снимка и автоматически собрать воедино дерево снимков. Хотя я и сомневаюсь, что вы сможете что-либо восстановить, вы должны хотя бы попробовать это с тем, что у вас есть сейчас. Он должен быть в состоянии, по крайней мере, обнаружить виртуальную машину. Он попытается подключиться к тому, что определит как активную виртуальную машину, которая, в свою очередь, будет иметь ссылку на последний активный AVHDX. Затем он будет следовать своему родительскому дереву вплоть до корневого VHDX. Если вам повезло, что попытка присоединения и загрузки ничего не изменила, то все просто заработает. Затем вы можете удалить все снимки, и Hyper-V сам все объединит и выровняет.

Если вы хотите попытаться восстановить весь VHDX из составных файлов VHDX и AVHDX, то вам нужно будет запустить каждый AVHDX черезПолучить-VHD. У каждого будетРодительскийПутьсвойство: Вывод Get-VHD с выбранным ParentPath

Найдите AVHDX, у которого нет других AVHDX, указывающих на него как на родительский. Это будет последний в цепочке. Двигайтесь в обратном порядке, пока не узнаете всю цепочку в обратном порядке. Вы, вероятно, можете работать по дате изменения, но ParentPath — более надежный индикатор. После слияния вы не сможете вернуться назад, поэтому сделайте это правильно с первого раза. Команда merge не проверяет, есть ли у файла на диске, с которым вы работаете, собственный дочерний элемент. Если у него есть родительский элемент, он объединит его с этим родителем, фактически оставив осиротевшими все дочерние элементы, которые у него есть. Вы можете повторно сделать осиротевший VHDX родительским с помощьюУстановить-VHD, но это просто означает дополнительную хлопотную работу, и вам нужно знать, кто является новым родителем, или вам придется просматривать имеющиеся на диске файлы по одному, пока не получится правильно.

Как только вы узнаете родительский порядок, используйтеMerge-VHD, начиная с бездетного AVHDX.

Merge-VHD -Path childless.avhdx

образец Merge-VHD

В случае успеха это автоматически удалит объединенный дочерний AVHDX. Переходите к следующему в вашем списке.

В этом случае я подозреваю, что окончательное слияние не удастся, так как VHDX, вероятно, был изменен и его потомок больше не выравнивается. Но вы не узнаете, пока не попробуете.

Связанный контент