В 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
У меня была такая же проблема
- создать новый VHD нужного размера
- Используйте clonhd для копирования со старого vhd на новый vhd
Ссылка :http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/
решение3
У меня была та же проблема, и мне удалось получить данные с помощьюGPartedLiveCD
- Создайте новый VHD для получения скопированных данных (создайте разделы и отформатируйте)
- Загрузите GParted LiveCD и загрузитесь на VirtualBox
- Выберите устройство -> Попытаться восстановить данные
- Нажмите «ОК» и после сканирования нажмите «Просмотр» (это позволит смонтировать /tmp/gparted-roview-XXXXXX)
- На терминале смонтируйте второй VHD (sudo mount /dev/sdb1 /mnt)
- Скопируйте файлы (sudo cp -R /tmp/gparted-roview-XXXXXX/* /mnt
После этого вы можете выключить виртуальную машину и смонтировать VHD в диспетчере устройств Windows.
решение4
Стоит отметить, что у меня возникла точно такая же проблема, которая возникла из-за того, что я выполнил команду modifyhd во время работы гостя. В официальной документации ничего не говорится о том, что сначала нужно удалить снимки и что гостя нужно остановить.
Мой план состоял в том, чтобы изменить размер диска во время работы машины, поскольку у меня динамический том, который также можно было бы увеличить на лету. Однако это была плохая идея, так как я перезагрузил машину, чтобы получить полный размер диска, и остался в неведении с поврежденным образом, который я не мог восстановить даже с помощью testdisk. Testdisk находит разделы, но файловая система сильно повреждена и не подлежит восстановлению.
Поэтому имейте в виду:
- Объединить все снимки в базовый образ
- Выключите гостевую ОС.
Я повторил процедуру на своей машине с резервным образом и выключенной гостевой ОС. Это работает хорошо.