Я ищу способ клонировать сектор моего физического диска на виртуальный диск VDI. Как я читал, некоторые не рекомендуют использовать для этого dd.

Если я не могу использовать dd, чтобы скопировать сектор за сектором и восстановить образ внутри virtualbox, что еще можно сделать для этого?

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

Операционная система: Ubuntu

2 ответа2

0

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

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

  • Возможность загрузки с альтернативной ОС, запущенной с отдельного устройства хранения (не просто другого раздела, а другого диска). Для большинства из перечисленных ниже методов я бы предложил использовать для этого компакт-диск System Rescue .
  • Где-то, где вы можете хранить весь образ диска. Если вы используете USB-накопитель Live, он может быть использован для этого хранилища, если он достаточно большой, но вам, вероятно, понадобится большой диск для его извлечения.

Когда у вас есть это, у вас есть несколько вариантов:

Partimage

Partimage - это программа резервного копирования дисков для Linux, которая может эффективно хранить образы дисков. Это делается путем копирования только используемых секторов и сжатия результирующего файла изображения. Он включен в большинство Live CD для восстановления системы и даже поддерживает сохранение и восстановление изображений по сети. Недостатком является то, что он должен поддерживать файловые системы, которые есть на диске, который вы резервируете, и, в частности, не включает поддержку ext4 или BTRFS. При условии, что это не ограничение, это то, что я бы предложил использовать. Я не буду вдаваться в подробности того, как его использовать, поскольку существует множество хороших учебников.

ddrescue

Использование dd для такого типа вещей не является большой проблемой, если вы делаете это из живой системы, но оно по-прежнему имеет ограничения в том, что перезапуск частичной копии является болезненным, он терпит неудачу, если есть какие-либо неудачные чтения или пишет, и это не дает хорошую информацию о прогрессе. Вот где приходит GNU ddrescue . Он может делать некоторые вещи, похожие на dd , но предоставляет множество функций, которые чрезвычайно полезны для копирования или клонирования дисков. Процесс его использования, по сути, такой же, как и для dd , но синтаксис командной строки другой. У них есть хорошая документация, поэтому я не буду тратить здесь место на объяснение того, как ее использовать, за исключением того, что хочу прокомментировать, что вы почти всегда хотите использовать файл журнала, чтобы он мог возобновить частичную передачу. Как и Partimage, ddrescue включен в большинство Live CD для восстановления системы.

QEMU-IMG

qemu-img - это специальный инструмент, включенный в программное обеспечение виртуализации QEMU, которое используется для преобразования между форматами образов дисков, поддерживаемыми QEMU. QEMU поддерживает как необработанные образы дисков, так и образы VDI, поэтому вы можете использовать qemu-img для создания образа VDI с обычного физического диска, что означает, что вы можете просто пропустить процесс восстановления образа внутри VirtualBox. Точная команда, которую вы хотите, выглядит примерно так:

qemu-img -O vdi /dev/sda /path/to/image.vdi

Где /dev/sda - это тот диск, с которого вы копируете, а /path/to/image.vdi - имя файла, предназначенного для образа диска. Этот подход имеет два недостатка, а именно, что он не может быть возобновлен, если прерван частично, и что qemu-img не включен в большинство Live CD (не говоря уже о большинстве систем, ориентированных на восстановление системы).


Если вы намереваетесь запустить виртуальную машину в другой системе, отличной от той, с которой копируете диск, и можете установить сетевое соединение между двумя системами, у вас будет гораздо больше гибкости, и вы сможете полностью устранить необходимость во временном хранилище. В этом случае вам следует настроить виртуальную машину, отличную от копирования диска, и загрузить ее и исходную систему в среду Live CD. Затем вы можете использовать либо NBD, либо iSCSI между двумя системами, чтобы напрямую скопировать диск по сети, используя dd или ddrescue .

0

Вы пытаетесь сделать Physical-to-Virtual, где dd - это возможный инструмент, но не лучший.

Так как не рекомендуется копировать работающую систему изнутри. Процесс, описанный ниже, взят из статьи Physical To Virtual (P2V) с использованием VirtualBox и требует:

Вот процедура. Автор описывает, как скопировать один раздел, поэтому вам нужно будет немного его изменить, чтобы виртуализировать весь диск. Это необходимо для включения загрузочного кода.

  1. Загрузите систему с Clonezilla
  2. В меню выберите «Clonezilla Live»
  3. Выберите ваш язык при появлении запроса
  4. Выберите желаемую раскладку клавиш по мере необходимости
  5. В меню выберите «Start_Clonezilla»
  6. Укажите «device-image» 7 Выберите «local_dev», чтобы сохранить изображение на локальном устройстве (ПРИМЕЧАНИЕ: если вам нужно сохранить его в другом месте, сделайте правильный выбор)
  7. Когда появится запрос на подключение USB-устройств, сделайте это, а затем нажмите «Enter»
  8. Выберите нужный диск или раздел, чтобы сохранить образ
  9. Структура каталогов будет показана для выбранного диска или раздела. Выберите подходящую папку для размещения образа резервной копии.
  10. Отобразится список использования дискового пространства для выбранного местоположения. Нажмите Ввод"
  11. Выберите «Эксперт» для режима резервного копирования
  12. Выберите saveisk (при резервном копировании всего диска) или savepart (при резервном копировании одного раздела) - в моем примере я использую savepart, поэтому некоторые запросы могут немного отличаться
  13. Требуется указать имя резервной копии. Удалите существующую информацию и дайте ей простое имя, например «LinuxBack». Указанное имя является именем папки, в которой находятся файлы резервных копий. Запомните имя, чтобы вы знали расположение файлов резервных копий
  14. Будет отображен список существующих дисков и / или разделов. Выделите один для резервного копирования, нажмите «пробел», а затем «ввод»
  15. В следующем меню выберите -q1 для резервной копии дд
  16. Следующее меню показывает различные параметры для выбора. По умолчанию проверяются -c и -j2. По умолчанию все в порядке, если вам не нужны другие
  17. Когда будет предложено указать тип сжатия, выберите -z0
  18. В следующем меню при появлении запроса о разбиении файла убедитесь, что размер больше, чем диск или раздел, для которого выполняется резервное копирование.
  19. Выберите опцию «Пропускать проверку / восстановление исходной файловой системы», если вы не уверены, что это необходимо
  20. В следующем меню выберите, чтобы пропустить проверку сохраненного файла изображения
  21. Чтобы выполнить действие после завершения резервного копирования, выберите то, что вы предпочитаете
  22. На этом этапе параметры устанавливаются, и должна быть указана командная строка, которая выполняется для выполнения резервного копирования. Нажмите Ввод"
  23. Вам будет предложено, если вы хотите продолжить и выполнить резервное копирование, поэтому нажмите «y», а затем «ввод»
  24. Резервное копирование должно начаться
  25. Выйдите из Clonezilla после завершения резервного копирования и скопируйте каталог, указанный в параметре 14, в систему с VirtualBox, если виртуальная система будет работать на другой системе, и обязательно включите сам каталог (в моем примере он будет называться LinuxBack)

После того, как папка и файлы резервной копии перемещены в систему с установленным VirtualBox, выполните следующую команду:

VboxManage convertfromraw --format VDI source.img target.vdi

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .