mardi 3 novembre 2015

DD for Windows

DD for Windows est un outil open source très puissant pour manipuler les disques et partitions. Dans notre cas c'est la manipulation des cartes SD qui nous intéresse. Il est une adaptation écrite en Pascal de la commande UNIX dd.

ATTENTION: Il est facile de faire une erreur de frappe et d’écrire sur le mauvais disque ou la mauvaise partition et donc de perdre définitivement beaucoup de données. Soyez très prudent...
Renommer dd.exe en dd-removable.exe est une première sécurité qui restreint dd aux disques amovibles (voir la doc)

Il existe d'autres outils avec une interface plus sexy comme Win32 Disk Imager ou WinFlashTool, mais, même s'ils couvrent 80% des besoins, ils n'offrent pas la flexibilité de dd.
  • Avec dd vous pouvez écrire une image disque sur un carte ou créer une image d'une carte. Ce n'est pas le cas avec  WinFlashTool.
  • Avec dd vous pouvez lire les 8 Go d'une carte qui en fait 16 mais dont les partitions n'occupent que les 8 premiers. Ceci n'est possible ni avec Win32 Disk Image, ni avec WinFlashTool (de toute façon ce dernier ne permet même pas de lire la carte).

Avant d'utiliser DD pour Windows il ne faut pas oublier que :
  • Pour écrire, lire, lister les partitions (Volumes dans le vocabulaire Microsoft) n’importe quel utilisateur fait l’affaire.
  • Pour écrire, lire, lister les disques (Devices dans le vocabulaire Microsoft) il faut être le véritable administrateur de Windows. Pas juste un utilisateur avec les droits d’administration.
  • Bien que DD for Windows s’utilise en ligne de commande (via cmd.exe) il est dangereux  de faire des batchs car la manière qu'a Windows de nommer les périphériques fait que le même périphérique peut changer de nom surtout quand c'est un disque amovible.
Pour ouvrir une invite de commande (cmd.exe) en tant qu’administrateur procéder en trois étapes comme indiqué ici (on passe de 2 à 3 en cliquant avec le boutons droit sur "cmd.exe") :



Une variante consiste à taper "cmd.exe" et valider avec CTRL+SHIFT+ENTER.

Exemple:
La commande "dd --list" n'affichera les "Block Device" que si on est l'administrateur.


Le nom de ces 'Block Device' est important quand on veut manipuler la carte SD dans son ensemble (table de partitions, les partitions, l'espace non alloué) et non les partitions.

Rappel: sous Windows une lettre désigne une partition. Donc le "disque I:" est en fait une partition.

Pour vous familiariser avec la dénomination des disques et partitions vous pouvez utiliser l'utilitaire WinObj de Sysinternals (Là aussi il faut être administrateur sinon le panneau de droite reste vide)

Cet écran de WinObj :


Correspond à ceci avec la commande  dd --list

Win32 Available Volume Information

  \\.\Volume{92177b02-d34c-11e4-9eae-002215896b38}\
    link to \\?\Device\HarddiskVolume5
    removeable media
    Mounted on \\.\i:


NT Block Device Objects (faut être admin pour voir cette partie)


  \\?\Device\Harddisk3\Partition0
    link to \\?\Device\Harddisk3\DR3
    Removable media other than floppy. Block size = 512
    size is 15931539456 bytes
  \\?\Device\Harddisk3\Partition1
    link to \\?\Device\HarddiskVolume5


Attention aux pièges tendu par Microsoft :
Partition0 n'est JAMAIS une partition mais toujours un lien symbolique pour représenter TOUT le disque.
Partition1 est TOUJOURS présent même si la carte SD n'est pas insérée dans le lecteur de carte.




Aucun commentaire:

Enregistrer un commentaire