- Конвертация образов VM при помощи qemu-img в любые форматы
- #1 alex
- Как мне преобразовать файл .img в VHD?
- Как мне преобразовать an.img-файл на vhd?
- 4 ответов
- Как мне преобразовать файл .img в VHD?
- 4 ответа 4
- Как создать образ диска VHD из живой системы Linux?
- 6 ответов 6
- 1. Загрузите машину с работающей системой Linux
- 2. Создайте образ диска с помощью dd и передайте данные через ssh
- 3. Восстановить неиспользуемое пространство
- 4. Создайте образ VHD с помощью VBoxManage
Конвертация образов VM при помощи qemu-img в любые форматы
#1 alex
Qemu-img замечательный инструмент для работы с образами виртуальных машин, их конвертации и многого другого.
$ sudo apt-get install qemu-utils
Для Windows(x64) можно скачать тут qemu-img-win-x64-2_3_0.zip
Для того, что бы посмотреть текущий формат образа есть опция info:
image: win_7.vdi
file format: vdi
virtual size: 34G (36700160000 bytes)
disk size: 25G
cluster_size: 1048576
Зная исходный формат можно конвертировать в любой нужный.
К примеру нужно конвертировать образ VDI (VirtualBox) в VHDX (Hyper-V) :
Замечу, что не важно какие у файлов расширения файлов, главное корректно указать исходный и конечный форматы ключами -f и -O, но все же для удобства желательно указывать расширение формата.
Дополнение:
В qemu-img версий 2.0 есть баг, из за которого при конвертации в vhdx не поддерживается динамический диск, по этому опция o subformat=dynamic работать не будет.
По этому, для поддержания динамического диска, нужно конвертировать его в vhd(vpc), и уже после в самом hyper-v преобразовывать в vhdx.
Источник
Как мне преобразовать файл .img в VHD?
У меня есть файл образа (образ на основе Linux) и я хочу преобразовать его в VHD, чтобы его можно было использовать для создания виртуальных машин Hyper-V.
Я использовал «qemu-img convert» для преобразования raw в формат vpc, но vpc не работает для hyper-V, а vhd не поддерживается «qemu-img convert».
Каков был бы правильный способ сделать это?
Изображение имеет только один раздел:
VhdTool должен быть в состоянии сделать преобразование.
Я не уверен, как долго это было так, но так как это результат поиска № 1 по этому вопросу, я отвечу на него в настоящее время. VHD в настоящее время поддерживается qemu-img. Аргументом для VHD является vpc. Это было найдено здесь http://docs.openstack.org/image-guide/content/ch_converting.html
В случае разрыва ссылки, вот копия / прошлое
Преобразование изображений из одного формата в другой обычно не вызывает затруднений. qemu-img convert: raw, qcow2, VDI, VMDK
Команда qemu-img convert может выполнять преобразование между несколькими форматами, включая raw, qcow2, VDI (VirtualBox), VMDK (VMWare) и VHD (Hyper-V). Таблица 7.1. строки формата qemu-img
В этом примере будет конвертирован необработанный файл изображения с именем centos63.dsk в файл изображения qcow2.
Чтобы конвертировать из vmdk в raw, вы должны сделать:
Флаг формата -f является необязательным. Если опущено, qemu-img попытается определить формат изображения.
VBoxManage: VDI (VirtualBox) в сыром
Если вы создали образ VDI с помощью VirtualBox, вы можете преобразовать его в необработанный формат с помощью инструмента командной строки VBoxManage, поставляемого с VirtualBox. В Mac OS X VirtualBox по умолчанию сохраняет изображения в каталоге
/ VirtualBox VMs /. В следующем примере создается необработанный образ в текущем каталоге из образа VirtualBox VDI.
/ VirtualBox \ VMs / fedora18.vdi fedora18.img —format raw
Источник
Как мне преобразовать an.img-файл на vhd?
У меня есть файл образа (образ на основе linux) и я хочу преобразовать его в VHD, чтобы его можно было использовать для создания виртуальных машин hyper-V.
Я «в qemu-img, и конвертировать», чтобы конвертировать RAW в формат ВКК, а ВКК не работает для Hyper-V и виртуального жесткого диска не поддерживается «в qemu-img и конвертировать».
Как правильно это сделать?
образ имеет только один раздел:
4 ответов
VhdTool должен уметь делать преобразования.
Я не уверен, как долго это было так, но так как это результат поиска #1 для этого вопроса, я отвечу на него в настоящее время. VHD в настоящее время поддерживается qemu-img. Аргумент в пользу виртуального жесткого диска ВКК. Это было найдено здесь http://docs.openstack.org/image-guide/content/ch_converting.html
в случае разрыва ссылки, вот копия / прошлое
преобразование изображений из одного формата в другой, как правило, проста. преобразование qemu-img: raw, qcow2, VDI, VMDK
команда qemu-img convert может выполнять преобразование между несколькими форматами, включая raw, qcow2, VDI (VirtualBox), VMDK (VMWare) и VHD (Hyper-V). Таблица 7.1. строки формата qemu-img
этот пример преобразует файл изображения raw с именем centos63.dsk в файл образа qcow2.
для преобразования из vmdk в raw, вы бы сделали:
параметр-F формат флага не является обязательным. Если опущено, qemu-img будет попробуйте вывести формат изображения.
VBoxManage: VDI (VirtualBox) в raw
Если образ VDI создан с помощью VirtualBox, его можно преобразовать в формат raw с помощью средства командной строки VBoxManage, поставляемого с VirtualBox. В Mac OS X VirtualBox по умолчанию хранит образы в каталоге
/ VirtualBox VMs/. В следующем примере создается образ raw в текущем каталоге из образа VirtualBox VDI.
/ VirtualBox\ VMs / fedora18.vdi федора18.img —format raw
Источник
Как мне преобразовать файл .img в VHD?
У меня есть файл образа (образ на основе Linux) и я хочу преобразовать его в VHD, чтобы его можно было использовать для создания виртуальных машин Hyper-V.
Я использовал «qemu-img convert» для преобразования raw в формат vpc, но vpc не работает для hyper-V, а vhd не поддерживается «qemu-img convert».
Каков был бы правильный способ сделать это?
Изображение имеет только один раздел:
4 ответа 4
VhdTool должен быть в состоянии сделать преобразование.
Я не уверен, как долго это было так, но так как это результат поиска № 1 по этому вопросу, я отвечу на него в настоящее время. VHD в настоящее время поддерживается qemu-img. Аргументом для VHD является vpc. Это было найдено здесь http://docs.openstack.org/image-guide/content/ch_converting.html
В случае разрыва ссылки, вот копия / прошлое
Преобразование изображений из одного формата в другой обычно не вызывает затруднений. qemu-img convert: raw, qcow2, VDI, VMDK
Команда qemu-img convert может выполнять преобразование между несколькими форматами, включая raw, qcow2, VDI (VirtualBox), VMDK (VMWare) и VHD (Hyper-V). Таблица 7.1. строки формата qemu-img
В этом примере будет преобразован необработанный файл изображения с именем centos63.dsk в файл изображения qcow2.
Чтобы конвертировать из vmdk в raw, вы должны сделать:
Флаг формата -f является необязательным. Если опущено, qemu-img попытается определить формат изображения.
VBoxManage: VDI (VirtualBox) в сыром
Если вы создали образ VDI с помощью VirtualBox, вы можете преобразовать его в необработанный формат с помощью инструмента командной строки VBoxManage, поставляемого с VirtualBox. В Mac OS X VirtualBox по умолчанию сохраняет изображения в каталоге
/VirtualBox VMs/. В следующем примере создается необработанный образ в текущем каталоге из образа VirtualBox VDI.
/VirtualBox\ VMs/fedora18.vdi fedora18.img —format raw
Источник
Как создать образ диска VHD из живой системы Linux?
Еще раз, я должен прибегнуть к экспертам здесь в SuperUser, так как другие мои источники (в основном Google ;-)) не оказались очень полезными .
В общем, я хотел бы создать VHD-образ физического диска, который будет заархивирован / доступен / даже смонтирован на виртуальной машине. Сейчас в Интернете есть десятки статей и учебных пособий о том, как это сделать, но ни одна из них не отвечает именно тем условиям, которых я хотел бы достичь:
- Я хотел бы, чтобы конечный файл представлял собой образ VHD, поскольку Windows 7 может монтировать его непосредственно, даже по сети, и многие другие программы могут использовать его (VirtualBox, . )
- Диск, который я пытаюсь создать образ, содержит установку Windows XP, поэтому теоретически я мог бы использовать утилиту disk2vhd , но я бы хотел найти решение, которое не требует загрузки при установке Windows XP (т. Е. Сохранить диск на только)
- Поэтому я искал решение, включающее какую-то живую систему (работающую с USB-накопителя или по сети).
Однако все решения, с которыми я сталкивался, либо используют disk2vhd либо используют команду dd в linux, которая делает полную копию диска (то есть даже пустые блоки) и не выводит файл VHD. Есть ли инструмент / программа под Linux, которая может напрямую создавать VHD-файл? Или возможно преобразовать необработанный образ диска, созданный с помощью dd, в файл VHD, не выделяя место для пустых блоков? Как бы вы поступили?
Как всегда, любой совет или комментарий высоко ценится!
6 ответов 6
Для дальнейшего использования, вот как я, наконец, поступил, с несколькими комментариями по различным возникшим проблемам или ловушкам:
1. Загрузите машину с работающей системой Linux
Первым шагом была загрузка машины с диском в образ с использованием живой системы Linux.
ПРИМЕЧАНИЕ. Моей первой идеей было использование USB-диска Ubuntu Live, но машина не поддерживала загрузку с USB, поэтому мне было проще использовать старый Knoppix live CD.
2. Создайте образ диска с помощью dd и передайте данные через ssh
Затем я скопировал все содержимое диска в образ файла на моем локальном сервере, используя dd и передав данные через ssh :
$ dd if =/dev/hdX bs = 4k conv = noerror, sync | ssh -c blowfish myuser @ myserver ‘dd of = myfile.dd’
Несколько комментариев здесь: этот метод будет читать все содержимое диска, поэтому это может занять очень много времени (мне потребовалось 5 часов для диска 80 Гб). Узким местом является не сеть, а скорость чтения с диска. Перед запуском копии я советую проверить параметры BIOS/ диска / системы, чтобы убедиться, что диск и материнская плата работают с максимально возможной скоростью (это можно проверить с помощью команды hdparm -i и запустив тест с помощью hdparm -Tt /dev/hdX ).
ПРИМЕЧАНИЕ: dd не выводит ход операции, но мы можем заставить его сделать это, отправив сигнал USR1 в PID процесса dd с другого терминала:
3. Восстановить неиспользуемое пространство
На этом этапе исходный компьютер больше не нужен, и мы будем работать исключительно на конечном сервере (также под управлением Linux). VirtualBox будет использоваться для преобразования необработанного образа диска в формат VHD, но перед этим мы можем обнулить неиспользуемые блоки, чтобы VirtualBox не выделял для них место в конечном файле.
Для этого я смонтировал изображения как устройство с обратной связью:
ПРИМЕЧАНИЕ. Смещение, обозначающее начало раздела в образе диска, можно получить, используя parted в файле образа:
ПРИМЕЧАНИЕ 2. Драйвер NTFS для ядра Linux по умолчанию обеспечивает доступ только для чтения, поэтому необходимо установить и использовать драйвер ntfs-3g userspace, иначе запись на диск вызовет ошибку!
4. Создайте образ VHD с помощью VBoxManage
На этом этапе мы можем использовать утилиты VirtualBox для преобразования необработанного изображения в файл VHD:
Я пытался сделать то же самое, что и OP (спасая установку Windows), и закончил тем, что создал для него новый инструмент, ntfsclone2vhd .
Вы бы тогда просто сделали что-то вроде этого:
Одним из подходов является использование нескольких удобных технологий: VirtualBox и пакета ntfsprogs .
Последние версии VirtualBox позволяют создавать файлы жесткого диска VHD, в то время как ntfsprogs предоставляет утилиту ntfsclone . Как следует из его названия, ntfsclone клонирует файловые системы NTFS, и я считаю, что он делает это на уровне файловой системы, пропуская неиспользуемые блоки диска.
Итак, для начала создайте новую виртуальную машину в VirtualBox и предоставьте для нее новый пустой диск VHD-файла. Диск VHD должен иметь размер, равный размеру данных, используемых на физическом диске, который вы хотите клонировать (ну, на самом деле, сделайте его немного больше, чтобы обеспечить некоторое пространство для маневра).
Затем найдите Linux live CD, который содержит пакет ntfsprogs , а также openssh-server . Мне нравится System Rescue CD для этого, но почти все живые CD на основе Debian или Ubuntu также должны работать.
Загрузите виртуальную машину VirtualBox с живого компакт-диска Linux и запустите sshd внутри виртуальной машины, чтобы вы могли выполнять команды на ней удаленно. Разделите пустой VHD-диск по назначению, используя любой инструмент для создания разделов, который вы предпочитаете (мне нравится обычный старый fdisk , но я немного староват).
Загрузите компьютер, содержащий физический диск, который вы хотите клонировать, с другой копией Live CD. Я предполагаю, что виртуальная машина VirtualBox и эта машина доступны друг другу по сети. На этом компьютере выполните следующую команду (все в одной строке):
- /dev/sdXX — имя устройства (на локальном компьютере) физического диска, который вы хотите клонировать, и
- /dev/sdYY — имя устройства (в виртуальной машине) целевого диска VHD.
Объяснение: Первая команда ntfsclone в конвейере извлекает образ исходной файловой системы NTFS и отправляет его через туннель ssh, а вторая команда ntfsclone получает образ и восстанавливает его на диске VHD.
После завершения операции файл VHD должен содержать точный клон файлового файла исходного физического диска (за исключением любых аппаратных ошибок, таких как поврежденные сектора, которые могут привести к преждевременному прерыванию процесса).
Последнее, что вы можете сделать, это запустить Windows chkdsk на диске VHD, просто чтобы убедиться, что клонирование не принесло никаких проблем (этого не должно быть, но, эй, я немного параноидален в этих вещах),
Источник