вторник, 4 октября 2011 г.

конвертируем virtualbox-vdi в прямой образ

конвертируем virtualbox-vdi в прямой образ

Можно спец утилитками, можно просто руками - откусить заголовок..

Руками:
(размер диска 4 гига, или 4 294 967 296 байт)
virtualbox у меня под виндой, там в фаре открыл образ (F3) и F4 - в HEX. И видим первой строкой <<< Sun VirtualBox Disk Image >>>, из такого образа мы явно не сможем загрузиться.
Теперь в виртуалке (фря) делаем hexdump -C /dev/ad0
В начале диска - загрузчик, его и будем искать. Для MBR - Invalid partition, это можно сделать и глазами. Или FC 31 C0 8E - первые байты на диске в 2-байтовом представлении. Для GPT со смещения 200h идёт EFI PART
Фар - поиск - нашу строку. Смещение - 16896 байт или 4200h, это 16к+512 или 4000h+200h
Но задать смещение для dd можно только в блоках, так что можно выставить блок в 512 байт и пропустить 32+1 блока или задать блок равным 16896.
Теперь дело техники, dd if=file.vdi of=file.img bs=16896 skip=1
Размер нового файла должен быть на 16896 байт меньше.
Вот в обратную сторону так сконвертировать не получится - это 33 блока заняты служебной информацией и надо через создание новой машины или конверторами.
Для диска в 8 гиг (GPT) начальное смещение было 9000h, или 64+8 блоков. При этом на мандриве 8 гиг диске было 8200h. Логики в размещении я пока не вижу, поэтому лучше смотреть смещение глазами. (для линукса можно искать например GRUB), но лучше через dd или hexdump посмотреть заголовок и его искать.

Комментариев нет:

Отправить комментарий