В Windows 7 я установил другую виртуальную машину Windows 7 в VirtualBox. Это работало отлично. Затем мне нужно было увеличить размер VHD HD. Итак, я использовал утилиту VBoxManage для этого со следующим комментарием:
VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000
Затем я попытался снова запустить виртуальную машину, но она не может быть загружена и выдает следующую ошибку:
FATAL: не найдено загрузочного носителя! Система остановлена.
Затем я попытался увидеть, что происходит внутри виртуального жесткого диска, и попытаться подключить его в диспетчере устройств, и он сказал, что он не может быть прикреплен, поскольку файл или каталог повреждены и не читаются .
Любая идея, что пошло не так и как я могу сохранить свою виртуальную машину в этом файле VHD?
windows-7
windows
virtualbox
virtualization
vhd
tugberk
источник
источник
Ответы:
К сожалению, документация VirtualBox для опции VBoxManage --resize вводит в заблуждение. Вы не можете просто увеличить размер образа диска и заставить все работать правильно. Информация о разделе диска в образе должна быть скорректирована таким образом, чтобы гостевая операционная система знала расположение «диска», который имитирует образ диска. Вы выполняете эту настройку, загружая образ загрузочного компакт-диска, на котором есть редактор разделов, и загружая виртуальную машину на этот компакт-диск. Затем вы используете редактор разделов, чтобы настроить разделы образа диска для использования дополнительного пространства.
Там хорошая рецензия процедуры здесь ; просто перейдите к шагу 4.
источник
modifyhd
неисправен привод?У меня была такая же проблема
Ссылка: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/
источник
У меня была такая же проблема, и мне удалось получить данные с помощью GParted LiveCD
После этого вы можете выключить виртуальную машину и смонтировать виртуальный жесткий диск в диспетчере устройств Windows.
источник
Здесь они объясняют проблему (на испанском)
Резюме:
а. «vboxmanage modifyhd (resize)» генерирует ошибку во многих системах (версии Windows NT5, 9x, Server и x86). В результате получается поврежденный раздел, который очень трудно восстановить.
б. Вам необходимо выполнить «vboxmanage modifyhd (resize)» (чтобы изменить размер VDI) в пути, который содержит все файлы и папки, связанные с VDI. Посмотрите на изображение
Рекомендация:
Замените "vboxmanage modifyhd" на "vboxmanage clonehd"
Создайте новый виртуальный диск VDI (с размером, который вы хотите расширить). Пример: Old.vdi имел 50 ГБ. New.vdi создать его с 100 ГБ
VBoxManage createhd - имя файла /path/New.vdi - размер 100000
Клонируйте его с помощью следующей команды:
vboxmanage clonehd /path/Old.vdi /path/New.vdi - существующий
Примечание : оба VDI не должны находиться на одном пути
источник
Стоит отметить, что у меня возникла та же проблема, из-за которой я выполнил команду modifyhd во время работы гостя. Официальная документация ничего не говорит о том, что вы должны сначала удалить снимки, и что этот гость должен был быть остановлен.
Мой план состоял в том, чтобы изменить размер диска во время работы машины, потому что у меня есть динамический том, который также можно увеличить на лету. Тем не менее, это была плохая идея, так как я перезагрузил компьютер, чтобы получить полный размер диска, который я оставил в темноте с поврежденным образом, который я не смог восстановить даже без testdisk. Testdisk находит разделы, но файловая система сильно повреждена и не может быть восстановлена.
Так что имейте в виду:
Я повторил процедуру на своем компьютере с резервным образом и отключением гостевой системы, это работает хорошо.
источник
Мне удалось восстановить изображение, которое было сломано этой ошибкой. В отличие от Эдисона gparted живое изображение ничего не нашло. Вот что я сделал:
Во-первых, поскольку поддержка VBD для VBD, по-видимому, глючит и ужасна, начните с преобразования VHD в VDI с помощью
VBoxManage clonehd foo.vhd --format vdi foo.vdi
. Когда я пропустил этот шаг, я смог восстановить файлы из образа, но после нескольких перезагрузок он снова «сломался». Я предполагаю, что ошибка действительно испортила VHD-файл таким образом, что в дальнейшем I / O «ломает» его ... VBox, похоже, не имеет этих проблем с VDI, поэтому я отказался от VHD.Загрузитесь в WinPE, среду предустановки Windows. Как это сделать может быть статья сама по себе. Если вы не знакомы с этим, вот ярлык: загрузитесь с установочного DVD-диска Windows (Vista или выше) и нажмите shift-F10, как только появится графический интерфейс, он выдаст вам командную строку.
Загрузите тестовый диск , найдите способ вставить его в образ WinPE (или подойдет простая флешка USB) и запустите его из среды WinPE. (Примечание: в WinPE отсутствует WOW64, 32-битный уровень совместимости для 32-битных приложений. Поэтому для моей 64-битной установки WinPE требовался 64-битный двоичный файл тестового диска.)
Тестдиск нашел разделы и восстановил их.
На этом этапе файлы были восстановлены, но загрузчик не удалось из-за нескольких проблем. Во- первых я использовал ,
diskpart
чтобы отметить раздел как активный (list disk
,sel disk <disk number>
,sel par 0
,active
). Дальше, не загрузится. Вернулся в WinPE и удалил\boot
, затем побежалbcdboot C:\windows /s C:
переустанавливать загрузчик.В конце я побежал,
chkdisk /R
чтобы убедиться, что изображение было в порядке. Прошло несколько часов, проблем не нашлось.источник
У меня была та же проблема, GParted вообще не распознавал разделы, и это было показано как нераспределенное пространство. В этот момент я понял, что данные могли быть потеряны.
Потом я вспомнил использование testdisk для поиска потерянных разделов на жестких дисках, так почему бы не попробовать его на виртуальных дисках? и это сработало.
Надеюсь, это кому-нибудь поможет.
источник