Невозможно загрузиться после изменения размера жесткого диска VHD в VirtualBox

Невозможно загрузиться после изменения размера жесткого диска VHD в VirtualBox

В Windows 7 я настроил еще одну виртуальную машину Windows 7 в VirtualBox. Она отлично работала. Затем мне нужно было увеличить размер vhd HD. Поэтому я использовал утилиту VBoxManage, чтобы сделать это, со следующим комментарием:

VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000

Затем я попытался снова запустить виртуальную машину, но она не загружается и выдает следующую ошибку:

FATAL: Загрузочный носитель не найден! Система остановлена.

Затем я попытался посмотреть, что происходит внутри VHD, и попытался подключить его в диспетчере устройств, но там написано, что он не может быть подключен, потому чтоФайл или каталог поврежден и нечитаем.

Есть идеи, что пошло не так, и как мне сохранить мою виртуальную машину внутри этого VHD-файла?

решение1

К сожалению, документация VirtualBox для параметра VBoxManage --resize вводит в заблуждение. Вы не можете просто увеличить размер образа диска и заставить все работать правильно. Информация о разделах диска в образе должна быть скорректирована так, чтобы гостевая операционная система знала структуру «диска», который имитирует образ диска. Вы выполняете эту настройку, загружая образ загрузочного компакт-диска с редактором разделов и загружая виртуальную машину с этого компакт-диска. Затем вы используете редактор разделов, чтобы скорректировать разделы образа диска для использования добавленного пространства.

Есть хорошее описание процедурыздесь; просто перейдите к шагу 4.

решение2

У меня была такая же проблема

  1. создать новый VHD нужного размера
  2. Используйте clonhd для копирования со старого vhd на новый vhd

Ссылка :http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/

решение3

У меня была та же проблема, и мне удалось получить данные с помощьюGPartedLiveCD

  1. Создайте новый VHD для получения скопированных данных (создайте разделы и отформатируйте)
  2. Загрузите GParted LiveCD и загрузитесь на VirtualBox
  3. Выберите устройство -> Попытаться восстановить данные
  4. Нажмите «ОК» и после сканирования нажмите «Просмотр» (это позволит смонтировать /tmp/gparted-roview-XXXXXX)
  5. На терминале смонтируйте второй VHD (sudo mount /dev/sdb1 /mnt)
  6. Скопируйте файлы (sudo cp -R /tmp/gparted-roview-XXXXXX/* /mnt

После этого вы можете выключить виртуальную машину и смонтировать VHD в диспетчере устройств Windows.

решение4

Стоит отметить, что у меня возникла точно такая же проблема, которая возникла из-за того, что я выполнил команду modifyhd во время работы гостя. В официальной документации ничего не говорится о том, что сначала нужно удалить снимки и что гостя нужно остановить.

Мой план состоял в том, чтобы изменить размер диска во время работы машины, поскольку у меня динамический том, который также можно было бы увеличить на лету. Однако это была плохая идея, так как я перезагрузил машину, чтобы получить полный размер диска, и остался в неведении с поврежденным образом, который я не мог восстановить даже с помощью testdisk. Testdisk находит разделы, но файловая система сильно повреждена и не подлежит восстановлению.

Поэтому имейте в виду:

  1. Объединить все снимки в базовый образ
  2. Выключите гостевую ОС.

Я повторил процедуру на своей машине с резервным образом и выключенной гостевой ОС. Это работает хорошо.

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