Как достать файлы из виртуальной машины virtualbox

Обновлено: 04.07.2024

Файлы VDI, VHD, VMDK — это различные виды виртуальных дисков, используемых в программах для создания и запуска виртуальных компьютеров, таких как VirtualBox.

Виртуальный диск — это файл, который в виртуальной машине является диском, и в котором хранятся все данные виртуального компьютера.

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

Описанным способом можно просмотреть содержимое следующих видов виртуальных дисков:

  • VDI — VirtualBox Disk Image (образ диска VirtualBox, в программе VirtualBox используется по умолчанию при создании новых виртуальных машин)
  • VHD — Virtual Hard Disk (виртуальный жёсткий диск)
  • VMDK — Virtual Machine Disk (диск виртуальной машины)

Как открыть образы дисков виртуальных машин

Прежде чем мы приступим к отрытию этих файлов, напомню, что на всех дисках используется одна из файловых систем. Это справедливо и для виртуальных дисков — они все отформатированы в NTFS, FAT32, EXT4 или в какую-то другую файловую систему.

Описанный в этой статье способ позволяет просматривать содержимое файлов VDI, VHD, VMDK и извлекать их разделы какую бы файловую систему вы не использовали. Но кроме извлечения разделов, вы можете просматривать их содержимое если они используют одну из следующих файловых систем: NTFS, FAT32, EXT4, EXT3, EXT2, SquashFS или cramfs.

В любом случае извлечённый таким образом образ раздела можно просмотреть в специализированной программе, даже если он в другой, не поддерживаемой файловой системе.

Просматривать виртуальные жёсткие диски, извлекать их разделы и просматривать эти разделы можно программой 7-Zip.

Начните с установки программы 7-Zip, как это сделать подробно описано в статье «Бесплатная альтернатива WinRAR».

Откройте 7-Zip, для этого в общесистемный поиск введите «7-Zip» и запустите программу.


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


И откройте его двойным кликом прямо в 7-Zip.


Вы увидите список разделов. Даже если у вас один диск, при установке многие операционные системы создают несколько разделов. Например, Windows создаёт 4 раздела, а Linux 2 или 3 раздела (основной, загрузочный диск и файл подкачки).

Вы можете посмотреть содержимое любого из этих разделов прямо в 7-Zip, либо извлечь их для дальнейшего анализа другими средствами.


Вы можете переходить в любые папки и просматривать любые файлы.


Итак, с помощью 7-Zip можно открыть и извлечь файлы из виртуальных дисков без запуска виртуальной машины и даже без установки программ для запуска виртуальных машин.

Извлечение данных из виртуальных дисков VirtualBox

Однажды глубокой ночью мне позарез понадобилось вытащить из остановленной виртуальной машины Virtualbox, находящейся на моем рабочем компьютере, один файлик. Удаленно запустить виртуальную машину и тем более подключиться к ней не получилось, поэтому я решил попробовать вытащить нужный раздел из vdi и смонтировать его. Ситуация немного осложнялась тем, что виртуальный жесткий диск хоть и содержал всего один корневой раздел, но был динамически расширяющимся, а это значит, что блоки файловой системы располагались в хронологическом порядке, а не в том, который ожидает драйвер файловой системы.

К счастью, можно легко преобразовать vdi из динамического формата в статический с помощью многоцелевой утилиты vboxmanage, входящей в состав пакета virtualbox:

Мы, как всегда, пойдем другим путем и воспользуемся подручными средствами. Первые 512 байт нашего vdi-файла — его заголовок, в котором можно разобраться, воспользовавшись, например, этим мануалом или непосредственно описанием структуры заголовка vdi в исходниках VirtualBox. Из этих источников следует, что образ размечен следующим образом:
512 байт: заголовок
4 * N + X: карта мегабайтных блоков, здесь N ­— количество мегабайт в виртуальном жестком диске, а X — выравнивание получившегося числа до ближайшей верхней 512-байтной границы
512 + 4*N + выравнивание: смещение данных

Зная точный размер виртуального диска, можно легко вычислить смещение вручную:

(UUID нужного диска можно узнать из вывода команды vboxmanage list hhds). Здесь выравненное до 512 значение размера карты блоков равно 16384, а смещение данных — 16896.
А можно и вытащить смещение непосредственно из заголовка vdi. Например, вот начало моего четырёхгигового виртуального диска:

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

Посмотрим, что находится по этому смещению. Сразу можно предположить, что там располагается начало образа жесткого диска, из этого следует, что первые 512 байт содержат mbr. Проверим:

Жесткий диск содержит 2 раздела: основной размером 3859 мегабайт, начинающийся с 63 сектора (1 сектор — 512 байт), и расширенный 235 мегабайт, отведенный установщиком Debian под swap (вот это сюрприз на виртуалке). Для очистки совести проверяем заголовок первого раздела:

То, что надо! Осталось смонтировать. Несколько лет назад пришлось бы дополнительно извлекать все 7903917 секторов в отдельный файл и монтировать его, но сейчас можно просто указать смещение от начала файла как опцию mount (оставшиеся расширенный раздел и swap внутри него будут проигнорированы):

Как передавать файлы между гостевой виртуальной машиной и хост-компьютером

Использование виртуальной машины может значительно повысить вашу производительность. Но часто возникает проблема: копировать текст или файлы с главного компьютера на гостевой компьютер или наоборот.

Дело в том, что это не так сложно, как кажется на первый взгляд. Вот как можно передавать файлы между гостевой операционной системой вашей виртуальной машины и хост-ПК, используя VirtualBox или VMware.

Как вы можете обмениваться данными между хост-компьютером и виртуальной машиной

Обмен данными с USB на виртуальной машине

Виртуальная машина — это программная среда, которая эмулирует оборудование, необходимое для установки операционной системы (ОС). В общих чертах, это позволяет вам установить операционную систему на существующую ОС, очень похожую на приложение.

Наше руководство по виртуальным машинам объясняет это более подробно.

Вы не будете удивлены вариантами обмена данными между хост-компьютером и любой гостевой операционной системой, работающей на виртуальной машине. Что может вас удивить, так это то, как сложно их настроить. Ваши варианты:

  • Скопировать и вставить
  • USB-накопитель
  • Сетевой ресурс

Очевидно, что каждый вариант лучше всего подходит для определенного типа данных. Например, копирование и вставка лучше всего подходят для совместного использования текстовых и небольших файлов, таких как копирование кода из браузера на хост-компьютере в сеанс терминала в гостевой ОС.

Ниже мы рассмотрим обмен данными с помощью этих трех методов на виртуальных машинах. работая на Oracle VirtualBox и VMware Workstation Player.

Копировать и вставить данные

Самый простой вариант — скопировать данные с хост-компьютера и вставить их в окно гостевой виртуальной машины. Или скопируйте с гостевой виртуальной машины и в открытый файловый браузер на хосте. Но так ли просто, как кажется?

К счастью, да, это так.

Скопируйте и вставьте данные в VirtualBox

Если вы используете VirtualBox, при работающей виртуальной машине выберите « Устройства»> «Перетаскивание» . Здесь вы можете выбрать между Host to Guest, Guest to Host и Двунаправленным. Также есть опция по умолчанию, Отключено. Для достижения наилучших результатов используйте двунаправленный .

Это все, что нужно сделать.

Как копировать и вставлять данные в VMware

Пользователям VMware необходимо сначала установить пакет VMware Tools, который предоставляет дополнительные функции. Вы можете начать это через VM> Install VMware Tools . Если вы еще не загрузили VMware Tools, вам будут даны инструкции для этого.

Затем вы можете включить копирование и вставку в ВМ> Настройки > Параметры . Выберите гостевую изоляцию , затем включите копирование и вставку и подтвердите, нажав OK .

Такой способ обмена данными между гостевой и хост-операционной системами лучше всего подходит для небольших файлов. Вы также можете поделиться текстовыми строками, URL-адресами и тому подобное. Держитесь подальше от больших файлов — у вас есть другие варианты для них.

Флешка

Использование USB-накопителя для передачи данных между двумя физическими машинами — давняя традиция. Флэш-накопители USB по сути заменили 3,5-дюймовые дискеты в начале 2000-х годов.

Но как вы можете использовать USB-накопитель для обмена данными между виртуальной машиной и хост-компьютером?

Делитесь файлами с USB-накопителя в VirtualBox

После этого вставьте USB-устройство, которое хотите использовать. Затем откройте VirtualBox и нажмите « Файл»> «Настройки» , затем « Расширения» и нажмите « +» . Перейдите к загруженному пакету расширений, нажмите « Открыть» , а затем при появлении запроса установите . Следуйте инструкциям, чтобы завершить процесс. Затем вы можете проверить, что USB включен в меню «Настройки»> «USB» .

Проверьте поддержку USB в VirtualBox

С добавленной поддержкой USB вам нужно будет ее включить. В главном окне VirtualBox щелкните правой кнопкой мыши виртуальную машину, которую хотите использовать, и выберите « Настройки»> « USB» . Нажмите +, затем найдите устройство USB. Он будет доступен при запуске виртуальной машины. Дополнительные диски могут быть добавлены таким же образом.

Копирование файлов с USB в VMware

В VMware, когда устройство USB подключено, а виртуальная машина является активным окном, устройство обнаруживается. Однако в этом сценарии он не будет обнаружен хост-компьютером. Чтобы это произошло, извлеките диск, сверните виртуальную машину и снова подключитесь.

Это просто, но может запутаться, если вы забудете, к какой операционной системе подключен USB-накопитель.

Этот вариант лучше всего подходит для больших файлов. Конечно, вы ограничены емкостью устройства USB, так что имейте это в виду. Какое бы программное обеспечение VM вы ни использовали, безопасное извлечение USB-устройств рекомендуется как на хост-компьютере, так и на гостевой виртуальной машине.

Создать общий диск

Третий вариант — настроить сетевой ресурс на хост-компьютере, к которому может обращаться гостевая виртуальная машина. Это означает, что часть жесткого диска вашего компьютера должна быть доступна по локальной сети. С этой настройкой виртуальная машина может затем подключиться к сети и получить доступ к диску.

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

Создать общий доступ в VirtualBox

Вы должны были уже загрузить гостевые дополнения VirtualBox. Это должно быть установлено через Устройства> Установить гостевые дополнения , где вы должны найти соответствующий EXE-файл. Следуйте инструкциям до конца, выбрав параметры по умолчанию, затем нажмите «Готово» .

Запустите VirtualBox и откройте Устройства> Общие папки> Настройки общих папок . Нажмите «+», затем в « Путь к папке» щелкните стрелку и выберите « Другое» . Найдите (ОС хоста) папку, которую вы используете в качестве общего ресурса, выделите ее, затем выберите «Папка» .

Совместное использование папок между хост-ОС и гостевыми виртуальными машинами

В окне «Добавить общий ресурс» присвойте общему ресурсу имя (при этом рекомендуется использовать то же имя в гостевой ОС, что и в основной ОС). Проверьте Авто-монтирование и сделайте постоянным , затем ОК .

В гостевой ОС вы найдете общий ресурс, настроенный в обычном месте для сетевых ресурсов. Например, в Windows 10 это будет в разделе «Расположение сети» в проводнике Windows.

Совместное использование сетевого диска в VMWare

Общий доступ к данным через диск включен в VMware по умолчанию. Все, что вам нужно сделать, это выполнить обычные для конкретной ОС шаги, чтобы настроить сетевой ресурс. Например, если вы работали с Windows в качестве хоста, а Linux в качестве гостевой ОС, выполните следующие действия для обмена файлами между Windows и Linux. обмениваться файлами между Windows и Linux обмениваться файлами между Windows и Linux.

Это будет работать для Windows, Linux и BSD.

Обратите внимание, что общий доступ к папкам недоступен в бесплатном VMware Player.

Хотя это наиболее сложный вариант настройки, вы сможете без труда обмениваться большими файлами. К ним могут относиться установщики, файлы образов дисков и видеоролики высокого разрешения.

Обмен данными для максимизации производительности виртуальных машин

Не всем нужно использовать виртуальную машину, но те из нас, кому почти всегда нужно обмениваться данными. Если вы не копируете файлы с хоста на гостевую ОС, есть причина для копирования данных с виртуальной машины. Обычно это происходит, когда вы собираетесь уничтожить виртуальную машину и хотите сделать резервную копию ваших данных.

Изучение того, как обмениваться данными между виртуальной машиной и хост-ОС, поможет значительно повысить эффективность использования вашей виртуальной машины. Эти советы по повышению производительности виртуальных машин. советов по повышению производительности виртуальных машин. советов по повышению производительности также поможет.


VirtualBox – одна из наиболее популярных бесплатных программ для создания виртуальных машин. С ее помощью можно в безопасном окружении экспериментировать с программами и операционной системой не опасаясь навредить системе реального компьютера.

Но, для полноценной работы с VirtualBox необходимо настроить обмен файлами, между реальной и виртуальной машиной.

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

Перенос файлов с помощью инструментов программы VirtualBox

В данном способе перенос файлов с реального компьютера на виртуальную машину будет реализовываться при помощи стандартных инструментов программы VirtualBox. Поэтому, все действия будут выполнятся только в программе VirtualBox и непосредственно на самой виртуальной машине. В вашей реальной системе никаких изменений не требуется.

Настройка начинается с подключения образа дополнений гостевой ОС. Для этого запускаем виртуальную машину, открываем меню «Устройства»в окне VirtualBox и выбираем пункт «Подключить образ диска Дополнений гостевой ОС».


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


Открываем данный оптический дисковод и запускаем программу «VBoxWindowsAdditions».


После этого на виртуальную машину нужно установить программное обеспечение от VirtualBox. Установка не представляет ничего сложного, нажимаем на кнопку «Next» и подтверждаем установку всех компонентов. После завершения установки отказываемся от перезагрузки и выключаем машину (через «Пуск — Выключить»).


Теперь возвращаемся к основному окну программы VirtualBox и переходим в настройки виртуальной машины.


В настройках открываем раздел «Общие папки», нажимаем на кнопку «Добавить папку» и указываем путь к любой папке на реальном компьютере. Обратите внимание, вы можете выбрать любую папку на вашем компьютере, открывать к ней общий доступ не обязательно.

Также при добавлении папки нужно включить опцию «Авто-подключение». После этого закрываем все окна нажатием на кнопку «ОК».


На этом настройка закончена, можно запускать виртуальную машину и проверять.


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

Альтернативный способ переноса файлов на виртуальную машину

В этом способе мы будем использовать общие папки и режим работы сети — Сетевой мост. В этом режиме виртуальная машина подключается к вашей домашней локальной сети и становится ее частью. Это позволяет без проблем получать доступ из виртуальной машины к открытым сетевым папкам, которые хранятся на реальных компьютерах.

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

Здесь мы не будем рассматривать процесс открытия доступа к папке, так как это тема для отдельной статьи. О том, как это делается вы можете почитать в статьях:

  • Как открыть общий доступ к папке по локальной сети на Windows 10
  • Как расшарить папку в Windows 7

Начать нужно с включения режима «Сетевой мост» в настройках виртуальной машины. Для этого нужно открыть программу VirtualBox, кликнуть правой кнопкой по виртуальной машине, в которую вы хотите перенести файлы, и выбрать вариант «Настройки».

открываем настройки виртуальной машины в VirtualBox

В настройках виртуальной машины переходим в раздел «Сеть» и меняем тип сетевого подключения на «Сетевой мост». После этого сохраняем настройки нажатием на кнопку «ОК».

меняем тип сетевого подключения для виртуальной машины

Дальше запускаем виртуальную машину и даем операционной системе загрузиться.

запускаем виртуальную машину

После загрузки появится окно предлагающее выбрать тип локальной сети. На этом этапе выбираем «Домашняя сеть», это снизит вероятность проблем при переносе файлов с реального компьютера на виртуальную машину.

заканчиваем настройку сети на виртуальной машине

После этого Windows может попросить перезагрузить систему. Если такое окно появилось, то перезагружаем виртуальную машину (через Пуск – Выключение – Перезагрузка).

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

проверяем ip адрес на виртуальной машине

Также вы можете попробовать выполнить команду ping проверив доступ из виртуальной машины к реальной. Если все нормально, то ping должен проходить.

выполняем команду ping на виртуальной машине

Если проблем не выявлено, то можно открывать сетевые папки, доступ к которым открыт на реальном компьютере. Для этого на виртуальной машине нужно открыть окно «Мой компьютер» и в адресную строку ввести IP адрес реальной машины.

IP-адрес нужно вводить в таком формате, как на скриншоте внизу. Например: \\192.168.1.111\

открываем сетевые папки реального компьютера с виртуальной машины

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

получаем доступ к сетевым папкам на реальной машине

Также ваш реальный компьютер должен появиться в сетевом окружении на виртуальной машине.

реальный компьютер в сетевом окружении на виртуальной машине

После получение доступа к сетевым папкам перенос файлов с виртуальной машины VirtualBox на реальный компьютер и обратно не должен вызывать проблем. Вы просто копируете нужные файлы в сетевую папку и получаете к ним доступ на обеих машинах.

Читайте также: