Shumaher’s_Blog@AlexZ.me

— yet another stupid personal weblog

Монтирование RAW-образов дисков в VirtualBox и VMware

Созданный вчера образ с Ubuntu root.disk можно не только грузить напрямую, но и использовать с виртуальными машинами. О том, как это сделать, я расскажу сегодня.
Но сначала о самом монтировании таких RAW-образов дисков в VirtualBox и VMware без конвертации в родные форматы VDI и VMDK. Это важно, потому что гугл предлагает для этого именно конвертацию.
Но, как известно, рано или поздно против любого лома находится соответствующий приём.

VirtualBox

Это [для меня] оказалось внезапным и неожиданным, но для того чтобы открыть образ в VirtualBox нужно всего лишь изменить его расширение на .hdd.
Т.е. образ будет называться root.hdd.
Правда тогда не получится использовать Wubi, потому что для успешной загрузки Ubuntu образ должен называться только root.disk и находиться в папке \ubuntu\disks.
Чтобы обойти это ограничение нужно создать симлинк: в ОС WinVista/7 для этого есть программа mklink, а о симлинках/хардликах в XP (и удобном их создании) я расскажу в следующий раз.
Ну а Linux-пользователи прекрасно знают, как делать ссылки на файлы:)


VMware

А вот с VMware всё несколько сложнее. Проблема в том, что этой программе вместе с образами нужны файлы-дескрипторы (тоже с разрешением .vmdk, как и "родные" диски VMware), содержащие параметры самого подключаемого образа.
Как создать такой файл вручную, вы можете прочитать в блоге Zapotek, или же использовать программу raw2vmdk от него же:

java -jar raw2vmdk.jar root.disk root.disk.vmdk



Нужна установленная Java RE.
В Windows путь до образа нужно писать с двойными обратными слэшами! Для справки читайте файл README.
Лучше всего хранить образ и дескриптор в одной директории — тогда полный путь писать не нужно, и можно его вообще удалить, оставив только имя файла. Так что после того как vmdk-файл создан, откройте его нормальным редактором (читать: не Блокнотом), и исправьте путь в строке RW.



Ну и наконец —

Загрузка Ubuntu из root.disk в виртуальной машине

Для этого есть аж целых два способа:
(Второй я придумал только что, перед тем как писать этот пост, и в принципе он лучше и делает первый не особо нужным. Но для истории я опишу тут их оба.)

Способ 1

Понадобится образ дискеты с GRUB4DOS и файлами wubildr и wubildr.mbr.
Как создать такую дискету читайте тут, а здесь несколько полезных ссылок на закачку и руководства.

Загружать виртуалку нужно будет с этой дискеты — она заменяет загрузчик основной ОС, который в обычных условиях (не в виртуалке) грузит Wubi. Но в итоге вы НЕ увидите меню GRUB, и нужно будет подгрузить grub.cfg вручную.

Способ 2

рекомендуется!

Можно сделать загрузочным сам образ root.disk, и тогда образ дискеты уже будет не нужен.
Для этого надо добавить параметр --allow-floppy в команду установки GRUB2.

Конфиг

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

menuentry 'Ubuntu [VM]' --class ubuntu --class gnu-linux --class gnu --class os {
	set root='(/dev/sda)'
	set uuid='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
	search --no-floppy --fs-uuid --set=root $uuid
	linux   /vmlinuz root=UUID=$uuid ro vt.handoff=7
	initrd  /initrd.img
}
menuentry 'Ubuntu (recovery mode) [VM]' --class ubuntu --class gnu-linux --class gnu --class os {
	set root='(/dev/sda)'
	set uuid='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
	search --no-floppy --fs-uuid --set=root $uuid
	echo    'Loading Linux ...'
	linux   /boot/vmlinuz root=UUID=$uuid ro single
	echo    'Loading initial ramdisk ...'
	initrd  /initrd.img
}



ВНИМАНИЕ: здесь уже используется UUID образа, а не NTFS-раздела на котором он лежит!



На этом всё.
С Новым годом!

VN:F [1.9.17_1161]
Rating: 0.0/5 (0 votes cast)
Оставьте свой комментарий




OpenID WordPress.com Yahoo

Это не спам.