Как могу я смонтировать VDI со снимком?

Вопрос или проблема

Работаю на Linux Mint 18.1, VirtualBox 5.0.40_Ubuntu.

У меня есть файл VDI от виртуальной машины VirtualBox:

~/VirtualBox\ VMs/Win10x64/Win10x64.vdi

Я сделал снимок:

~/VirtualBox\ VMs/Win10x64/Snapshots/{GUID}.vdi

Я хочу смонтировать жесткий диск клиента из снимка.

Я могу успешно смонтировать базовый VDI с помощью qemu-nbd:

qemu-nbd -c /dev/nbd0 ~/VirtualBox\ VMs/Win10x64/Win10x64.vdi

Но если я попробую с файлом снимка:

qemu-nbd -c /dev/nbd0 ~/VirtualBox\ VMs/Win10x64/Snapshots/{GUID}.vdi

это не удается с сообщением:

недопустимое изображение VDI (UUID ссылки не равен NULL)

Я заметил параметр --snapshot для qemu-nbd, но это, похоже, не то, что нужно.

Как я могу смонтировать HDD таким, каким он есть в снимке?

Правка #1
Я также пробовал vdfuse, но опять же, не кажется, что есть способ “применить” диск с разностями.

Возможно, единственный вариант – открыть VirtualBox, “удалить” снимок – чтобы он объединился с образом vdi, или что-то в этом роде…

Я использую трюк, чтобы выполнить задачу.

Создайте новую виртуальную машину в VirtualBox с любой ОС, которую вы хотите (LiveCD тоже подходит).
Присоедините файл vdi к виртуальной машине в настройках хранения. Вы можете выбрать любую версию в снимках. Хотя виден только UUID диска, вы можете выбрать правильный согласно древовидной структуре.
Загрузите новую виртуальную машину и вы сможете смонтировать раздел как блочное устройство.

Ответ или решение

Как смонтировать VDI с снимком в VirtualBox на Linux Mint 18.1

Если вы работаете с VirtualBox на Linux Mint 18.1 и хотите смонтировать виртуальный диск (VDI) с использованием снимка (snapshot), необходимо учитывать несколько важных моментов. Прежде всего, важно отметить, что формат VDI поддерживает так называемые "различия" между основным диском и его снимками. Попробуем разобраться, как это сделать пошагово.

Шаг 1: Подготовка среды

Перед началом убедитесь, что у вас установлены все необходимые инструменты. Для работы с VDI можно использовать qemu-nbd и vdfuse. Вы уже упомянули, что используете qemu-nbd, но получите ошибку из-за особенностей структуры VDI, которые содержат ссылки на родительские образцы.

Шаг 2: Создание временной виртуальной машины

Наиболее простым и безопасным способом для доступа к содержимому снимка VDI является создание временной виртуальной машины. Давайте рассмотрим, как это сделать:

  1. Создайте новую виртуальную машину в VirtualBox:

    • Откройте VirtualBox и нажмите "Создать".
    • Установите любое имя и выберите любую версию операционной системы, которая вам известна (можно использовать LiveCD).
  2. Настройка виртуального жёсткого диска:

    • На этапе "Жёсткий диск" выберите "Использовать существующий жёсткий диск" и укажите путь к вашему базовому VDI файлу:
      ~/VirtualBox VMs/Win10x64/Win10x64.vdi
  3. Настройка контроллера дисков:

    • Зайдите в настройки вашей виртуальной машины и перейдите в раздел "Носители".
    • Убедитесь, что основной VDI файл подключен к контроллеру (обычно это SATA).
    • В поле для снимков выберите нужный вам снимок, который вы хотите применить.

Шаг 3: Запуск виртуальной машины

Теперь вам нужно запустить созданную виртуальную машину:

  1. Запустите виртуальную машину:

    • Нажмите кнопку "Запустить" для вашей новой ВМ. Если вы выбрали LiveCD, вы сможете загрузиться в среду, где доступны инструменты для работы с дисками.
  2. Доступ к разделам:

    • После успешной загрузки вашей ВМ, откройте терминал и используйте команды для поиска и монтирования нужного диска. Например, вы можете использовать lsblk, чтобы просмотреть доступные устройства, и mount, чтобы смонтировать нужный вам раздел:
      sudo mount /dev/sdXn /mnt
    • Замените sdXn на правильный идентификатор вашего устройства.

Альтернативный способ: Использование vdfuse

Если вы предпочитаете использовать vdfuse:

  1. Убедитесь, что у вас установлен пакет libguestfs-tools:

    sudo apt-get install libguestfs-tools
  2. Используйте команду vdfuse для монтирования VDI:

    vdfuse -a ~/VirtualBox\ VMs/Win10x64/Snapshots/{GUID}.vdi -m /dev/nbd0

    Обратите внимание: vdfuse также может не полностью поддерживать работу с снимками, поэтому этот метод может не сработать, если у вас сложная структура снимков.

Заключение

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

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

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

Капча загружается...