На моем Ubuntu 12.04.1, работающем на virtualbox, не хватило места, пока я устанавливал на него программное обеспечение, и теперь оно не перезагружается . У меня есть файлы, которые мне нужно восстановить. У меня есть ubuntu64.vdi
файл на моем ноутбуке с Windows 7 (хост), и мне было интересно, есть ли способ восстановить файлы из файла vdi.
Параллельно я сгенерировал новую машину 12.04.1 на виртуальной машине на том же ноутбуке, и я буду использовать ее вместо загруженной.
Я могу добавить занесенный vdi
в список дисков на рабочем. Затем я использовал gnome nautilus, чтобы смонтировать разорванный диск.
Я могу найти там файлы, но им около 2 месяцев. Я думаю, что это совпадает с прошлым разом, когда я делал снимок виртуальной коробки машины, но не последний раз, когда я получил рабочую машину, которая была вчера. Есть ли способ установить vdi
как вчера, непосредственно перед тем, как он рухнул?
Отредактированный:
Вот что Virtual Media Manager
говорит мне о моем ubuntu64.vdi
файле:
EDITED2:
Я скопировал мой ubuntu.vdi
на внешний USB с большим количеством дискового пространства. Я пытался использовать Windows для клонирования, но получил ошибку:
Я попробовал то же самое с рабочей виртуальной машины через общую папку USB-накопителя, и она начала клонирование. Прошло много времени, но закончилось успешно:
root@precise64:/media/sf_E_DRIVE/copy_of_ubuntu64_vm_folder_20140224/ubuntu64#
VBoxManage clonehd ubuntu64.vdi ubuntu64.raw --format RAW
0%...
10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'RAW'. UUID: 90f99198-18e1-40ee-85fe-c083dcbb1ac3
EDITED3:
После создания файла необработанного, я бегу testdisk
с Deeper Search
, я получаю список , как это:
Атер Deeper Search
закончил, я получаю список вроде этого:
Но я не знаю, какой именно снимок ... Есть идеи?
источник
rsync
.Vboxmanage clonehd 2208...
(скопируйте самый последний UUID здесь). См. Serverfault.com/a/506581/195528Ответы:
Из командной строки
Если мы используем Ubuntu в качестве хоста, мы можем преобразовать наш .vdi диск в сырой диск с помощью следующей команды:
Затем мы можем открыть тестовый диск с этим файлом, чтобы восстановить файлы на образе виртуального диска (также см. Ниже):
Виртуальной машины
Если поврежденный образ диска VDI все еще зарегистрирован в Virtual Box, мы можем добавить этот образ в качестве диска на нашу новую виртуальную машину:
Запустите виртуальную Ubuntu, в которую мы добавили сломанный .vdi, но не монтируем диск .
Создайте каталог на смонтированном разделе для хранения собранных данных (например
~/rescued
),Установите тестдиск на виртуальной машине.
Запустите там тестдиск с терминала:
Выберите подходящий диск для сбора данных (здесь показано для
/sdb
) и выберите[Proceed]
Выберите подходящий макет раздела (обычно
Intel
)Выберите
[Analyse]
-[Quick Search]
Выберите раздел, содержащий данные для сбора (здесь присутствовал только один раздел NTFS):
Нажмите, P чтобы просмотреть файлы этого раздела.
Перейдите в каталог, содержащий данные. Просмотрите имена файлов, чтобы убедиться, что вы выбрали правильные.
Выберите каталоги или файлы для сбора урожая, используя : . Все выбранные файлы / каталоги будут отмечены зеленым:
Нажмите верхний регистр, C чтобы скопировать все выбранные каталоги / файлы в каталог восстановления, который будет выбран на следующем шаге.
Выберите каталог на смонтированных разделах вашей виртуальной машины Ubuntu для хранения восстановленных данных:
Нажмите, c чтобы начать копирование данных из испорченного .vdi в наш каталог восстановления в вашей здоровой виртуальной машине.
Заметки:
В случае, если мы не можем видеть наши файлы с
[Quick Search]
опцией в 6. нам, возможно, придется выполнить[Deeper Search]
. Это также перечислит предыдущие удаленные и перезаписанные разделы. Поэтому нам нужно убедиться, что мы выбрали соответствующие разделы, в которых находятся наши данные.Если мы сделали снимки .vdi, мы можем их найти,
~/.VirtualBox/Machines/<Name of Machine>/Snapshots/{###}.vmdk
но всякий раз, когда мы использовали функцию снимка Virtual Box, любые изменения снимка будут записываться в дифференциальный файл.Чтобы объединить дифференциальный файл с жестким диском, нам нужно удалить все снимки (что, вероятно, не то, что нам нужно, так как тогда мы могли бы просто восстановить предыдущий снимок, а не вызывать восстановление данных), или нам нужно клонировать диск машины, используя:
Затем мы связываем клон с нашей спасательной виртуальной машиной, как показано выше.
Запись в поврежденный .vdi должна выполняться только после того, как данные были в безопасности, так как это может привести к дальнейшему повреждению файловой системы.
В случае, если наша спасательная Ubuntu слишком мала для хранения восстановленных данных, мы можем создать еще один новый виртуальный диск для привязки к ВМ. Затем этот диск должен быть смонтирован в виртуальной машине, чтобы иметь возможность сохранять данные с тестового диска там.
источник
Deeper Search
чтобы просмотреть это снова.Deeper Search
, и через пару часов снова просмотрел содержимое, которое я хотел восстановить: они все еще указывают на версию виртуальной машины летом 2013 года, а не просто монтировали раздел с помощью gnome nautilus, который давал мне январь 2014 версия, но до сих пор не удалось найти файлы двух дней назад.1) Попробуйте восстановить снимок по UUID, используйте следующий хак:
введите команду
C:> VBoxManage clonehd <UUID> CloneDisk.vdi
Надеюсь, это поможет, я нашел решение здесь: ( https://forums.virtualbox.org/viewtopic.php?t=791 )
2) если шаги в 1) не работают, вот другие шаги, которые вы можете попробовать. Как клонировать текущее состояние диска:
Это решение отсюда: ( http://www.im-code.com/blog/blog/2012/02/04/virtualbox-clone-snapshots/ ) Оба говорят в основном об одном и том же.
источник
У меня была повреждена система Linux,
/
и яfsck
не мог это исправить . Я использовал следующий простой подход:/home/user/
папки. Не забудьте скопировать скрытые файлы (файлы настроек).Хорошо сработало для меня. Повреждение диска только мешало загрузке, в моей домашней папке не было потери данных.
источник