Особенности работы с виртуальными дискaми VirtualBox / Хабр

 

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

Пользователи, работающие с гипервизорами, иногда могут сталкиваться с необходимостью получения доступа к диску виртуальной машины (ВМ) из среды хост-системы – основной операционной системы (ОС) , установленной на физическом диске. Например, когда нужно скопировать данные в гостевую ОС, не поддерживающую установку дополнений. Или когда в работе гипервизора возникают ошибки, делающие невозможным запуск ВМ, а внутри неё сокрыты нужные файлы.

Как подключить диск ВМ для отображения в хост-системе? Ниже рассмотрим, как в среде хостовой Windows подключаются файлы виртуальных жёстких дисков, используемые гипервизорами VirtualBox , Hyper-V и VMware .

В статье будут предложены варианты доступа к дискам ВМ:

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

Для возможности записи данных в файл виртуального диска (т.е. чтобы в гостевой ОС появились перемещённые из хост-системы файлы) ВМ в среде своего гипервизора должна быть выключена. Именно выключена, а не приостановлена. Не каждая программа-гипервизор напоминает об этой тонкости.

1. Подключение VHD и VHDX средствами Windows

VHD и VHDX – форматы файлов виртуальных дисков, используемые встроенным в Windows 8.1 и 10 гипервизором Hyper-V – в среде этих версий хост-системы можно примонтировать с помощью её же штатных средств.

На файле диска вызываем контекст-меню, выбираем «Подключить».

Подключить

И ищем в проводнике разделы нового устройства. Этот вариант предусматривает и чтение, и запись данных. Чтобы убрать диск ВМ из хост-системы, контекст-меню вызываем на любом из отображаемых его разделов и кликаем «Извлечь».

Извлечь

2. Подключение VMDK средствами VMware Workstation

VMDK и VHD – форматы дисков ВМ, с которыми работает ПО VMware — можно подключить для отображения в проводнике хостовой Windows с использованием средств программы VMware Workstation. Её средства монтирования предусматривают и чтение, и запись данных. Открываем параметры нужной ВМ. На вкладке «Оборудование» слева кликаем жёсткий диск, справа жмём кнопку «Карта». Появится окошко мастера подключения диска. Здесь выбираем нужный раздел, ориентируясь на его размер. В нашем случае это системный раздел Windows. Снимаем галочку открытия в режиме только чтения. И жмём «Ок».

Подключение виртуального диска

Важный нюанс: при открытии системных разделов гостевых ОС, установленных на виртуальные GPT -диски, в окне мастера необходимо выбирать не сам раздел с установленной ОС (раздел С в случае с гостевой Windows) , а предшествующий ему MSR -раздел с размером обычно 16 или 128 Мб. Конечно, если MSR -раздел есть в структуре EFI -системы. Будет он там не в каждом случае.

Виртуальный диск

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

Предупреждающее окошко

Примонтированный раздел откроется в проводнике хост-системы. Для отключения закрываем его открытого в проводнике (или файловом менеджере) . И идём туда же, где мы его монтировали – в параметры ВМ. Но теперь жмём кнопку «Отключить».

Параметры ВМ

3. Конвертирование VDI в VHD средствами VirtualBox

VirtualBox не позволяет своими средствами монтировать диски ВМ для доступа к ним из среды хост-системы Windows. Но в числе её арсенала есть конвертер, который может преобразовывать диски родного формата VDI в VHD , VMDK и прочие типы. А, к примеру, VHD -файл в среде хостовой Windows 8.1 или 10 можно открыть штатными средствами ОС. Более того, при необходимости продолжить работу с ВМ, её можно пересоздать на базе уже конвертированного диска VHD . В окне VirtualBox переключаемся на раздел «Инструменты». Кликаем диск нужной ВМ, в контекст-меню выбираем «Копировать».

VirtualBox

Далее указываем тип «VHD» (можно и «VMDK», если параллельно проводится работа с VMware) . Затем жмём кнопку обзора в графе указания нового диска.

Копировать образ диска

Здесь важный момент: графу «Имя файла» нужно подчистить — удалить из имени расширение «.vdi» . И отследить ниже, чтобы как тип был задан «VHD» . Жмём «Сохранить».

Местоположение нового образа диска

И теперь – «Копировать».

Копировать образ диска

Конвертированный файл впоследствии открываем с помощью проводника.

Конвертированный файл

Убираем его из хост-системы путём извлечения, как показано в п.1 статьи.

Однако если попутная цель реанимации ВМ не преследуется, если речь идёт только об изъятии ценной информации из файла VDI , проще прибегнуть к двум следующим вариантам решения вопроса.

4. Daemon Tools

Бесплатная версия Daemon Tools может монтировать для чтения и записи данных различные типы виртуальных дисков, включая жёсткие, с которыми работают ВМVMDK , VDI , VHD , VHDX . В окне программы жмём «Быстрое монтирование», указываем путь к файлу диска ВМ, открываем.

Daemon Tools

Убираем с помощью опции удаления в контекст-меню на значке примонтированного устройства.

Удалить

5. Плагин для Total Commander

Работающим с Total Commander только лишь для просмотра и копирования ценных данных, хранящихся на диске ВМ, далеко ходить не нужно. Вопрос решается внутри этого файлового менеджера с помощью плагина к нему DiskInternals Reader. Первичная миссия этого плагина – реализация доступа в среде Windows к разделам и носителям с файловыми системами, используемыми в Linux . И неподдерживаемыми Windows. В довесок к основным возможностям плагин может монтировать для чтения диски ВМ форматов VMDK , VDI , VHD , VHDX и HDS .

Читать статью  Исправляем ошибки SMART на SSD и жестких дисках

Распаковываем его внутри Total Commander. Отвечаем «Да» на предложение установки. Следуем шагам установочного мастера.

DiskInternals Reader

Запускаем Total Commander (принципиально) от имени администратора. Переключаемся на «Сеть / FS плагины». Заходим в «DiskInternals Reader».

Сеть / FS плагины

Далее – «Mount Image».

Mount Image

Выбираем тип диска ВМ. Жмём «Next».

Выбираем тип диска

В обзоре указываем папку ВМ. Затем увидим все подключённые к машине диски. Можем снять галочки с ненужных, если их несколько. И кликаем «Mount».

Containers to Mount

Жмём Ctrl + R для обновления содержимого панелей Total Commander. И увидим примонтированные разделы виртуального диска.

Примонтированные разделы виртуального диска

Его содержимое копируем обычным для Total Commander образом — кнопкой внизу или клавишей F5 . Процедура размонтирования дисков плагином не предусматривается. Да она как таковая и не нужна: достаточно просто перезапустить Total Commander.

Особенности работы с виртуальными дискaми VirtualBox

image

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

Начнем с некоторых общих понятий. У VirtualBox существуют 3 основных метода предоставления гостевой операционной системе (ОС) доступа к данным. Сей текст концентрируется на использовании виртуальных дисков.

Виртуальные диски подключаются к виртуальной — гостевой ОС, методом эмуляции подключения через соответствующий контроллер, IDE, SATA (AHCI), SCSI, SAS.

Поведение контроллеров запрограммировано таким образом, чтобы имитировать физические прототипы, следовательно IDE контроллер будет работать медленнее SATA и потреблять больше ресурсов процессора, ОС без соответствующих драйверов и аппаратной поддержки не будут взаимодействовать с виртуальными дисками и т.д. Например, в семействе Windows до Windows Vista нет поддержки Advanced Host Controller Interface (AHCI), к которому относится SATA, поэтому в частности, виртуальная машина с ОС Windows XP с SATA работать не будет.

Файлы виртуальных дисков

VirtualBox позволяет работать с разными форматами файлов виртуальных дисков. Помимо собственного VDI, поддерживаются VMDK (VMware), VHD (Microsoft), Parallels version 2 HDD format (Parallels).

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

Виртуальные диски могут быть, как фиксированного размера, так и динамически выделяемого, причем VirtualBox позволяет увеличить размер дискового пространства, независимо от объёма и формата диска и даже в том случае, если диск содержит данные. Ниже пример, как это сделать с помощью утилиты vboxmanage.

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

Учитывая то, что в процессе регулярного увеличения размера контейнера задействуются дополнительные вычислительные ресурсы, скорость записи при использовании опции с фиксированным размером, как правило выше, в с равнении с динамическим диском. Тем не менее, если размер динамического диска в долгосрочной перспективе значительно не увеличивается, то разница в скорости записи практически нивелируется.

Управление виртуальными медиа (Virtual Media Manager)

VirtualBox ведет реестр всех виртуальных медиа носителей, которые используются всеми гостевыми ОС. Это так называемые ”known media”, доступ к списку (реестру) которых можно получить используя утилиту Virtual Media Manager (доступно из меню File). Эта утилита показывает детальную информацию о каждом виртуальном диске, включая полный путь к файлу, а также к какой именно виртуальной машине файл прикреплен. Информацию из реестра можно удалить используя встроенную функцию удаления “Remove”

Virtual Media Manager

Каждый отдельно взятый образ можно «открепить» от виртуальной машины за которой он закреплен, используя функцию ”Release”

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

Hardware management

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

Snapshots (Снэпшоты)

Как известно snapshot в переводе с английского означает снимок. Принцип работы механизма прост. При создании снэпшота, VirtualBox переводит текущий образ (образы, если их несколько), прикрепленный к ВМ в режим только для чтения и создает отдельный виртуальный диск (диски) и все последующие процедуры записи производятся уже в новом виртуальном хранилище. Причем фиксируются только изменения в определенных секторах, проще говоря при создании снэпшота диска размером 10GB, новый снэпшот будет гораздо меньше, и будет увеличиваться в размере постепенно, как будут заполнятся сектора.

Snapshots

Логично предположить, что чем больше используется снэпшотов одной виртуальной машины, тем больше используется вычислительных ресурсов для выполнения операций чтения с диска. Действительно, если есть 2 снэпшота, то вначале VirtualBox смотрит есть ли нужный сектор в образе снэпшота2, если нет, то система обращается к снэпшоту1, если и там ничего не обнаружено, то тогда идет обращение к основному диску. Нагрузка все-же будет незначительной и мало заметной для конечного пользователя, т, к. вся таблица секторов постоянно присутствует в памяти.

Читать статью  AHCI против IDE - Технология - 2022

Стоить помнить, что при удалении снэпшота, все изменения произведенные после его создания «сливаются» с ранее «замороженным» образом.

Кэширование ввода/вывода

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

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

Отключение кэширования выполняется следующим образом:

Bandwidth

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

Создаем группу “Limit” и устанавливаем лимит в 20 Mb/s

Добавляем нужные диски в группу.

Суммарный для обоих дисков bandwidth не будет превышать 20 MB/s. Этот лимит можно изменить в любой момент, не выключая виртуальной машины.

Особые режимы записи образов

Для каждого образа виртуального диска, поддерживаемого VirtualBox, не зависимо от формата, можно определить режим поведения при записи данных, будь это следствие операций внутри виртуальной машины или снимка дика (snapshot). Такие режимы называются «нестандартными», в то время, как по умолчанию все образы дисков функционируют в «нормальном» режиме. Для того, что бы перевести режим из «нормального» в «нестандартный» можно воспользоваться вышеупомянутым Virtual Media Manager или консольной утилитой vboxmanage

В «нормальном» режиме записи, гостевая ОС может осуществлять чтение и запись с физического диска без всяких ограничений a при создании снимков диска (snapshot), VirtualBox создает oтдельный файл в котором фиксируются все изменения.

В режиме «write through» функция снэпшотов работать не бует.

Режим работы «shareable» своего рода разновидность предыдущего. Тут тоже нет возможности работы со «снэпшотами», зато есть возможность использования несколькими одновременно работающими виртуальными машинами одного образа диска, сценарий кластеризации.

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

Режим «read only» используется в основном для работы с образами CD/DVD, т.к. предполагает только чтение.

Режим на который стоит обратить внимание называется «Immutable». Как следует из названия immutable образы не меняются с течением времени. Любые изменения в immutable диске актуальны ровно до тех пор, пока виртуальная машина работает. После отключения виртуальной машины все изменения пропадают. Прежде чем перевести диск в режим immutable стоит сначало создатъ «нормальный» диск, установить и настроить систему в оптимальное состояние, желательно не подключаясь к интеренету, и только после того, как гостевая система готова — «откреплять» диск и переводить его в режим immutable.

Одним из сценариев работы может быть схема при которой используются два диска – один в режиме immutable, на котором находится сама система, второй в нормальном или write-through режиме. На первый взгляд вполне безопасный и понятный сценарий работы — каждый раз загружается «свежая» система. Но не все так прозрачно и есть некоторые нюансы.

Во первых, для immutable дисков есть одно важное исключение. Они не “обнуляются” в случае, когда прикреплены к виртуальной машине, снимок диска которой был сделан пока та была запущенна — так называемый online-snapshot. Это означает, что если например, пользователь создал immutable disk, а потом в процессе работы, создал «снэпшот», не завершив работу виртуальной машины, то начиная с упомянутого «снэпшота» все последующие операции и действия внутри системы будут носить необратимый эффект, т.к. все действия будут де-факто происходить в «снэпшоте».

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

Во-вторых, вышеописанное «обнуление» отдельного образа происходит только в случае, когда команда включения/отключения виртуальной машины посылается самой средой VirtualBox, а не происходит внутри гостевой ОС. Проще говоря, если например перезагрузить гостевую ОС Windows стандартным методом (Меню пуск, перезагрзить систему), то обнуление immutable диска не произойдет.

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

После того, как текущий контейнер установлен в режим immutable, VirtualBox перестает использовать этот контейнер и фактически диск переходит в режим «read only». Все операции записи перенаправляются в отдельный образ и каждый раз, когда виртуальная машина начинает работу этот новый «отдельный» образ «обнуляется». В реальности на жестком диске создается временный «снэпшот», который находится в папке Snapshots, соответствующей виртуальной машины, внутри которого и происходит вся работа. После завершения работы виртуальной машины вышеупомянутый временный скриншот остается нетронутым.

Читать статью  Восстановление из образа резервной копии Windows, созданной её средством архивации

Рассмотрим простой пример

Боб создал виртуальную машину, настроил ОС и перевел диск в режим immutable. Боб регулярно использует свою виртуальную машину для тайного общения с Алисой. При каждом запуске, загружается «свежая» система, не содержащая никаких логов предыдущего общения, текстов, видео или фото. В очередной раз закончив переписку, Боб спокойно выключает виртуальную машину и идет спать.
Предположим также, что перед каждым запуском ОС Боб проверяет, что режим диска установлен как “immutable”.

Ева имеет доступ к компьютеру на котором установлена виртуальная машина. Ей достаточно зайти в папку Snapshots внутри директории соответствующей виртуальной машины и там будет требуемый «снэпшот».

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

Решением для Боба в данной ситуации будет после завершения работы, вручную удалять все содержимое папки Snapshots. Не говоря уже о том, что надо постоянно проверять в каком режиме работает диск и желательно, либо вообще заблокировать некоторые элементы GUI, что достаточно просто реализуется

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

Вместо заключения

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

Как открыть файлы VDI, VHD, VMDK (образы дисков виртуальных машин)

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

Источник https://www.white-windows.ru/kak-podklyuchit-disk-virtualnoj-mashiny-dlya-otobrazheniya-v-host-sisteme-windows/

Источник https://habr.com/ru/post/255427/

Источник https://zawindows.ru/%D0%BA%D0%B0%D0%BA-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-vdi-vhd-vmdk-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D1%8B-%D0%B4%D0%B8%D1%81%D0%BA%D0%BE%D0%B2-%D0%B2%D0%B8/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *