Работа с qcow-диском из командной строки
-
Создать файл c точным размером. Можно выполнив следующие команды:
$ dd if=/dev/zero of=ff.img bs=1G count=1
или
$ truncate -s 1G ff.img
или
$ qemu-img create -f raw ff.img 10M
-
Подключить его, как блочное устройство, выполнив команду:
$ sudo kpartx -a ff.img
-
Проверить, выполнив команду:
$ losetup -l NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC /dev/loop1 0 0 1 1 /var/lib/snapd/snaps/core18_2284.snap 0 512 /dev/loop4 0 0 0 0 /home/sudo/ff.img 0 512
-
Создать раздел:
sudo parted /dev/loop4 p a mklabel gpt mkpart
-
Проверить разделы, выполнив команду:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 43,4M 1 loop /var/lib/snapd/snap/snapd/14549 loop4 7:4 0 1G 0 loop ├─loop4p1
-
Форматировать, выполнив команду:
sudo mkfs -t ext4 /dev/loop4p1
-
Смонтировать, выполнив команду:
sudo mount /dev/loop4p1 /mnt
-
Создать тестовый файл, выполнив команду:
sudo -c bash 'mkdir /mnt/1; echo "Hello, world" > /mnt/1/test.txt'
-
Отмонтировать, выполнив команду:
sudo umount /mnt
-
Удалить устройство обратной связи, выполнив команду:
kpartx -d ff.img
-
Конвертировать в формат qcow2, выполнив команду:
qemu-img convert -f raw -O qcow2 ff.img ff2.img
-
Проверить, выполнив команду:
qemu-img info ff.img image: ff2.img file format: qcow2 virtual size: 1 GiB (1073741824 bytes) disk size: 2.13 MiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false
-
Можно добавлять в виртуальную машину.