Dd - problème d'encodage des noms de fichiers

Bonjour à tous,

En tentant une opération relativement simple (création d’un usb bootable Debian):

Je suis confronté à ce qui semble être un problème d’encodage des noms de fichiers. Quand l’opération est terminée (sans erreur, bien que le nombre de fichiers soit inférieur à celui contenu dans l’iso), les quelques fichiers sur la clé USB (formatée en FAT32) portent des noms composés de glyph improbables.

Tenté de trouver une réponse sur Google mais le nom du soft n’aide pas. J’ai également vu dans la manpage que certains paramètres permettaient d’influencer l’encodage grâce à “conv”.

Avez-vous déjà rencontré ce problème ? Comme déterminer s’il est nécessaire d’opérer une conversion d’encodage lors de la copie ?

(dmesg est rempli d’erreurs du type “attempt to access beyond end of device”, “error, invalid access to FAT (entry 0x…)”)

Merci d’avance,

LVLUp.

output file : /dev/sdb[b]1[/b], première partition du deuxième disque.

Tu ne l'as pas copié sur le deuxième disque /dev/sdb. Tu l'as copié sur une partition censée être la première partition du deuxième disque.  Cette partition /dev/sdb1 existait-elle avant l'opération de sabotage avec dd ? Quelle était sa taille ? Plus petite que l'image copiée ?   

# parted -l

output file : /dev/sdb1, première partition du deuxième disque.

Tu ne l’as pas copié sur le deuxième disque /dev/sdb. Tu l’as copié sur une partition censée être la première partition du deuxième disque. Cette partition /dev/sdb1 existait-elle avant l’opération de sabotage avec dd ? Quelle était sa taille ? Plus petite que l’image copiée ?

parted -l

Bonjour,

Merci pour ta réponse.

[quote=“etxeberrizahar”]of=/dev/sdb1
output file : /dev/sdb1, première partition du deuxième disque.

Tu ne l’as pas copié sur le deuxième disque /dev/sdb. Tu l’as copié sur une partition censée être la première partition du deuxième disque. Cette partition /dev/sdb1 existait-elle avant l’opération de sabotage avec dd ? Quelle était sa taille ? Plus petite que l’image copiée ?[/quote]
J’ai déterminé la valeur de “of=” en faisant un “mount” et regardant quelle était la valeur associée à la clé USB (sans me soucier d’éventuelles partitions).

Quelle est la bonne méthode pour déterminer la valeur “of=” de dd pour une clé usb ?

[mono]# parted -l[/mono]

Tu démarres sur la clé avant de démarrer une partition. Le but recherché à travers dd est de rendre la clé démarrable. À quoi bon une partition quand la clé ne peut se démarrer ?
Tu identifies la clé qui sera la cible de dd, /dev/sdb par exemple. Tu ne précises pas de partition [mono]of=/dev/sdb[/mono].

Tu as lancé dd sur un système de fichiers /dev/sdb1 MONTÉ. Double effet dd+montage, par dd tu as écrasé les données et par effet du montage, comme ça ne suffisait pas, elles se sont également corrompues.
La cible de dd doit être DÉMONTÉE.

Si tu copies des données sur un système de fichiers MONTÉ, ça veut dire qu’il aurait suffi de copier les fichiers comme tu le fais habituellement, à la souris glisser/déposer, ou commande [mono]cp[/mono], F5 en mc …
Il y a des raisons précises qui contraignent à user de dd plutôt qu’une simple copie.
On n’utilise pas dd quand on peut faire plus simplement, plus sûrement.
Dans le cas d’un transfert d’iso, on utilise dd parce qu’il est souhaitable que la clé soit démarrable et qu’une simple copie des données contenues dans l’image par [mono]cp[/mono] ne la rendrait pas démarrable. (Cependant, on peut utiliser [mono]cp[/mono] pour transférer une iso brute en prenant /dev/sdb pour cible, [mono]# cp image*.iso /dev/sdb[/mono] )

Bonjour,

Merci pour cette explication claire et précise. :slightly_smiling:

Pourquoi ? Que fait [mono]dd[/mono] de plus que [mono]cp[/mono] qui rend la clé bootable ?

Rien. C’est la copie de l’image disque sur le périphérique brut (/dev/sdb) qui rend ce dernier bootable, par opposition à la copie des fichiers contenus dans l’image disque vers le système de fichiers monté contenu dans le périphérique ou une de ses partitions.