Восстановление файлов с сломанной машины Virtualbox .vdi

В моем Ubuntu 12.04.1, работающем на virtualbox, не хватило места, когда я устанавливал на него программное обеспечение, и теперь он не перезагружается . У меня есть файлы, которые мне нужно восстановить. У меня есть файл ubuntu64.vdi на моем ноутбуке с Windows 7 (хост), и мне было интересно, есть ли способ восстановить файлы из файла vdi.

Параллельно я сгенерировал новую машину 12.04.1 на виртуальной машине на том же ноутбуке, и я буду использовать эту машину вместо обычной.

Я могу добавить растоптанный vdi к списку дисков в рабочем. Затем я использовал gnome nautilus, чтобы смонтировать разорванный диск.

Я могу найти там файлы, но им около 2 месяцев. Я думаю, что это совпадает с прошлым разом, когда я делал снимок виртуальной коробки машины, но не последний раз, когда я получил рабочую машину, которая была вчера. Есть ли какой-нибудь способ смонтировать vdi со вчерашнего дня, непосредственно перед тем, как он рухнул?

РЕДАКТИРОВАНИЕ:

Вот что Virtual Media Manager говорит мне о моем файле ubuntu64.vdi: enter image description here

РЕДАКТИРОВАНИЕ2:

Я скопировал свой ubuntu.vdi на внешний USB с большим количеством дискового пространства. Я попытался использовать Windows для его клонирования, но получил ошибку:

enter image description here

Я попытался сделать то же самое с рабочей виртуальной машины через общую папку 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

РЕДАКТИРОВАНИЕ3:

После создания необработанного файла я запускаю testdisk с Deeper Search, я получаю список, подобный этому: enter image description here

Атер Deeper Search закончил, я получаю список вроде этого:

enter image description here

Но я не знаю, какой какой снимок ... Есть идеи?

25
задан 13 April 2017 в 15:23

4 ответа

У меня была повреждена система Linux at / и fsck не может исправить это . Я использовал следующий простой подход:

  1. Добавьте новый замещающий VDI на машину.
  2. Загрузите новый Linux ISO.
  3. Загрузите и установите новый Linux на диск, который вы добавили в (1).
  4. Смонтируйте диск в новой системе и скопируйте нужные файлы. Обычно это означает копирование папки / home / user / . Не забудьте скопировать скрытые файлы (файлы настроек).

У меня сработало. Повреждение диска только мешало загрузке, в моей домашней папке не было потери данных.

1
ответ дан 13 April 2017 в 15:23

1) Попробуйте восстановить снэпшот по UUID, используя следующий хак:

  • выберите UUID состояния, которое вы хотите восстановить.
  • Откройте файл .xml, желательно в утилите (работает Internet Explorer), которая позволяет легко перемещаться по XML-файлу.
  • В ОЧЕНЬ БОТТОМ, в разделе Контроллеры хранилища, найдите UUID текущего состояния и обратите внимание на StorageController name=, type= и AttachedDevice type=, port= и device= settings.
  • Посередине найдите нужный снимок.
  • В разделе "Контроллеры хранения" снимок найдите AttachedDevice со значениями (имя/тип/тип/порт/устройство), которые совпадают со значениями, полученными выше.
  • UUID этого образа идентифицирует образ Snapshot (снимок) для жесткого диска. Удалите {} скобки, и

введите команду C:> VBoxManage clonehd CloneDisk.vdi

Надеюсь, это поможет, я нашел решение здесь: (https://forums.virtualbox.org/viewtopic.php?t=791)

2) если шаги в 1) не работают, то есть еще несколько шагов, которые можно попробовать. Как клонировать текущее состояние диска:

  • Откройте Менеджер виртуальных медиа (Меню: Файл>Менеджер виртуальных медиа).
  • Перейдите на жесткий диск, который хотите клонировать, и полностью разверните дерево (используйте * клавишу на цифровой клавиатуре).
  • Найдите файл {hexUUID}.vdi, который прикреплен к ВМ, которую вы хотите клонировать, текущее состояние которой вы хотите клонировать. Это будет (один из) файл листа в конце ветки. При его выборе в нижней части окна будет написано: 'Attached to:' (Прикреплен к:): ', без имени (снимка) в скобках после него.
  • Щелкните по имени файла справа от "Location:", отображаемого в нижней части окна.
  • Ctrl+C / Копировать, чтобы скопировать текст в буфер обмена, который будет выглядеть примерно так: (путь){b6441469-5ccb-418c-8fdd-73c5e1a17314}.vdi
  • Ctrl+V /Вставить и извлечь значение hexUUID (убирая скобки {}) и запустить клонэд, чтобы клонировать его!

Thi solution is from here: (http://www.i-m-code.com/blog/blog/2012/02/04/virtualbox-clone-snapshots/) Оба говорят об одном и том же.

5
ответ дан 13 April 2017 в 15:23

из командной строки

В случае, если мы используем Ubuntu в качестве хоста, мы сможем преобразовать наш . vdi диск на необработанный диск с помощью следующей команды:

VBoxManage clonehd <sourcename> <clone.raw> --format RAW

Мы можем открыть testdisk Install testdisk с этим файлом для восстановления файлов образа виртуального диска (также см. ниже):

testdisk <clone.raw>

виртуальной машины

В случае, если сломанный образ диска VDI все еще зарегистрирован в Virtual Box, мы можем добавить этот образ в качестве диска к нашей новой виртуальной машине:

enter image description here

Запустите вашу виртуальную Ubuntu, к которой мы добавили сломанный образ. vdi but не монтируйте диск.

  1. Создайте каталог на смонтированном разделе для хранения собранных данных (например, ~/cued),

  2. Установите testdisk Install testdisk на виртуальную машину.

  3. Запустите тестовый диск с терминала там:

    sudo testdisk
    
  4. Выберите соответствующий диск для сбора данных (здесь показан для /sdb) и выберите [Продолжить]

    enter image description here

  5. Выберите соответствующую структуру разделов (обычно Intel)

  6. Выберите [Анализировать] - [Быстрый поиск]

  7. Выберите раздел, содержащий данные для сбора (здесь присутствовал только один раздел NTFS):

    enter image description here

  8. Нажмите P , чтобы перечислить файлы на этом партитоне.

  9. Перейдите в каталог, содержащий данные. Просмотрите имена файлов, чтобы убедиться, что Вы выбрали правильные.

  10. Выберите каталоги или файлы для сбора данных, используя : . Все выбранные файлы/директории будут помечены зеленым цветом:

    enter image description here

  11. Нажмите верхний регистр C , чтобы скопировать все выбранные каталоги/файлы в каталог восстановления, который будет выбран на следующем шаге.

  12. Выберите каталог на смонтированном в Ubuntu VM разделе(ах), чтобы сохранить сохраненные данные:

    enter image description here

  13. Нажмите c , чтобы начать копирование данных из сломанной. vdi в наш каталог спасения в здоровой ВМ.

Примечания:

  • В случае, если мы не видим наши файлы с опцией [Быстрый поиск] в 6. нам, возможно, придется выполнить [Глубокий поиск]. При этом будут также перечислены ранее удалённые и перезаписанные разделы. Поэтому нам необходимо убедиться, что мы выбрали соответствующие разделы, на которых находятся наши данные.

  • Если бы мы сделали снимки из .vdi, мы могли бы найти их в ~/.VirtualBox/Machines//Snapshots/{###}.vmdk, но всякий раз, когда мы использовали функцию снимка Virtual Box, любые изменения из снимка будут записаны в дифференциальный файл.

    Для объединения дифференциального файла с жестким диском нам нужно удалить все снимки (что, вероятно, не то, что нам нужно, так как тогда мы могли бы просто восстановить предыдущий снэпшот, а не вызывать восстановление данных), или нам нужно клонировать диск машины, используя:

    VBoxManage clonehd  .
    

    После этого мы связываем клон к нашей VM спасения как изображено выше.

  • Запись к сломанному .vdi должна быть сделана только после того как данные были безопасны по мере того как это может далее повредить файловую систему.

  • В случае если наше спасение Ubuntu слишком мало для того чтобы держать спасенные данные мы можем создать другой новый виртуальный привод для того чтобы связать к VM. Затем этот диск должен быть смонтирован в ВМ, чтобы иметь возможность сохранять данные из тестдиска там.

21
ответ дан 13 April 2017 в 15:23

Нашел, что мой поврежденный файл vdi можно восстановить с помощью 7-Zip , надеюсь, этот простой метод тоже кому-то помогает.

1
ответ дан 5 January 2021 в 23:12

Другие вопросы по тегам:

Похожие вопросы: