Mise à jour : Debian 11.1 / Bullseye
Sommaire
$ qemu-img create disk.img 1G
$ qemu-img create -f qcow2 -o size=1G,preallocation=metadata disk.qcow2
est équivalent à un disque non partitionné
$ sudo parted disk.img -s mklabel gpt
$ sudo parted disk.img mkpart boot vfat 2M 200M mkpart root ext2 200M 100%
ne sont pas directement compatibles. Une étape supplémentaire (création de périphériques boucle) est nécessaire. Elle associe aux partitions des boucles de nom /dev/loopxy ayant les propriétés de périphériques bloc, utilisables avec ces utilitaires
$ sudo parted debian.img unit b print
...
Number Start End Size File system Name Flags
1 1048576B 537919487B 536870912B fat32 boot, esp
2 537919488B 20450377727B 19912458240B ext4
3 20450377728B 21473787903B 1023410176B linux-swap(v1)
$ sudo mount -o loop,offset=263192576 debian.img /mnt
Noter qu'une boucle (ici /dev/loop0) est automatiquement créée
$ lsblk -f /dev/loop?
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
loop0 vfat 95DC-12D0 467,4M 9% /mnt
$ sudo losetup --show -P -f disk.img
/dev/loop1
$ ls -l /dev/loop1*
brw-rw---- 1 root disk 7, 1 23 nov. 19:12 /dev/loop1
brw-rw---- 1 root disk 259, 5 23 nov. 19:12 /dev/loop1p1
brw-rw---- 1 root disk 259, 6 23 nov. 19:12 /dev/loop1p2
brw-rw---- 1 root disk 259, 6 23 nov. 19:12 /dev/loop1p2 brw-rw---- 1 root disk 259, 6 23 nov. 19:12 /dev/loop1p2
ou
$ lsblk -f /dev/loop1
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
loop10
├─loop1p1 vfat 12D9-B72D
├─loop1p2 ext4 ba98f324-a01a-438c-9856-2bd977982e57
├─loop1p3 swap bb326bcd-bf13-41b1-b615-9bdc2aa3be19
└─loop1p4
$ sudo parted disk.img unit b print |grep Number -A1
Number Start End Size File system Name Flags
1 1048576B 500170751B 499122176B fat32 EFI boot, esp
$ sudo losetup --find --show -o 1048576 disk.img
/dev/loop2
$ sudo mkfs.ext4 /dev/loop1p4
$ sudo fsck -n /dev/loop1p4
...
/dev/loop1p4 : propre, 11/516096 fichiers, 57844/2061568 blocs
$ lsblk -f /dev/loop1p4
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
loop10p4 ext4 93046d9d-2fec-42b7-993a-ff5851127a7d
Montage de la partition EFI /dev/loop1p1
$ sudo mount /dev/loop1p1 /mnt
$ df -Th /dev/loop10p1
Sys. de fichiers Type Taille Utilisé Dispo Uti% Monté sur
/dev/loop10p1 vfat 476M 6,6M 469M 2% /mnt
$ sudo mkdir /mnt/EFI/BOOT
$ sudo cp /mnt/EFI/debian/grubx64.efi /mnt/EFI/BOOT/bootx64.efi
$ sudo umount /mnt
$ sudo losetup -d /dev/loop10
$ sudo losetup --list
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop1 0 0 0 0 /home/XXXXXX/debian/disk.img 0 512
$ sudo losetup -j disk.img
/dev/loop0: [66308]:1872889 (/home/XXXXXX/debian/disk.img)
$ sudo losetup --detach /dev/loop10
$ sudo losetup -D