Existe-t-il un moyen de prendre un fichier img de disque qui est divisé en plusieurs parties et de le monter en tant que périphérique à boucle unique?
linux
block-device
loop-device
MageProspero
la source
la source
Réponses:
Je ne pense pas que vous puissiez le faire sur place, mais si vous avez suffisamment d'espace, cela devrait fonctionner:
Vous ne pouvez pas simplement créer une matrice RAID à partir des fichiers d'origine, car les disques RAID ont un en-tête spécifique où le nombre de disques, le niveau RAID, etc. est stocké. Si vous le faites, cette partie de vos fichiers d'origine sera écrasée.
Vous pouvez utiliser le
mdadm --build
pour créer un tableau sans métadonnées, mais vous devez d'abord effectuer une sauvegarde. Ou si le montage en lecture seule est suffisant:Pourquoi veux-tu faire cela? Si votre système de fichiers ne peut pas gérer> 4 Go de fichiers, vous devez simplement passer à un autre sain.
la source
truncate
au lieu dedd
car il est beaucoup plus rapide (il n'effectue pas d'écriture réelle sur FS mais alloue simplement les inodes et marque le fichier comme contenant simplement un trou).Pour monter une image disque divisée (ou une image de partition), vous devez utiliser à
affuse
partir des outils afftools actuellement gérés ici: https://github.com/sshock/AFFLIBv3Donc, si vous avez un fichier, divisé en plusieurs sous-fichiers
test_img.000, test_img.001, test_img.002, test_img.003, test_img.004, test_img.005, test_img.006, test_img.007, test_img.008, test_img.009
alors vous pouvez les rejoindre virtuellement avec
affuse
(cela combine tous les fichiers en commençant par le fichier 000, puis 001, 002,…)
Et puis montez l'image
L'utilisation est décrite ici et quelques exemples ici . Une page de manuel est également disponible après la compilation et l'installation, ou ici .
PS: Pour moi, cela
affuse
ne fonctionnait que si les fichiers divisés avaient une taille qui était un multiple de 512 octets.la source
Vous pouvez écrire votre propre extension de périphérique de stockage en bloc (pensez à une extension de type fusible) et effectuer des recherches en fonction de l'adresse.
Ici vous pouvez trouver un exemple d'utilisation du fusible https://github.com/libfuse/python-fuse/blob/master/example/hello.py
la source
La chose la plus proche que je connaisse jusqu'à présent pour une solution est de créer une VM VMware. Vous démarrez un CD live Linux comme Rescatux ou Knoppix, vous créez un dossier partagé SMB sur votre ordinateur hôte, vous montez ce partage SMB sur votre VM, puis vous
dd
l'image sur le HD virtuel. VMware enregistre par défaut ses images de disque sous forme de fichiers fractionnés, c'est donc la chose la plus proche de lire directement une image disque divisée en plusieurs fichiers.Plus tard, si vous souhaitez accéder aux fichiers depuis votre ordinateur hôte, vous pouvez essayer d'ajouter un deuxième disque dur virtuel à l'image et y copier les fichiers. Ensuite, vous configurez un dossier partagé SMB sur la machine virtuelle et vous y connectez depuis votre hôte. De cette façon, vous pouvez, par exemple, violer la limite de 4 Go de fichiers FAT32 dans le cas où vous utilisez un iPod Classic (qui ne groks fat32), ou la carte SD de votre smartphone (généralement vous devez installer une ROM personnalisée pour pour utiliser Ext3 ou NTFS sur le stockage externe, vous avez besoin pour cela d'un téléphone d'un fabricant populaire comme Samsung ou Motorola, donc si vous avez un smartphone chinois, vous êtes perplexe).
Ce n'est certes pas une solution efficace, mais comme je suis limité par le fait de ne pas pouvoir utiliser d'autre FS que fat32 sur mon iPod Classic ou mes smartphones Samsung avec une ROM stock, j'ai parcouru à peu près tout Internet dans le passé et je ne suis toujours pas en mesure de trouver une solution efficace à ce problème. Je vais peut-être même devoir l'écrire moi-même.
PS: J'ai oublié de mentionner que si vous êtes sous Windows, cela pourrait être le seul moyen de le faire.
la source
Sous BSD, vous pouvez utiliser l'option union pour monter. Sous Linux, vous pouvez essayer l'unionFS.
la source