[an error occurred while processing this directive]

Преобразование дисковых разделов для VirtualBox и обратно
Преобразование существующего дискового раздела в формат виртуальной машины VirtualBox.

Создаем слепок дискового раздела /dev/sda1

   dd if=/dev/sda1 bs=512k of=os_image.img

Преобразуем созданный образ в формат VDI:

   VBoxManage convertdd os_image.img os_image.vdi --format VDI



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

Если внутри виртуального диска один раздел, конвертируем VDI в сырой дамп:

   VBoxManage internalcommands converttoraw os_image.vdi os_image.img

или 

   VBoxManage clonehd os_image.vdi /путь/os_image.img --format RAW

Вычисляем смещение до нужного раздела:

   fdisk os_image.img

   Команда (m для справки): p

   Диск os_image.img: 0 МБ, 0 байт
   16 heads, 63 sectors/track, 0 cylinders
   Units = цилиндры of 1008 * 512 = 516096 bytes
   Sector size (logical/physical): 512 bytes / 512 bytes
   I/O size (minimum/optimal): 512 bytes / 512 bytes
   Disk identifier: 0x00000000

   Устр-во Загр     Начало    Конец    Блоки    Id  Система
   os_image.img1    1         213      107320+  83  Linux

Раздел начинается с первого трека, значит смещение будет 63 * 512 = 32256

Монтируем:

   sudo mount -o loop,offset=32256 os_image.img /mnt


Записываем на диск /dev/sda8 (skip=63 - пропускаем 63 блока по 512 байт (bs=512)):

   dd if=os_image.img bs=512 skip=63 of=/dev/sda8

если в образе больше одного раздела необходимо также указать размер копируемых
данных через опцию count=N, где N - размер в 512 байтных блоках.

Локальное монтирование статического VDI-образа.
К ранее рассчитанному смещению для дискового раздела, нужно учесть размер
заголовка (512 байт) и системного индекса VDI (4 байт на каждый мегабайт
размера VDI).

   ls -al os_image.vdi
   -rw------- 1 test test 110101504 2010-12-20 21:47 os_image.vdi

Для диска размером 105 Мб получаем смещение: 32256 + 512 + 4*(110101504/(1024*1024)) = 33188

Значение 33188 дополняем до границы в 512 байт:
   echo "33188 - 33188 % 512 + 512" | bc
   33280

Монтируем:

   mount -o loop,offset=33280 os_image.vdi /mnt/vdi

Внимание ! Монтирование динамически расширяемых VDI невозможно, так как они
имеют неоднородную структуру.

Изменение размера VDI-образа:

Самый простой способ создать пустой VDI нужного размера, из виртуального
окружения разметить на нем ФС и скопировать данные. Любители графических
интерфейсов могут загрузить в виртуальном окружении LiveCD c gparted (http://gparted.sourceforge.net/).

Дополнение от pavlinux:

Еще один метод локального монтирования статического VDI-образа.

   # modprobe nbd max_part=8 nbds_max=1
   # qemu-nbd --connect=/dev/nbd0 WindowsXPSP3.vdi
   # fdisk -l /dev/nbd0

   Устр-во Загр     Начало       Конец       Блоки   Id  Система
   /dev/nbd0p1   *           1        2813    22595391    7  HPFS/NTFS

   # mount -t ntfs-3g /dev/nbd0p1 /media/foofeel
   # ls  /media/foofeel

   AUTOEXEC.BAT  boot.ini    Documents and Settings  MSDOS.SYS 
 
21.12.2010
Ключи: virtualbox, resize, disk, mount / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Виртуализация - Xen, OpenVZ, KVM, Qemu

[an error occurred while processing this directive]

[an error occurred while processing this directive]