équivalent de windows pour dd

40

J'ai besoin de lire et d'écrire diverses images de cartes flash. La façon dont j'ai toujours fait ça sous Linux était avec dd, et ça a fait l'affaire. Qu'est-ce qu'un bon équivalent Windows?

En termes simples, je dois pouvoir lire une carte entière dans un fichier et vice versa. J'ai essayé WinDD , mais cela semble fonctionner sur des partitions plutôt que sur des périphériques entiers, mais je dois être capable de vider tout le disque / la carte et sa table de partition indépendamment de son contenu.

Sous Windows 7 64 bits, avec le lecteur de carte sur un port USB3.

Jarmund
la source

Réponses:

20

Essayez Win32DiskImager , il peut écrire des images sur des disques.

Logern
la source
5
Il est hébergé sur SourceForge, qui a toujours inclus des logiciels malveillants dans les distributions, à l'encontre des souhaits des propriétaires de projet. Source: notepad-plus-plus.org/news/notepad-plus-plus-leaves-sf.html
Scott Stevens le
4
@AnthonyLozano J'ai téléchargé win32diskimager sur Sourceforge, il ne contient aucun malware, il est largement utilisé et même recommandé pour des éléments comme le Raspberry Pi sur lequel écrire des images de disque. Il y a un fork sur github mais vous devez le compiler vous-même github.com/bizplay/win32-disk-imager
Logern
2
J'ai commencé à utiliser Chocolatey pour tous mes services publics. Pensez apt-get pour Windows en utilisant le framework NuGet. Il y a un paquetage win32diskimager là-bas qui s'installe sans problèmes. Portable, aussi bien. chocolatey.org
Mike Loux
4
Cela ne fonctionne pas pour les périphériques auxquels aucune lettre de partition n'a été attribuée. Il est donc inutile pour les périphériques avec des partitions non reconnues ou sans aucune partition. Pas un équivalent à dd.
Xerz
1
Il ne crée pas de fichier image compatible dd. En fait, il essaie de comprendre la disposition du disque et génère un fichier zip avec chaque partition qu'il reconnaît dans un fichier séparé. Et dans mon cas, il a eu des problèmes pour restaurer les fichiers sur des partitions à nouveau
utilisateur230910
20

Il suffit d’utiliser dd pour Windows ... cela fonctionne parfaitement même s’il s’agit d’un projet assez ancien.

Eugen Rieck
la source
Semble avoir un problème sous Windows 10. Est-ce que quelqu'un a des problèmes avec .6 beta 3?
TravisWhidden
@TravisWhidden quel genre de problèmes? J'ai rencontré des erreurs "impossible à écrire", mais je ne sais pas si c'est le même problème.
Scott Stevens
Cela ne fonctionne pas pour moi sur ma machine Win7
Aaron
Cela semble fonctionner, mais il semble slooooow ...
user230910
Merci, a bien fonctionné pour moi.
Jesse Busman
14

Rufus fonctionne comme prévu. Choisissez 'DD Image' pour 'Créer un disque amorçable avec'.

Le source est publié sur GitHub: https://github.com/pbatard/rufus .

Mon expérience: Win32DiskImager n'a pas détecté u-SD via un lecteur USB-3; dd pour Windows, dg compilé avec MinGW, dd Unix Utils et dd Linux VIA VirtualBox VM3: la transmission directe était trop lente; Je n'ai pas encore trouvé d'équivalent en ligne de commande Windows capable de battre les vitesses d'écriture de 50 Mo / s que je vois avec Rufus.

Mstrthealias
la source
Mon vote pour Rufus aussi. Aucune des autres réponses proposées ne fonctionnait pour moi sous Windows 10 Pro v1703. D'accord ... soyons honnêtes ... Je n'ai pas essayé la solution Python.
Doug Wilson
3
C'est vraiment bien pour précharger des images sur des clés USB, mais cela ne fait pas la moitié de ce que dd peut faire, donc ce n'est pas vraiment "équivalent"
Rolf
3
Ce n'est pas valide car cela permet uniquement d' écrire des images sur des disques, pas de lire ces disques.
Xerz
2
Rufus a produit un disque avec une somme de contrôle différente de l'image, pour moi.
fuzzyTew
1
Il est rare de voir une application utile aujourd'hui d'une taille de 1 Mo seulement. Quel outil formidable!
Gareth Davidson
9

D'abord, j'ai aussi essayé Win32DiskImager, qui, selon moi, ne fait que la copie de partition en fonction de son affichage (non, il peut sauvegarder une carte SD entière). J'ai donc poursuivi la recherche.

Mon favori actuel est HDDRawCopy . Il copie dans / à partir du fichier une image de disque entière, mais pas des partitions séparément. Il crée des images compatibles dd compatibles ou compressées à la volée - pas aussi efficace que 7zip (n’atteint même pas les performances ZIP) mais vous n’avez pas besoin de toucher à nouveau l’image.

Andris
la source
2
HDD Raw Copy a pu détecter un lecteur SCSI vierge que "dd for windows" ne pouvait pas. Cela m'a permis de dupliquer un disque HFS à partir de Windows! Merci!
HackSlash
2
Notez que, pour une raison quelconque, HDD RAW COPY a une limite de 50 Mo / s
Gizmo
9

Surpris, personne n’a mentionné les principaux utilitaires GNU pour Windows , je les utilise depuis des années. Ce sont des binaires 32 bits, mais apparemment, à part less, ils fonctionnent toujours sous Windows 7 64 bits .

exemple d'utilisation:

C:\Windows\Temp>dd if="\\.\s:" of=sdrive.dat bs=4096
25599+0 records in
25599+0 records out
104853504 bytes (105 MB) copied, 30.3147 seconds, -56145186608800624000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000 MB/s

C:\Windows\Temp>dd if="\\.\physicaldrive0" of=mbr.dat bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0210012 seconds, -891479495977528 kB/s

les temps rapportés sont un peu bizarres mais sinon, cela semble bien fonctionner.

jcomeau_ictx
la source
1
Copie-t-il correctement le contenu sur 4 Go? La dernière fois que j'ai vérifié (il y a longtemps), il a été compilé avec le moteur d'exécution de Microsoft où il off_test long, par conséquent, les décalages sont limités à 31 ou 32 bits ... ce qui est une grosse déception lors de l'utilisation dd.
AntoineL
Je n'ai jamais essayé, désolé.
jcomeau_ictx
Git pour Windows est livré (au moment de l'écriture) avec la version dd 8.30, compilée en 2018. Cela semble fonctionner correctement avec les /dev/sdXnoms, du moins à partir de Git Bash exécuté en tant qu'administrateur. Il a probablement perdu toute limitation 32 bits il y a quelque temps.
mwfearnley
8

J'essayais simplement de vérifier qu'un lecteur avait été effacé. Je ne voulais donc que lire, mais ce script python pouvait être modifié pour faire quoi que ce soit si vous ne faites pas confiance à ces exécutables comme moi. Ouvrez le Gestionnaire de partition Windows pour connaître le nombre de lecteurs qui vous intéressent et modifiez-le simplement en 2. Vous pouvez ensuite écrire cela, ou si vous avez wb au lieu de rb, vous pouvez écrire. Bonne chance

import sys

f = open('\\\\.\\PhysicalDrive2','rb')
a = f.read(1)
i = 1

kb = 1024
mb = kb*1024

while a == b'\x00':
    i+=1
    if i % mb == 0:
        sys.stdout.write('\r{} MB scanned'.format(i/mb))
    a = f.read(1)

print('done')
quelqu'un qui a passé trop longtemps
la source
3
Pour mémoire, je pense qu'il serait beaucoup plus rapide de créer plus d'un octet à la fois. Et il n'y a pas de condition d'erreur, le script s'appuie sur des octets non nuls se produisant tôt et vous comprenez qu'il a été imprimé "fait" tôt.
Luc
2
Comment savez-vous quel lecteur cibler?
HackSlash
Python est le mauvais outil, une boucle serrée comme celle-là. Vous feriez mieux de créer un tampon de 256k de tous les zéros et de le comparer à 256k extraits du disque en une fois. De plus, avoir une gestion des exceptions.
Gareth Davidson
3

Pour un vrai équivalent de ddWindows, ne cherchez pas d’alternative à moitié cuite, installez simplement le vrai GNU dd. La meilleure façon de faire est probablement Cygwin , une distribution assez complète de GNU et d’autres outils FOSS. Pensez-y comme à l'installation de "Linux" (ou plutôt d'une distribution Linux (GNU)) au-dessus de Windows, sans aucune couche d'émulation ou une boîte noire limitée comme le sous-système Windows pour Linux. C'est aussi indigène que ça devient.

Pour l'utiliser, vous devez:

  1. Installez un environnement Cygwin de base. Faites-le comme indiqué sur le site Web , laissez les valeurs par défaut si vous avez seulement besoin dd- mais vous pouvez aussi vous amuser et avoir un indice sur ce qu'il a à offrir.
  2. Ouvrez le terminal Cygwin en tant qu'administrateur , puis vérifiez sur quel périphérique / partition vous souhaitez travailler cat /proc/partitions.
  3. Utilisez ddcomme vous le feriez sur n’importe quel Linux (GNU).
Xerz
la source
vous pouvez même utiliser cygwin à partir de l'invite de commande DOS ... (je l'utilise tout le temps pour cat / grep / tail / ...) et même dans la console DOS / Windows, "ls -la / proc" fonctionne correctement ... un de mes favorits ...
ZEE
3

wow toutes ces réponses et DISM a été autour depuis combien de temps? quasiment sûr que cela a été construit dans Windows 7 dès le départ.

DISM / capture-image / image-file:d:\backup.wim / capturé: c: \ / name: simpleback

il y a beaucoup de paramètres que vous pouvez modifier. après la capture - déployez-vous sur un nouveau support de stockage en utilisant également les outils de démontage.

Jonathan Warren
la source
Ne fonctionne pas: The /image-file option is not recognized in this context.. Devrait être/imagefile
yahol
1

Après avoir essayé certains des outils recommandés ici, j'ai finalement utilisé balena Etcher sous Windows 10. (Rufus m'a donné un résultat avec une somme de contrôle incorrecte. HDDRawCopy m'a donné une erreur d'écriture.)

fuzzyTew
la source
1

rawcopyde http://www.ltr-data.se/opencode.html/ . rawcopy -hmontre le manuel.

Si tu as besoin /dev/zero et /dev/random, il existe un "Pilote de périphérique zéro et aléatoire" du même site.

fau
la source