Преобразование существующего дискового раздела в формат виртуальной машины 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/).
URL:
Обсуждается: http://www.opennet.me/tips/info/2501.shtml
Ничего не понял, зачем так?
Я например беру весь каталог ~/.Virtualbox и таскаю с компа на комп.
Переносил с FreeBSD на Windows XP и наоборот и никаких проблем или я что-то не понял?
> Ничего не понял, зачем так?
> Я например беру весь каталог ~/.Virtualbox и таскаю с компа на комп.Отладил систему в VirtualBox - залил на нормальный рабочий диск на невиртуальной системе. Нужно поэкспериментировать - создал себе из нормальной рабочей системы образ VirtualBox и экспериментируешь. Теперь причины понятны ?
Название темы ввело в заблуждение ;)
Навали-бы "Перенос виртуальной машины на реальное железо и обратно"
и вопросов бы не было и по моему точно отображает тему.
а это не перенос VM это преобразование виртуального HDD в реальный и обратно, а про перенос ВМ - речи не было... Скажем winxpsp3 у вас на реальном железе покажет черный экран в 90% случаев.
> или я что-то не понял?да
Да, хорошо в лине dd- и готово! А вот оффтопик-2000й чем лучше в образ слить, чтоб потом развернуть под слакой в виртбоксе? Подскажите люди добрыя...
vmware converter хорошо отрабатывает
поюзаем... спасиб!
dd под виндовс)))http://www.chrysocome.net/dd
спасибо... поюзаем...
есть dd под win32 и ImDisk. Но не уверен, что при работающем оффтопике получится корректно слить залоченное (реестр и прочая).
благодарю за совет. попробуем.
> Да, хорошо в лине dd- и готово! А вот оффтопик-2000й чем лучше
> в образ слить, чтоб потом развернуть под слакой в виртбоксе? Подскажите
> люди добрыя...Там надо не только диск конвертировать. у же на офтопике не подойдет реальный драйвер хдд-контроллера для виртуального и результатом будет черный экран. Нужно делать основательную подкотовку офтопика для того чтоб его потом на виртуальном железе запустить...
спасибо! пригодилось.
хорошая, годная тема.спасибо.
Вот не понял, зачем эти танцы с бубном, при наличии LifeCD и dump/restore ( ну или с той же CD загрузки сделать dd) - прекрасно проходит и для работы в Виртульной машине, причем любой, а не только VirtualBOX можно из одного гипервизора в другой переносить
> Локальное монтирование статического 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 ntldr Program Files System Volume Information
Bootfont.bin CONFIG.SYS IO.SYSИ ничего считать не надо! :-P
Есть же libgvestfs, а не городить велосипеды
> Есть же libgvestfs, а не городить велосипедыВелосипеды - это библиотеки реализующие UNIX-way, типа busybox, libvirt,...
а тут только подручные средства.
Не, библиотека конечно хорошо, как куча часто используемых фишек,
но только при часто выполняемых подобных операциях.
а ежели хочется из-под маздая хр х64 запускать 64-битный юних _с отдельного раздела_? Есть ли решение, работающее напрямую с разделами (не с образами), и к тому же быстро? Проц древний - АМД ТК55.
VirtualBox.Правда, для того, чтобы с его помощью это сделать, нужно предпринять шаг, столь непопулярный в среде 99% пользователей OpenNet'а -- нужно прочитать на VirtualBox документацию.
Причём достаточно _внимательно_ прочитать ОГЛАВЛЕНИЕ этой самой документации -- там специальный параграф под заданный вопрос отведён.
Ага. делал так, только наобарот, из под Линуха запускал Мастдай. Все нормально, только вот тормозило довольно сильно. Почему? Когда то же самое из файл-образа запускал скорость нормальная, а вот с физического раздела... :(
не, на оборот это каждый может... я так на BSD делаю, но в маздайке нужен directx + explorer (don't ask...)
> VirtualBox.
> Правда, для того, чтобы с его помощью это сделать, нужно предпринять шаг,
> столь непопулярный в среде 99% пользователей OpenNet'а -- нужно прочитать на
> VirtualBox документацию.
> Причём достаточно _внимательно_ прочитать ОГЛАВЛЕНИЕ этой самой документации -- там специальный
> параграф под заданный вопрос отведён.собсно, если поставить вмварь то и доки читать не надо, там если не путаю можно при создании виртуалльной маины указать реальных хдд с которым она будет работать.