Статья про миграцию была в легком формате, чтобы понять общие принципы, поэтому некоторые подробности вынесены сюда.
Kpartx
Это программа, позволяющая создавать системные файлы устройств для разделов диска (или любого блочного устройства), только на момент начала экспериментов я ее не нашел..
После создания образа, его монтирования и создания раздела нам надо создать на нем файловую систему.
Mdadm
Если исходная система жила на программном рейде mdadm или с pae (bigmem-ядром при 32-битной ОС), то дополнительно необходимо будет исправить порядок загрузки в grub и обновить initrd.
Usb-ключ
Тесты проводились в GUI режиме, где в меню device - usb device устройство было "добавлено" к ВМ. Если же понадобится запустить ВМ из консоли, то надо узнать UUID данного usb-устройства и добавить его к ВМ и/или добавить фильтр usb.
Grub
Вообще, по идее, загрузчик grub можно установить в образ и из хост-системы. Это будет выглядеть как-то так:
Kpartx
Это программа, позволяющая создавать системные файлы устройств для разделов диска (или любого блочного устройства), только на момент начала экспериментов я ее не нашел..
После создания образа, его монтирования и создания раздела нам надо создать на нем файловую систему.
#fdisk -l /dev/loop0 Disk /dev/loop0: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x6062588a Device Boot Start End Sectors Size Id Type /dev/loop0p1 * 2048 20971519 20969472 10G 83 LinuxСмотрим вывод fdisk. Нас интересует сектор начала раздела и размер сектора: 2048*512=1048576. Монтируем раздел вручную со смещением.
#losetup --show -f -o 1048576 partition.img /dev/loop1Теперь создадим на не файловую систему. Рассчитываем количество блоков ФС по формуле ((end - start) * units) / blocksize с округлением до следующего целого: ((20971519-2048)*512)/4096=2621184
#mkfs.ext3 -b 4096 /dev/loop1 2621184Далее все как в первой статье.
Mdadm
Если исходная система жила на программном рейде mdadm или с pae (bigmem-ядром при 32-битной ОС), то дополнительно необходимо будет исправить порядок загрузки в grub и обновить initrd.
#grub-install --recheck --no-floppy /dev/sda #nano /etc/default/grub #update-initramfs -u -k all #update-grub
Usb-ключ
Тесты проводились в GUI режиме, где в меню device - usb device устройство было "добавлено" к ВМ. Если же понадобится запустить ВМ из консоли, то надо узнать UUID данного usb-устройства и добавить его к ВМ и/или добавить фильтр usb.
#VBoxManage list usbhost #VBoxManage startvm VM (--type headless) #VBoxManage controlvm VM usbattach UUID #VBoxManage list usbfilters #VBoxManage usbfilter add 1 --target VM --name FilterName --vendorid VendorId --productid ProductId #VBoxManage controlvm VM poweroff
Grub
Вообще, по идее, загрузчик grub можно установить в образ и из хост-системы. Это будет выглядеть как-то так:
#fdisk -l --units=cylinders /dev/loop0 Disk /dev/loop0: 10 GiB, 10737418240 bytes, 20971520 sectors Geometry: 107 heads, 17 sectors/track, 1305 cylinders Units: cylinders of 1819 * 512 = 931328 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x6062588a Device Boot Start End Cylinders Size Id Type /dev/loop0p1 * 2 11530 11529 10G 83 Linux
#grub --device-map=/dev/null grub> device (hd0) partition.img grub> geometry (hd0) 1305 107 17 grub> root (hd0,0) grub> setup (hd0) You'll get a lot of output, then: Done. grub> quitВозможно как-то еще можно из хост-системы в образе сделать и update-grub, но у меня пока это не получилось.
Комментариев нет:
Отправить комментарий