Сначала я создал созданное устройство loopback (/dev/loop0
) из чистого необработанного образа диска объемом 25 ГБ и разделил его на раздел размером 20 ГБ для файловой системы и остаток для раздела подкачки.
Не забудьте использовать kpartx
на устройстве loopback, чтобы «найти» новые разделы:
# kpartx -a /dev/loop0
# ls /dev/mapper/
control loop0p1 loop0p2
Я не был уверен, какую файловую систему использовать, поэтому я консервативно решил создать файловую систему ext2
в первом разделе:
# mkfs.ext2 /dev/mapper/loop0p1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1313760 inodes, 5245214 blocks
262260 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
161 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Создайте точку монтирования и смонтируйте раздел устройства loopback:
# mkdir /mnt/disk
# mount /dev/mapper/loop0p1 /mnt/disk
Перейдите в каталог монтирования и распакуйте архив:
# cd /mnt/disk
# tar xzvf /path/to/disk_archive.tar.gz
Используйте chroot
для монтирования нового образа диска в качестве корневой файловой системы:
# mount -t proc none /mnt/disk/proc
# mount -o bind /dev /mnt/disk/dev
# chroot /mnt/disk /bin/bash
Внесите все необходимые изменения в файловую систему (например, установите пакеты grub!)
Выйдите из chroot, размонтируйте и отсоедините все:
# umount /mnt/disk/dev
# umount /mnt/disk/proc
# umount /mnt/disk
# kpartx -d /dev/loop0
# losetup -d /dev/loop0
Наконец я создал виртуальную машину с этим в качестве жесткого диска. Я использовал Super Grub2 Disk для решения любых дальнейших проблем с загрузчиком.