web-dev-qa-db-fra.com

Créer une image disque vierge pour le stockage de fichiers

Semblable à la façon dont les utilisateurs de Mac OS X peuvent créer et monter des fichiers .dmg vierges, ajouter et supprimer des fichiers autant de fois qu'ils le souhaitent et déplacer cette image où ils le souhaitent ... comme s'il s'agissait d'un lecteur USB virtuel.

Existe-t-il un équivalent pour Ubuntu? Je sais que le "Disk Image Mounter" nous permet de monter et d’éditer des fichiers .img existants, mais existe-t-il un moyen tout aussi simple de créer/formater des fichiers .img vides? Toutes les solutions que j'ai trouvées jusqu'à présent implémentent la copie/le clonage d'un lecteur existant, mais je ne le souhaite pas.

EDIT: J'ai créé une application d'interface graphique scriptée basée sur la réponse acceptée ci-dessous. Il s’agit simplement d’un dialogue basé sur les fichiers YAD et .sh, il est conçu pour faciliter le traitement du processus dd commande/montage/formatage pour les utilisateurs non avertis en ligne de commande.

le voici

6
john kieran

Oui.

Ceci est un guide pas à pas pour créer une image personnalisée en partant de zéro;

Je vais assumer ce qui suit:

  • La taille de l'image doit être de 100 Mio
  • La table de partition d'image doit être MBR
  • L'image doit contenir une seule partition primaire FAT32

Création de l'image vide

Créez l'image vide:

dd if=/dev/zero of=image.img iflag=fullblock bs=1M count=100 && sync
ubuntu@ubuntu ~/tmp % dd if=/dev/zero of=image.img iflag=fullblock bs=1M count=100 && sync
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0415825 s, 2.5 GB/s
ubuntu@ubuntu ~/tmp % tree
.
└── image.img

0 directories, 1 file

Monter l'image vierge

Répertoriez les périphériques de bouclage déjà occupés:

losetup
ubuntu@ubuntu ~/tmp % losetup                   
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  1 /cdrom/casper/filesystem.squashfs

Montez l'image sur le premier périphérique de bouclage disponible:

Sudo losetup loop1 image.img
ubuntu@ubuntu ~/tmp % Sudo losetup loop1 image.img
ubuntu@ubuntu ~/tmp % losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  1 /cdrom/casper/filesystem.squashfs
/dev/loop1         0      0         0  0 /home/ubuntu/tmp/image.img

Partitionner/formater l'image vierge

Exécutez gparted en passant le périphérique en boucle comme argument:

Sudo -H gparted /dev/loop1

screenshot1

Cliquez sur "Périphérique" -> "Créer une table de partition ...":

screenshot2

Cliquez sur "Appliquer":

screenshot3

Cliquez sur "Partition" -> "Nouveau":

screenshot4

Sélectionnez "fat32" dans le menu déroulant:

screenshot5

Cliquez sur "Ajouter":

screenshot6

Cliquez sur la coche verte:

screenshot7

Cliquez sur "Appliquer":

screenshot8

Cliquez sur "Fermer":

screenshot9

Et proche Gparted.

Démontage de l'image

Enfin, démontez l’image du périphérique de bouclage:

Sudo losetup -d /dev/loop1
ubuntu@ubuntu ~/tmp % Sudo losetup -d /dev/loop1
ubuntu@ubuntu ~/tmp % losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         1  1 /cdrom/casper/filesystem.squashfs

Vous pouvez utiliser l'image créée pour n'importe quel but. Par exemple, vous pouvez l'utiliser comme clé USB virtuelle:

Sudo losetup loop1 image.img

Ouverture de fichiers:

screenshot10

screenshot11

14
kos

Vous devez d’abord installer le paquet hfsutils:

Sudo apt-get install hfsutils

Maintenant, créez un fichier image, la taille est fixe:

Sudo dd if=/dev/zero of=/root/file.img bs=1M count=130

Ensuite, formatez le fichier image:

Sudo hformat -l File /root/file.img

Après cela, montez l'image:

Sudo mkdir /mnt/file
Sudo mount -t hfs -o loop /root/file.img /mnt/file

Copiez vos fichiers dans votre nouveau volume monté et lorsque vous avez terminé, démontez-le:

Sudo umount /mnt/file

Je me suis référé à cette lien pour trouver la solution.
Ps: Je l’ai testé avec succès dans mon Ubuntu MATE 14.04.3

0
Ghassen Rjab