У моего Ubuntu 12.04.1, работающего на виртуальном боксе, не хватило места, пока я устанавливал на него программное обеспечение, и теперь он не перезагружается. У меня есть файлы, которые мне нужно восстановить. У меня есть файл ubuntu64.vdi на моем ноутбуке Windows 7 (хост), и мне было интересно, есть ли способ восстановить файлы из файла vdi.
Параллельно я создал новый 12.04.1 машина на виртуальном боксе в том же ноутбуке, и я буду использовать этот вариант вместо того, чтобы скреститься.
Я могу добавить borked vdi в список дисков в рабочем состоянии. Затем я использовал gnome nautilus для монтирования диска borked.
Я могу найти файлы там, но им около 2 месяцев. Я думаю, что это совпадает с последним моментом, когда я сделал моментальный снимок виртуальной машины, но не в последний раз, когда я получил рабочую машину, которая была вчера.
EDITED:
Вот что Virtual Media Manager рассказывает мне о моем файле ubuntu64.vdi:
EDITED2:
Я скопировал свой ubuntu.vdi на внешний USB с большим объемом дискового пространства. Я попытался использовать Windows для клонирования, но получил ошибку:
[!d7]
Я попробовал то же самое с рабочей виртуальной машины через общую папку 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, я получаю список, подобный этому :
Ater Deeper Search закончен, я получаю список, подобный этому:
[!d15]
Но я не знаю, какой один из них - моментальный снимок ... Любые идеи?
У меня была повреждена система Linux в /, а fsck не удалось ее исправить. Я использовал следующий простой подход:
Добавить новую замену VDI на машину. Загрузите новый linux ISO. Загрузите и установите новый Linux на диск, добавленный в (1). Установите диск на новую систему и скопируйте нужные файлы. Обычно это означает копирование папки /home/user/. Не забудьте скопировать скрытые файлы (файлы настроек).Хорошо работал для меня. Повреждение диска было только препятствием загрузки, не было потери данных в моей домашней папке.
В случае использования Ubuntu в качестве хоста мы можем преобразовать наш диск .vdi в необработанный диск с помощью следующей команды:
VBoxManage clonehd <sourcename> <clone.raw> --format RAW
Мы можем затем откройте тестовый диск с этим файлом для восстановления файлов на изображении виртуального диска (см. также ниже):
testdisk <clone.raw>
Если поврежденный образ диска VDI по-прежнему зарегистрированный в Virtual Box, мы сможем добавить это изображение в качестве диска к нашей новой виртуальной машине:
Начните свой виртуальный Ubuntu, к которому мы добавили сломанный .vdi, но делаем не монтируйте диск.
Создайте каталог на смонтированном разделе, чтобы сохранить собранные данные (например, ~/rescued), установить тестовый диск на виртуальной машине. Запустите тестовый диск с терминала там:sudo testdisk
Выберите подходящий диск для сбора данных из (здесь показано для /sdb) и выберите [Proceed] Выберите подходящую компоновку разделов (обычно Intel) Выберите [Analyse] - [Quick Search] Выберите раздел, который содержит данные для сбора данных (здесь присутствовал только один раздел NTFS): Нажмите P, чтобы просмотреть файлы на этой части. Перейдите в каталог, содержащий данные. Просмотрите имена файлов, чтобы убедиться, что вы выбрали правильные. Выберите каталоги или файлы для сбора, используя:. Все выбранные файлы / каталоги будут отмечены зеленым: нажмите верхний регистр C, чтобы скопировать все выбранные каталоги / файлы в каталог спасения, который будет выбран на следующем шаге. Выберите каталог на вашем монтированном разделе (ов) Ubuntu VM для хранения данных: нажмите c, чтобы начать копирование данных из сломанного .vdi в наш каталог восстановления в вашей здоровой виртуальной машине. VBoxManage clonehd <name_of_source> <clone>
Затем мы связываем клон с нашей спасательной виртуальной машиной, как показано выше. Запись на нарушенный .vdi должна выполняться только после того, как данные были в безопасности, так как это может повредить файловую систему. Если наше спасение Ubuntu слишком мало для хранения спасенных данных, мы можем создать еще один новый виртуальный диск для привязки к виртуальной машине. Затем этот диск должен быть смонтирован на виртуальной машине, чтобы сохранить данные из testdisk. 1) Попробуйте восстановить моментальный снимок с помощью UUID, используйте следующий хак:
выберите UUID состояния, которое вы хотите восстановить. Откройте файл .xml, желательно в инструменте (Internet Explorer), который позволяет легко перемещаться по XML-файлу. В ОЧЕНЬ НИЖНЕЙ ЧАСТИ, в разделе Контроллеры хранения, найдите UUID текущего состояния и обратите внимание на значения StorageController name =, type = и AttachedDevice type =, port = и device =. В середине найдите нужный снимок. В разделе Контроллер хранилища моментального снимка найдите AttachedDevice со значениями (имя / тип / тип / порт / устройство), которые соответствуют значениям, полученным выше. Это изображение UUID определяет изображение моментального снимка для жесткого диска. Удалите скобки {} ивведите команду C:> VBoxManage clonehd <UUID> CloneDisk.vdi
Надеюсь, что это поможет, я нашел решение здесь: (https://forums.virtualbox.org/viewtopic .php? t = 791)
2) если шаги в 1) не работают, есть еще один шаг, который вы можете попробовать. Как клонировать текущее состояние диска:
выберите UUID состояния, которое вы хотите восстановить. Перейдите на жесткий диск, который вы хотите клонировать, и полностью разверните дерево (используйте * на цифровой клавиатуре). Откройте файл .xml, желательно в инструменте (Internet Explorer), который позволяет легко перемещать XML-файл. Нажмите имя файла справа от «Местоположение», отображаемое в нижней части окна. В ОЧЕНЬ НИЖНЕЙ ЧАСТИ в разделе Контроллеры хранения найдите UUID текущего состояния и обратите внимание на значения StorageController name =, type = и AttachedDevice type =, port = и device =. Ctrl + V / Вставить и извлечь значение hexUUID (удаление скобок {}) и запустить clonehd для его клонирования!Решение Thi отсюда: ( https://forums.virtualbox.org/viewtopic.php?t=791 ) Оба говорят в основном о том же.
У меня была повреждена система Linux в /, а fsck не удалось ее исправить. Я использовал следующий простой подход:
Добавить новую замену VDI на машину. Загрузите новый linux ISO. Загрузите и установите новый Linux на диск, добавленный в (1). Установите диск на новую систему и скопируйте нужные файлы. Обычно это означает копирование папки /home/user/. Не забудьте скопировать скрытые файлы (файлы настроек).Хорошо работал для меня. Повреждение диска было только препятствием загрузки, не было потери данных в моей домашней папке.
В случае использования Ubuntu в качестве хоста мы можем преобразовать наш диск .vdi в необработанный диск с помощью следующей команды:
VBoxManage clonehd <sourcename> <clone.raw> --format RAW
Мы можем затем откройте тестовый диск с этим файлом для восстановления файлов на изображении виртуального диска (см. также ниже):
testdisk <clone.raw>
Если поврежденный образ диска VDI по-прежнему зарегистрированный в Virtual Box, мы сможем добавить это изображение в качестве диска к нашей новой виртуальной машине:
Начните свой виртуальный Ubuntu, к которому мы добавили сломанный .vdi, но делаем не монтируйте диск.
Создайте каталог на смонтированном разделе, чтобы сохранить собранные данные (например, ~/rescued), установить тестовый диск на виртуальной машине. Запустите тестовый диск с терминала там:sudo testdisk
Выберите подходящий диск для сбора данных из (здесь показано для /sdb) и выберите [Proceed] Выберите подходящую компоновку разделов (обычно Intel) Выберите [Analyse] - [Quick Search] Выберите раздел, который содержит данные для сбора данных (здесь присутствовал только один раздел NTFS): Нажмите P, чтобы просмотреть файлы на этой части. Перейдите в каталог, содержащий данные. Просмотрите имена файлов, чтобы убедиться, что вы выбрали правильные. Выберите каталоги или файлы для сбора, используя:. Все выбранные файлы / каталоги будут отмечены зеленым: нажмите верхний регистр C, чтобы скопировать все выбранные каталоги / файлы в каталог спасения, который будет выбран на следующем шаге. Выберите каталог на вашем монтированном разделе (ов) Ubuntu VM для хранения данных: нажмите c, чтобы начать копирование данных из сломанного .vdi в наш каталог восстановления в вашей здоровой виртуальной машине. VBoxManage clonehd <name_of_source> <clone>
Затем мы связываем клон с нашей спасательной виртуальной машиной, как показано выше. Запись на нарушенный .vdi должна выполняться только после того, как данные были в безопасности, так как это может повредить файловую систему. Если наше спасение Ubuntu слишком мало для хранения спасенных данных, мы можем создать еще один новый виртуальный диск для привязки к виртуальной машине. Затем этот диск должен быть смонтирован на виртуальной машине, чтобы сохранить данные из testdisk. 1) Попробуйте восстановить моментальный снимок с помощью UUID, используйте следующий хак:
выберите UUID состояния, которое вы хотите восстановить. Откройте файл .xml, желательно в инструменте (Internet Explorer), который позволяет легко перемещаться по XML-файлу. В ОЧЕНЬ НИЖНЕЙ ЧАСТИ, в разделе Контроллеры хранения, найдите UUID текущего состояния и обратите внимание на значения StorageController name =, type = и AttachedDevice type =, port = и device =. В середине найдите нужный снимок. В разделе Контроллер хранилища моментального снимка найдите AttachedDevice со значениями (имя / тип / тип / порт / устройство), которые соответствуют значениям, полученным выше. Это изображение UUID определяет изображение моментального снимка для жесткого диска. Удалите скобки {} ивведите команду C:> VBoxManage clonehd <UUID> CloneDisk.vdi
Надеюсь, что это поможет, я нашел решение здесь: (https://forums.virtualbox.org/viewtopic .php? t = 791)
2) если шаги в 1) не работают, есть еще один шаг, который вы можете попробовать. Как клонировать текущее состояние диска:
выберите UUID состояния, которое вы хотите восстановить. Перейдите на жесткий диск, который вы хотите клонировать, и полностью разверните дерево (используйте * на цифровой клавиатуре). Откройте файл .xml, желательно в инструменте (Internet Explorer), который позволяет легко перемещать XML-файл. Нажмите имя файла справа от «Местоположение», отображаемое в нижней части окна. В ОЧЕНЬ НИЖНЕЙ ЧАСТИ в разделе Контроллеры хранения найдите UUID текущего состояния и обратите внимание на значения StorageController name =, type = и AttachedDevice type =, port = и device =. Ctrl + V / Вставить и извлечь значение hexUUID (удаление скобок {}) и запустить clonehd для его клонирования!Решение Thi отсюда: ( https://forums.virtualbox.org/viewtopic.php?t=791 ) Оба говорят в основном о том же.
У меня была повреждена система Linux в /
, а fsck
не удалось ее исправить . Я использовал следующий простой подход:
/home/user/
. Не забудьте скопировать скрытые файлы (файлы настроек). Хорошо работает для меня. Повреждение диска только препятствовало загрузке, не было потери данных в моей домашней папке.