Personnellement, je préfère ajouter en utilisant dd
.
Je suppose des secteurs de 512 octets ici. Il peut y avoir un cas pour les secteurs de 2048 octets, alors échangez simplement les chiffres et faites le calcul.
Dans chaque cas, j'utilise un fichier de test de 512 Mo par exemple:
dd if=/dev/zero of=testfs.img bs=512 count=1M
mkfs.ext4 testfs.img
MBR
Composer l'image
Personnellement, je préfère ajouter le premier MB (2048 secteurs) à son début:
dd if=testfs.img skip=2048 bs=512 of=full.img
Enfin, exécutez fdisk pour créer la table de partition (ou copiez la vôtre), j'ai créé 1 partition en utilisant les valeurs par défaut.
Vérification
Pour vérifier, créez des partitions de boucle et détectez automatiquement:
sudo losetup -fP full.img
Et exécutez file
sur le périphérique de bouclage partitionné résultant:
sudo file -s /dev/loop2p1
/dev/loop2p1: Linux rev 1.0 ext4 filesystem data, UUID=ae2945fd-54b5-486f-8dd0-9b18d6ae01b4 (extents) (large files) (huge files)
GPT
Composer l'image
Personnellement, je préfère ajouter le premier Mo (2048 secteurs, car gdisk aura par défaut ce nombre car il est aligné sur 1 Mo) à son début pour le MBR de début et 34 secteurs à sa fin (ou 2048 pour un MB complet) pour la fin GPT (le secteur final peut être différent). Omettre le GPT final peut vous faire perdre des données:
dd if=testfs.img skip=2048 bs=512 of=full.img
dd if=/dev/zero seek=1050624 bs=512 of=full.img count=34
Enfin, exécutez gdisk pour créer la table de partition (ou copiez la vôtre), j'ai créé 1 partition en utilisant les valeurs par défaut.
Vérification
Pour vérifier, créez des partitions de boucle et détectez automatiquement:
sudo losetup -fP full.img
Et exécutez file
sur le périphérique de bouclage partitionné résultant:
sudo file -s /dev/loop2p1
/dev/loop2p1: Linux rev 1.0 ext4 filesystem data, UUID=ae2945fd-54b5-486f-8dd0-9b18d6ae01b4 (extents) (large files) (huge files)
Cette méthode garantit l'absence de devinettes, de redimensionnement ou d'alignement manuel.