Разное

Vhd в iso: как из vhd сделать iso ? Способ — хакерская флешка

Содержание

Подготовка обобщенного образа на основе ISO-образа для развертывания виртуальных машин на устройстве GPU Azure Stack Edge Pro

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья
  • Чтение занимает 5 мин

ОБЛАСТЬ ПРИМЕНЕНИЯ:Azure Stack Edge Pro — GPUAzure Stack Edge Pro 2Azure Stack Edge ProAzure Stack Edge Mini R

Для развертывания виртуальных машин на устройстве GPU Azure Stack Edge Pro требуется возможность создавать пользовательские образы виртуальных машин, которые можно использовать для создания виртуальных машин. В этой статье объясняется, как подготовить образ виртуальной машины Windows с помощью установочного носителя ISO, а затем обобщить этот образ, чтобы использовать его для развертывания нескольких новых виртуальных машин на устройстве GPU Azure Stack Edge Pro.

Сведения о подготовке обобщенного образа, созданного на основе VHD или VHDX операционной системы Windows, см. в статье Использование обобщенного образа из VHD с ОС Windows с целью создания образа виртуальной машины для устройства Azure Stack Edge Pro.

Сведения об образах виртуальных машин

Виртуальный жесткий диск Windows или VHDX можно использовать для создания

специализированного или обобщенного образа. В приведенной ниже таблице указаны основные различия между специализированными и обобщенными образами.

Тип образаУниверсальныйСпециализированный
Целевой объектРазвертывается на любой системе.Предназначен для конкретной системы.
Настройка после загрузкиПри первой загрузке виртуальной машины необходима настройка.Установку выполнять не требуется.
Платформа включает виртуальную машину.
КонфигурацияТребуются значения имени узла, администратора и другие значения, специфические для виртуальной машины.Предварительно настроено.
Используется в следующих случаях:создание нескольких новых виртуальных машин из одного образа;перенос конкретного компьютера или восстановление виртуальной машины из предыдущей резервной копии.

Рабочий процесс

Общий порядок действий для создания обобщенного VHD Windows с помощью ISO-образа:

  1. Подготовьте исходную виртуальную машину с помощью ISO-образа:
    1. Создайте новый пустой диск VHD фиксированного размера в диспетчере Hyper-V.
    2. Используйте этот диск VHD для создания виртуальной машины.
    3. Подключите ISO-образ к DVD-дисководу новой виртуальной машины.
  2. Запустите виртуальную машину и установите операционную систему Windows.
  3. Подготовьте обобщенный VHD с помощью служебной программы sysprep.
  4. Скопируйте обобщенный образ в Хранилище BLOB-объектов Azure.

Предварительные требования

Перед созданием обобщенного диска VHD Windows с помощью ISO-образа убедитесь, что:

  • У вас есть ISO-образ для поддерживаемой версии Windows, которую вы хотите преобразовать в обобщенный диск VHD. ISO-образы Windows можно скачать на странице центра оценки Майкрософт.

  • У вас есть доступ к клиенту Windows с установленным диспетчером Hyper-V.

  • У вас есть доступ к учетной записи Хранилища BLOB-объектов Azure для сохранения VHD после его подготовки.

Подготовка исходной виртуальной машины с помощью ISO-образа

При использовании ISO-образа для установки операционной системы на образ виртуальной машины начните с создания пустого диска VHD фиксированного размера в диспетчере Hyper-V. Затем используйте этот диск VHD для создания виртуальной машины. После этого нужно подключить ISO-образ к виртуальной машине.

Создание VHD в диспетчере Hyper-V

Первым шагом является создание VHD поколения 1 в диспетчере Hyper-V. Он будет исходным VHD для новой виртуальной машины.

Чтобы создать VHD:

  1. Откройте диспетчер Hyper-V в клиентской системе. В меню Действие выберите команду Создать, а затем — элемент Жесткий диск.

  2. В разделе Выбор формата диска выберите значение VHD. Затем нажмите кнопку Далее >.

  3. В разделе Выбор типа диска выберите элемент Фиксированный размер. Затем нажмите кнопку Далее >.

  4. В разделе Укажите имя и расположение введите имя и расположение для нового диска VHD. Затем нажмите кнопку Далее >.

  5. В разделе Настройка диска выберите элемент Создать пустой виртуальный жесткий диск и введите размер диска, который требуется создать (обычно 20 ГБ и больше для Windows Server). Затем нажмите кнопку Далее >.

  6. В разделе Сводка просмотрите выбранные параметры и нажмите кнопку Готово, чтобы создать VHD. Процесс займет не более пяти минут. Точное время зависит от размера VHD.

Создание виртуальной машины Hyper-V на основе VHD

Теперь вы будете использовать только что созданный диск VHD для создания виртуальной машины.

Чтобы создать виртуальную машину:

  1. Откройте диспетчер Hyper-V на клиентском компьютере с ОС Windows.

  2. На панели Действия выберите команду Создать, а затем — элемент Виртуальная машина.

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

  4. В разделе Укажите поколение выберите Поколение 1 или Поколение 2. Затем нажмите кнопку Далее >.

  5. В разделе Назначение памяти назначьте виртуальной машине требуемый объем памяти. Затем нажмите кнопку

    Далее >.

  6. В разделе Настройка сети задайте конфигурацию сети. Затем нажмите кнопку Далее >.

  7. На странице Подключить виртуальный жесткий диск выберите параметр Использовать имеющийся виртуальный жесткий диск и перейдите к VHD, который был создан на предыдущем этапе. Затем нажмите кнопку Далее >.

  8. Просмотрите сводную информацию. Для создания виртуальной машины нажмите кнопку Готово.

Подключение образа ISO к DVD-дисководу виртуальной машины

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

  1. В диспетчере Hyper-V выберите только что созданную виртуальную машину и щелкните элемент Settings (Параметры).

  2. Просмотрите раздел BIOS и убедитесь, что CD находится на первой строке списка Startup order (Порядок загрузки).

  3. В разделе DVD Drive (DVD-дисковод) выберите Image file (Файл образа) и перейдите к ISO-образу.

  4. Нажмите кнопку ОК, чтобы сохранить параметры виртуальной машины.

Запуск виртуальной машины и завершение установки ОС

Чтобы завершить создание виртуальной машины, необходимо ее запустить и выполнить пошаговые инструкции по установке операционной системы.

  1. В диспетчере Hyper-V на панели областей щелкните правой кнопкой мыши имя виртуальной машины, чтобы открыть контекстное меню, а затем выберите Запустить.

  2. Когда для виртуальной машины будет отображаться состояние

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

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

Примечание

Если вы установили на виртуальную машину операционную систему Windows Server 2019 Standard, необходимо изменить параметр BIOS на IDE, прежде чем обобщать VHD.

Подготовка обобщенного VHD

Подготовьте обобщенный VHD с помощью служебной программы sysprep.

  1. Если вы обобщаете виртуальную машину Windows Server 2019 Standard, перед обобщением VHD выберите в качестве первого параметра BIOS виртуальной машины IDE.

    1. В диспетчере Hyper-V выберите виртуальную машину и выберите элемент Settings (Параметры).

    2. Просмотрите раздел BIOS и убедитесь, что IDE находится на первой строке списка Startup order (Порядок загрузки). Затем нажмите кнопку ОК, чтобы сохранить параметр.

  2. В виртуальной машине откройте командную строку.

  3. Выполните следующую команду, чтобы создать обобщенный VHD.

    c:\windows\system32\sysprep\sysprep.exe /oobe /generalize /shutdown /mode:vm
    

    Дополнительные сведения см. в статье Обзор Sysprep (подготовка системы).

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

Теперь VHD можно использовать для создания обобщенного образа на устройстве GPU Azure Stack Edge Pro.

Отправка обобщенного виртуального жесткого диска в хранилище BLOB-объектов Azure

  1. Отправьте VHD в хранилище BLOB-объектов Azure. Подробные инструкции см.

    в разделе Отправка VHD с помощью обозревателя службы хранилища Azure.

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

Дальнейшие действия

  • Развертывание виртуальной машины из обобщенного образа с помощью портала Azure
  • Использование обобщенного образа из VHD с ОС Windows с целью создания образа виртуальной машины для устройства Azure Stack Edge Pro
  • Подготовка специализированного образа и развертывание виртуальных машин с его помощью

Загрузка Linux с VHD на компьютере с UEFI / Хабр

В статье о возможности загружать Linux с VHD был предложен способ загружать Linux на машине с Windows без необходимости разбивать диск на разделы. Но было одно существенное ограничение: рассматривался только вариант загрузки BIOS, т.е. legacy-загрузки. Сейчас появляется всё больше устройств без поддержки режима legacy (например, многие ноутбуки, выпущенные в 2020 году). Поэтому в этой статье будет рассмотрена загрузка Linux с VHD на компьютерах с UEFI.

В чём отличия UEFI от BIOS, в интернете описано достаточно подробно, можно посмотреть, например, в этой статье. Для нас наиболее важным будет необходимость использовать разметку GPT для загрузочного диска и при создании разделов на VHD. Эксперименты проводились при отключенном Secure Boot. Не буду подробно останавливаться на моментах, описанных в предыдущей части. Как и ранее, предполагается, что читатель имеет представление о работе с консолью в Windows и Linux, умеет работать со стандартными системными утилитами, с ПО для виртуализации и т.п.

Предварительно отмечу еще ряд моментов. Можно было бы рассмотреть загрузку системы с внутреннего жесткого диска компьютера, но мы немного усложним задачу и будем загружать систему со съемного USB-диска, на котором будет располагаться VHD-файл. Все действия применимы и для внутреннего жесткого диска, а некоторые особенности будут отмечены в отдельном разделе.

Разработчики grub4dos недавно выпустили версию своего загрузчика для UEFI. При использовании версии grub4dos-for_UEFI-2021-02-10.7z на виртуальной машине у меня не возникло особых проблем при загрузке Linux с VHD, но на реальном железе при работе с тем же самым образом VHD была получена ошибка: Error 24: Attempt to access block outside of partition. С учетом простоты, с которой UEFI позволяет заменить загрузчик (простая замена файла), было решено воспользоваться загрузчиком grub2 из дистрибутива Debian debian-10.8.0-amd64-netinst.iso.

Установка Linux на VHD

Есть два ключевых отличия от варианта для BIOS:

1) в настройках VirtualBox необходимо установить опцию «Enable EFI»;

Настройки VirtualBox

2) при установке Debian диск был разбит на два раздела: ESP (EFI system partition) размером ~100 Мб, отформатированный в FAT32, и EXT4, занимающий всё оставшееся место.

Разметка дисков

Возможны и другие варианты разбиения. Раздел ESP при желании можно вынести за пределы VHD (он нам нужен только для загрузки на виртуальной машине), но все дальнейшие настройки сделаны исходя из того, что на VHD будет два раздела.

Подготовка Linux к загрузке с VHD

Скрипт из предыдущей статьи нам подходит для загрузки на локальном компьютере, где состав дисков меняется редко и заранее известно, на каком диске хранится VHD-файл. Но мы себе поставили новую цель: иметь возможность загружаться с USB-носителя на любом компьютере с любой конфигурацией жестких дисков. Загрузчики grub4dos и grub2 умеют искать файлы на доступных разделах и работать с UUID разделов. Мы этим воспользуемся при создании конфигурационного файла загрузчика, а пока добавим обработку UUID в скрипт loop_boot_vhd.

loop_boot_vhd
#!/bin/sh
PREREQ=""
prereqs()
{
	echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
	prereqs
	exit 0
	;;
esac
cmdline=$(cat /proc/cmdline)
for x in $cmdline; do
	value=${x#*=}
	case ${x} in
		root=*) value_loop_check=${value#*loop}
			if [ x$value_loop_check != x$value ]
				then loop_dev=${value%p*}
				loop_part_num=${value##*p}
				else echo "Root device is not a loop device. loopboot hook will be terminated. "; return
			fi ;;
		loop_file_path=*) loop_file_path=$value ;;
		loop_dev_path=*) loop_dev_path=$value ;;
		loop_dev_uuid=*) loop_dev_uuid=$value ;;
	esac
done
if [ -z $loop_file_path ] || ([ -z $loop_dev_path ] && [ -z $loop_dev_uuid ])
	then echo "Either loop_file_path or loop_dev_path/loop_dev_uuid parameter does not specified. loopboot hook will be terminated."; return
fi
modprobe loop max_part=64 max_loop=8
for n in 1 2 3 4 5 6 7 8 9 10; do
	if [ ! -z $loop_dev_uuid ]; then
		loop_dev_path=$(findfs UUID=$loop_dev_uuid)
	fi
	test_usb_ready=$(ls $loop_dev_path 2>&1)
	if [ "$loop_dev_path" != "$test_usb_ready" ]; then
		echo "wait for $loop_dev_path ($loop_dev_uuid): $n"
		sleep 1
	else
		break
	fi
done
loop_dev_type=$(blkid -s TYPE -o value $loop_dev_path)
if [ ! -d /host ]; then
	mkdir /host
fi
if [ "$loop_dev_type" != "ntfs" ]
	then mount -t $loop_dev_type $loop_dev_path /host; echo "mount -t $loop_dev_type $loop_dev_path /host"; echo "mounted using mount";
	else ntfs-3g $loop_dev_path /host; echo "mounted using ntfs-3g";
fi
losetup $loop_dev /host$loop_file_path

В скрипт добавлено считывание нового параметра loop_dev_uuid. В нём ожидается UUID раздела, на котором находится VHD-файл (путь к нему передается, как и раньше, в параметре loop_file_path). Если задан loop_dev_uuid, то значение, переданное в loop_dev_path, игнорируется и заменяется на найденный по UUID путь к устройству. Кроме того, если диск подключен по USB, то он может определяться в системе с задержкой. Поэтому добавлено ожидание (до 10 секунд), во время которого выполняется ежесекундная проверка, появилось нужное устройство или нет. Мы ищем раздел по UUID с помощью утилиты findfs. Она не входит в образ initramfs, для её добавления необходимо создать скрипт /etc/initramfs-tools/hooks/copyfindfs (не забывайте делать скрипты исполняемыми).

copyfindfs
#!/bin/sh
cp -p /usr/sbin/findfs "$DESTDIR/bin/findfs"

Скрипт loop_boot_vhd необходимо расположить, как и ранее, в /etc/initramfs-tools/scripts/local-top/. После чего пересобрать initramfs, и VHD-образ можно считать готовым.

update-initramfs -c -k all

Настройка grub.

cfg

В GRUB2 можно получить UUID раздела с помощью модуля probe, поэтому он должен быть в сборке. За основу была взята сборка GRUB2 с установочного диска Debian, для загрузки нам понадобятся следующие файлы:

\EFI\boot\bootx64.efi
\EFI\boot\grubx64.efi
\boot\grub\x86_64-efi\probe.mod

Их необходимо скопировать на EFI-раздел USB-диска:

\EFI\boot\bootx64.efi
\EFI\boot\grubx64.efi
\EFI\debian\x86_64-efi\probe.mod

Далее необходимо создать конфигурационный файл \EFI\debian\grub.cfg.

grub.cfg
menuentry "vhdUUID" {
  insmod probe
  set vhd_name="/debefi.vhd"
  search --no-floppy --set=vhd_dev --file $vhd_name
  probe -u $vhd_dev --set=vhd_uuid
  loopback loop ($vhd_dev)$vhd_name
  linux  (loop,gpt2)/boot/vmlinuz-4.19.0-14-amd64 root=/dev/loop0p2 rw loop_file_path=$vhd_name loop_dev_uuid=$vhd_uuid
  initrd (loop,gpt2)/boot/initrd.img-4.19.0-14-amd64
}

В cfg-файле всё достаточно очевидно, только обращу внимание, что VHD-файл имеет название debefi. vhd, и система будет искать его в корне всех найденных разделов. Для исключения ошибок название файла необходимо сделать уникальным для загружаемой системы. Ну и «gpt2» используется потому, что Linux установлен на втором разделе внутри VHD.

Особенности настройки параллельно с Windows bootloader

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

Я опишу один из вариантов реализации выбора между загрузкой Windows и Linux: с помощью замены загрузчика на GRUB2. Загрузка EFI-систем по умолчанию начинается с файла \EFI\Boot\BOOTX64.EFI, в Windows 10 используется \EFI\Microsoft\Boot\bootmgfw.efi. Заменить загрузчик Microsoft на GRUB2 можно просто заменив файл. Необходимо быть внимательным, если сомневаетесь в получении результата с первого раза, то лучше сначала поэкспериментируйте на виртуальной машине. С помощью diskpart.exe надо подключить EFI-раздел Windows, на котором необходимо:

  • переименовать/перенести файл \EFI\Microsoft\Boot\bootmgfw.efi в \EFI\boot\ms.efi;

  • файл bootx64.efi из ISO-образа Debian переименовать в \EFI\Microsoft\Boot\bootmgfw.efi;

  • grubx64.efi разместить в \EFI\Microsoft\Boot\grubx64.efi;

  • probe.mod разместить в \EFI\debian\x86_64-efi\probe.mod;

  • ранее созданный grub.cfg скопировать в \EFI\debian\grub.cfg и добавить пункт для передачи управления загрузчику Microsoft:

grub.cfg
menuentry "ms" {
  chainloader /EFI/boot/ms.efi
}

Теперь при загрузке сначала будет появляться меню GRUB2 с выбором загрузки Windows («ms») или Linux («vhdUUID»).

Если на каком-то из этапов загрузки возникают ошибки, то (как и с grub4dos) необходимо попытаться вводить команды вручную и смотреть, какие ошибки выдает система, как и куда монтируются разделы, доступны ли все необходимые файлы и т. п.

Преобразование VirtualBox .VDI .VHD .VMDK в загрузочный файл .iso

спросил

Изменено 4 месяца назад

Просмотрено 2к раз

Название в значительной степени описывает все это.

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

Мне удалось преобразовать его в .iso, но он НЕ ЗАГРУЖАЕТСЯ с физической машины.

Я пробовал:

 VBoxManage clonehd file.vdi output.iso --format RAW
 

Я пробовал:

 VBoxManage clonemedium --format RAW gangina.vdi gangina.img
 

Я пробовал:

 qemu-img convert -f vpc -O raw gangina.vhd gangina.raw
 

Я также пытался смонтировать загрузочный файл vdi и:

 sudo dd if={mountedDirectory} of=gangina. iso status=progress
 

, к сожалению, ни один из них не загружается с физической машины.

Мне грустно 🙁

  • VirtualBox
  • ISO
  • DD
  • Bootable
  • VDI

Вы не можете DD с установленным каталогом. весь диск

пример: dd sudo dd if={/dev/sda} of=filename.iso status=progress

Я предполагаю, что вы работаете на компьютере с Linux, но когда вы его получите, напишите на USB и подключите его в и загрузите его. Я использовал этот метод раньше с большим успехом!

в то время как вы можете сделать только раздел, скажем, sda1 или sda2 dd’ing весь диск достигнет того, что вы ищете.

Продолжайте в том же духе

Вы можете преобразовать загрузочный файл .VDI .VHD и .VMDK в загрузочный файл .iso следующим образом в Linux, например, p.e. Ubuntu, Mint или Debian:

Конвертировать .vdi в .img

 qemu-img convert -f vdi -O raw source_image.vdi target_image.img
 

Преобразование . vhd в .img

 qemu-img convert -f vpc -O raw source_image.vhd target_image.img
 

Convert

 qemu-img convert -f vmdk -O raw source_image.vmdk target_image.img
 

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Открыть файл VHD VHDX

./images/top1.jpg»>

Дом

Скачать

Купить

Учебники

Свяжитесь с нами

Открыть файл VHD VHDX

Вы находитесь здесь:  Учебники > Открыть файл VHD VHDX


VHD-файл — это файл образа виртуального диска, созданный Microsoft. Программное обеспечение для виртуального ПК. Файл VHD содержит все данные для виртуального диска. А vhd может содержать загрузочную информацию, таблицу разделов, файловую систему, файлы и папки, и вся остальная информация существуют на реальном жестком диске. VHDX-файл это файл Virtual Hard Disk v2, который похож на файл VHD, но предоставляет много новых функций, таких как большая емкость, лучшая производительность и надежность защита от повреждения данных.

С помощью PowerISO вы можете открыть файл VHD и VHDX, просмотреть файлов и папок, а также извлекать файлы в файл VHD/VHDX. Чтобы открыть VHD / vhdx, пожалуйста, следуйте инструкциям,

  • Запустите PowerISO.

  • Нажмите кнопку «Открыть» на панели инструментов или выберите Меню «Файл > Открыть» для открыть файл vhd vhdx .

  • Если в файле vhd vhdx несколько разделов, PowerISO будут перечислены все разделы, вам нужно выбрать раздел из списка, чтобы продолжать. Одновременно может быть открыт только один раздел. Пожалуйста, нажмите Кнопка «Импорт», когда вы выбрали нужный раздел.

  • PowerISO откроет файл vhd/x и выведет список все файлы и папки в выбранном разделе. Затем вы можете просмотреть и просмотреть содержимое в файле vhd или vhdx.

  • Если вы хотите извлечь файлы в VHD/ x, выберите файлы, которые вы хотите извлечь, затем нажмите кнопку «Извлечь» на панель инструментов, чтобы открыть диалоговое окно « Извлечь vhd vhdx файл ».

  • Диалоговое окно «Извлечь файл VHD VHDX» покажет. Пожалуйста, выберите каталог назначения для извлечения. Если вы хотите извлечь все файлы, вы следует выбрать опцию «Все файлы».

  • Нажмите кнопку «ОК», чтобы начать извлечение.

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

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