GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Comment créer un fichier image de partition formaté à partir de zéro ?

J'ai besoin de créer un système de fichiers avec une seule partition à partir de rien (/dev/zero ).
J'ai essayé cette séquence de commandes :

dd if=/dev/zero of=mountedImage.img bs=512 count=131072
fdisk mountedImage.img
    n
    p 
    2048
    131072

Fondamentalement, je dois créer un fichier image de 64 Mo rempli de zéros. Ensuite, j'utilise fdisk pour ajouter une nouvelle partition pour le nouveau système de fichiers (qui devrait finalement être FAT32), en commençant au secteur 2048 et en utilisant tous les secteurs restants.

losetup /dev/loop1 mountedImage.img
mkfs -t vfat /dev/loop1

Mais ici, je rencontre des problèmes. Si je configure une loop appareil et formatez-le en utilisant mkfs -t vfat , la table de partition est écrasée et le système de fichiers (FAT32) est placé sur le disque. Je n'ai pas besoin d'un disque entier formaté avec FAT32, j'ai juste besoin que ma partition principale le soit.

Est-ce que quelqu'un sait comment formater une seule partition d'image disque brute, pas une image entière ?

Réponse acceptée :

Si sous Linux, lors du chargement de la loop module, assurez-vous de passer un max_part option au module afin que les périphériques de boucle soient partitionnables.

Vérifiez la valeur actuelle :

cat /sys/module/loop/parameters/max_part

Si c'est 0 :

modprobe -r loop # unload the module
modprobe loop max_part=31

Pour rendre ce paramètre persistant, ajoutez la ligne suivante à /etc/modprobe.conf ou dans un fichier dans /etc/modprobe.d si ce répertoire existe sur votre système :

options loop max_part=31

Si modprobe -r loop échoue car "Module loop is builtin", vous devrez ajouter loop.max_part=31 à la ligne de commande de votre noyau et redémarrez. Si votre chargeur de démarrage est Grub2, ajoutez-y la valeur de GRUB_CMDLINE_LINUX dans etc/default/grub .

Maintenant, vous pouvez créer un périphérique de boucle partitionnable :

truncate -s64M file # no need to fill it with zeros, just make it sparse
fdisk file # create partitions
losetup /dev/loop0 file
mkfs.vfat /dev/loop0p1 # for the first partition.
mount /dev/loop0p1 /mnt/

(notez que vous avez besoin d'une version relativement récente de Linux).


Linux
  1. Comment créer un système de fichiers sur une partition ou un volume logique Linux

  2. Comment créer un fichier sous Linux à partir de la fenêtre du terminal ?

  3. Comment créer une image disque VHD à partir d'un système live Linux ?

  4. Créer une image de la partition Windows sous Linux

  5. Comment créer un fichier image de partition formatée à partir de zéro ?

Comment faire de la stéganographie d'images sous Linux

Comment créer un montage à partir d'images sous Linux

Comment créer des répertoires à partir d'un fichier texte sous Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment construire le noyau Linux à partir de zéro

Comment créer des partitions de disque sous Linux