dd : image Disk sans l'espace vide

On y discute de tout, ou presque...
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,

Je poste ici car le sujet relève plus de la culture Linux générale que du support Debian


Est-il possible de faire une sauvegarde (clone.img) d'un disque usb complet sans l'espace libre (non utilisé)

Dans mon cas :

Code : Tout sélectionner

Model: Seagate M3 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      32,8kB  1000GB  1000GB  primary  ntfs         boot


ce disque usb (neuf) de 1To contient < 400 Mo d'utilitaires constructeur

donc avant de le formater selon mon choix avec Gparded

je souhaite en faire une image pour pouvoir la restaurer le cas échéant.

J'ai essayé Clonezilla, mais ça renvoie le msge suivant :
The selected devices: sdb
Ce disque contient des tables de partitionnement GPT et MBR discordantes: /dev/sdb
Ceci va gêner Clonezilla et peut rendre l'image sauvegardée inutilisable ou empêcher le clonage du disque.
Vous pouvez utiliser gdisk ou sgdisk pour corriger ce problème. Par ex. si vous êtes sûr que la table de partition MBR est celle que vous désirez, vous pouvez exécuter cette commande pour détruire la table de partitions GPT et conserver la table de partition MBR:
sudo sgdisk -z /dev/sdx
NOTES (1) Remplacez /dev/sdx par le nom du disque ci-dessus. (2) UNE COMMANDE ERRONNÉE PEUT ENTRAÎNER LA PERTE DE TOUTES LES DONNEES PRÉSENTES SUR LE DISQUE. UTILISEZ CETTE COMMANDE AVEC PRÉCAUTION !
Veuillez corriger ce problème puis redémarrez Clonezilla.
Programme terminé !!


Question ?

L'image créée avec cette commande :

Code : Tout sélectionner

dd if=/dev/sdx of=svg-disk.img count=100 bs=4096
va-t-elle pouvoir remettre le DD à l'état neuf avec les commandes :

Code : Tout sélectionner

dd if=/dev/zero of=/dev/sdx bs=4096 conv=notrunc
suivie de :

Code : Tout sélectionner

dd if=svg-disk.img of=/dev/sdx count=100 bs=4096

Ou faut-il faire autre chose ?

Merci,
et bonne journée à tous.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
kitmale
Membre actif
Membre actif
Messages : 733
Inscription : 25 avr. 2016, 09:39
Status : Hors-ligne

Salut

http://askubuntu.com/questions/318893/h ... -usb-stick

edit: erreur c/c mauvais lien
http://player.lg1043.com/CHLGFM

"Do not fear to be eccentric in opinion, for every opinion now accepted was once eccentric. Bertrand Russell
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Salut kitmale
Tu as changé de bestiole ... j'aimais bien l'écureuil de l'Age de Glace

ça ne répond pas exactement à ma question ....

J'ai besoin de précision et de certitude,
car c'est une opération "one shot" sans possibilité de test

Pour une clé usb de quelques Go je ferais une image complète,
mais là c'est 1To de zéro et je n'ai pas de support de cette taille !

Donc la réponse que j'attends c'est :

"OUI ça marche!"

ou

"NON c'est pas sûr"


... et éventuellement une meilleure option.



Ici http://www.linuxquestions.org/questions ... nd-362506/

j'ai trouvé une liste impressionnante d'usages et commandes avec dd,

mais pas ma réponse... ou je suis passé devant sans la comprendre :-(
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
kitmale
Membre actif
Membre actif
Messages : 733
Inscription : 25 avr. 2016, 09:39
Status : Hors-ligne

Donc la réponse que j'attends c'est :

"OUI ça marche!"

ou

"NON c'est pas sûr"
Pardon? franchement un "man dd" aurait répondu à ta question

edit: j'avais lu clé usb, car ta question aurait eu du sens sur ce type de support:

Bien sûr que c'est possible
http://player.lg1043.com/CHLGFM

"Do not fear to be eccentric in opinion, for every opinion now accepted was once eccentric. Bertrand Russell
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5860
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

L'intéret de dd c'est de faire une copie de tous les ecteurs, sans se préoccuper de ce qu'il y a dedans, y compris les fichiers "éffacés".
Donc dans ton cas, je proposerais de réduire la taille de la partition incriminée (gparted), puis de faire un dd sur ce qui reste.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

piratebab a écrit :L'intéret de dd c'est de faire une copie de tous les ecteurs, sans se préoccuper de ce qu'il y a dedans, y compris les fichiers "éffacés".
Donc dans ton cas, je proposerais de réduire la taille de la partition incriminée (gparted), puis de faire un dd sur ce qui reste.
Salut Pirate !

En voilà une idée qu'elle est bonne ! :023: ... comment n'y ai-je pas pensé :021:

MERCI !

Mais tout de même pour ma culture et la curiosité :

Par exemple :


on fait bien la sauvegarde du MBR avec :

Code : Tout sélectionner

dd if=/dev/sdx of=backup-sdx.mbr count=1 bs=512
jusqu'à présent je n'ai jamais eu à en faire la restauration,
mais je suppose qu'il suffit pour cela d'intervertir if et of

Donc cela devrait fonctionner sur un disque rempli de zéros
et une taille suffisante pour englober tout ce qui est important au début du disque ...

... ou je passe à côté de quelque-chose d'important ?

:017:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
kitmale
Membre actif
Membre actif
Messages : 733
Inscription : 25 avr. 2016, 09:39
Status : Hors-ligne

Code : Tout sélectionner

You can, but you should prepare your disk first. The trick is to use sparse file or compression. This method is time consuming, it generates high I/O. In your case (2GB in use on 1 TB HDD) a file copy (as suggested in sawdust's comment) will probably be a way better solution. If – on the other hand – you had e.g. 850 GB in use out of 1 TB, many small files therein, you wanted to backup MBR, partition table, metadata, all that at once – then my method would be a reasonable way to save at least 150 GB on the image file (which still couldn't fit into 500 GB HDD, unless the data compressed well enough).

I'm writing this for users with higher disk usage. Also note that the source drive should be healthy and allow to overwrite the empty space. I'm giving the solution mainly for backup, not recovery nor forensics. The time and I/O cost will be paid not only during image creation but also when (if) the image is written back to disk. Think twice if the method is right for you.

Let's say you need to clone /dev/sdb and there are several partitions: /dev/sdb1, /dev/sdb2…
Preparation

To take high advantage of sparse files or compression you should overwrite the empty space with zeros:

## Most commands need sudo.
mount -o rw /dev/sdb1 /mnt
dd if=/dev/zero of=/mnt/zero_file bs=32M
## Long wait here. Expect "no space left on device".
sync
rm /mnt/zero_file
umount /dev/sdb1
## Repeat this with /dev/sdb2, /dev/sdb3 etc.

In case of Windows partition there may be some trouble due to Windows hibernation. Read this.

If there are major gaps in the partition layout then you should also fill them up with zeros. Swap partitions (if any) need special treatment in order to make the resulting image as small as possible. The Windows files like hiberfil.sys, pagefile.sys and swapfile.sys may be removed before zero_file creation. I won't cover these cases in detail here.
Sparse file method

This method may be used if the target filesystem (where the image file will be saved) supports sparse files. To generate a sparse image file, invoke:

## dd probably needs sudo here.
dd if=/dev/sdb of=/foo/bar/my_image.dd bs=512 conv=sparse

(EDIT: originally there was bs=32M but it's not the good choice with conv=sparse. Compare this question.)

To write the image back:

## dd probably needs sudo here.
dd if=/foo/bar/my_image.dd of=/dev/sdb bs=32M

Advantages:

    The image may be mounted (mount -o offset=… or use kpartx) to access the files within.

Disadvantages:

    Target filesystem must support sparse files.
    You should remember to keep it sparse while copying (cp --sparse=always).

Compressed file method

To generate the image:

## dd probably needs sudo here.
dd if=/dev/sdb bs=32M | gzip -c > /foo/bar/my_image.dd.gz

To write the image back:

## dd probably needs sudo here.
gzip -cd < /foo/bar/my_image.dd.gz | dd of=/dev/sdb bs=32M

These commands might be built without dd, with gzip only. I used dd to ensure 32 MiB buffer.

Advantages:

    The resulting file is non-sparse, it needs no special treatment.
    The image size will be reduced even more if the files on your source disk are prone to compression.

Disadvantages:

    It is hard to access the files within the compressed image without full decompression (some FUSE may be useful, although I'm not sure, never tried; consider a squashfs approach).

Hints

To monitor progress send USR1 signal to dd:

kill -s USR1 $(pidof dd)

As an alternative you may use pv to read. Examples:

pv -B 32m /dev/sdb | dd of=/foo/bar/my_image.dd bs=32M conv=sparse
pv -B 32m /dev/sdb | gzip -c > /foo/bar/my_image.dd.gz

To compress fast use gzip --fast, to compress best use gzip --best. Refer to man gzip for more options.

Use pigz instead of gzip if you can. This should speed things up, because pigz can utilize more than one processor core. You can use another compressor if you like.
http://superuser.com/questions/1097210/ ... -hard-disk
http://player.lg1043.com/CHLGFM

"Do not fear to be eccentric in opinion, for every opinion now accepted was once eccentric. Bertrand Russell
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Merci Kitemale

Je vais conserver ces explications dans mes notes.

J'avais songé au problème de la fragmentation des fichiers et d'éventuels espaces vides entre les fragments/fichiers.

Dans mon cas présent, le disque étant neuf,
je supposais que le fabricant n'installe pas de fichiers fragmentés et je comptais 25 Go de "pied de pilote"


Pour ce qui est de la solution précédente - proposée par piratelab ;
je me demande à présent si c'est valable ou pas,
dans la mesure où ce qui m'importe c'est la structure globale du disque et pas (seulement) la copie de la partition portant les utilitaires,
sinon j'aurais simplement créé une archive.

Tout cela est motivé pas le message de Clonezilla :
... Ce disque contient des tables de partitionnement GPT et MBR discordantes: /dev/sdb...
à dire vrai je ne sais pas exactement ce que cela sous-entend,
mais ça doit être pour fonctionner sur les deux types de "BIOS"
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5860
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

GPT est la table de partition à utiliser sur les systemes modernes.
La table BIOS (MBR)est à utiliser pour conserver la compatibilité avec des machines un peu anciennes.
https://fr.wikipedia.org/wiki/GUID_Partition_Table
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Si tu utilise les machines virtuelles, il existe un format de fichiers intéressant : qcow2

Quand je créé un disque virtuel qcow2 de 1Tio, il ne prends que 192Kio sur mon disque.
Dès que je remplis une ou des partitions de ce disque, le fichier qcow2 grossit en fonction des fichiers copiés.
Finalement, le disque virtuel n'aura la taille que de ce qu'il contient..
Tu pourrais donc recopier (ne pas oublier l'option de mount show_sys_files) tes fichiers windows depuis une machine virtuelle dans un disque virtuel qcow2
(ou autre format de disque virtuel compressé)

=======
Quoi qu'il en soit, il y a ce problème de table des partitions de type GPT ou de type msdos concernant le disque source.
Il faudrait être sûr de la façon dont sont organisées les données sur ce disque.
Par exemple, Si c'est une table des partitions de type GPT, il y aura une deuxième copie du MBR en fin de disque qu'il ne faudrait pas oublier de sauvegarder aussi.
Il y a aussi le chargeur de boot ce qui fait que je sauvegarde aussi ce qui est entre la fin du MBR et le début de la première partition.
Avatar de l’utilisateur
kitmale
Membre actif
Membre actif
Messages : 733
Inscription : 25 avr. 2016, 09:39
Status : Hors-ligne

Dans ce cas mips autant cloner...
http://player.lg1043.com/CHLGFM

"Do not fear to be eccentric in opinion, for every opinion now accepted was once eccentric. Bertrand Russell
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

Pour cloner un système j'utilise partimage et partclone depuis des années.
Le seul problème est de devoir gérer les partitions de façon séparées.
Je copie aussi le MBR séparément avec dd et une version texte avec sfdisk.

Pour faciliter tout ça, j'ai installé un serveur PXE avec quelques scripts bash pour cloner ou restaurer rapidement. Ce système me convient pas mal depuis des années, et fonctionne quelque soit l'OS.
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

Bonjour à Toutes et Tous :icon_biggrin:
je déterre cette discussion, parce que je "cherche" un programme pour cloner un système !
vohu a écrit : 24 déc. 2016, 11:06 Pour cloner un système j'utilise partimage et partclone depuis des années.
Le seul problème est de devoir gérer les partitions de façon séparées.
Je copie aussi le MBR séparément avec dd et une version texte avec sfdisk.

Pour faciliter tout ça, j'ai installé un serveur PXE avec quelques scripts bash pour cloner ou restaurer rapidement. Ce système me convient pas mal depuis des années, et fonctionne quelque soit l'OS.
vohu, aurais-tu une page pour l'utilisation, autant de, clonezila, partimage et partclone ?
que je puisse me faire la main, lorsque j'aurai solutionné mon souci du moment, qui est ici

Merci d'avance :wink:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

clonezilla est utilisable en livecd, de souvenir le site officiel est assez fourni concernant la doc, et de toute façon, le livecd est assez intuitif à utiliser je trouve.

partimage et partclone, c'est un peu "une fois l'un, une fois l'autre". selon qu'il faut gérer du ntfs ou non... le forum d'ubuntu propose des tutos concernant ces 2 outils.
https://doc.ubuntu-fr.org/partclone
https://doc.ubuntu-fr.org/partimage
https://doc.ubuntu-fr.org/tutoriel/comm ... _partimage
doc.ubuntu-fr.org/clonezilla
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

Je te remercie pour ces précisions :icon_biggrin:
vohu a écrit : 16 mars 2017, 12:30 clonezilla est utilisable en livecd, de souvenir le site officiel est assez fourni concernant la doc, et de toute façon, le livecd est assez intuitif à utiliser je trouve.

partimage et partclone, c'est un peu "une fois l'un, une fois l'autre". selon qu'il faut gérer du ntfs ou non... le forum d'ubuntu propose des tutos concernant ces 2 outils.
https://doc.ubuntu-fr.org/partclone
https://doc.ubuntu-fr.org/partimage
https://doc.ubuntu-fr.org/tutoriel/comm ... _partimage
doc.ubuntu-fr.org/clonezilla
J'utilise à 100% de l'ext4 :wink:
le ntfs, je le réserve à mes clés usb :icon_biggrin:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Salut DbFr871

Clonezilla a-t-il donné satisfaction ?

ou peut-être quelques difficultés avec une interface en anglais ou pas trop claire lors des premières utilisations,
notamment pour le choix du répertoire et du disque de destination (usb)
ou le choix des options en mode expert
Si c'est le cas => dis-le ... je dois avoir quelques notes à ce sujet

@+
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

dezix a écrit : 18 mars 2017, 10:32 Salut DbFr871

Clonezilla a-t-il donné satisfaction ?

ou peut-être quelques difficultés avec une interface en anglais ou pas trop claire lors des premières utilisations,
notamment pour le choix du répertoire et du disque de destination (usb)
ou le choix des options en mode expert
Si c'est le cas => dis-le ... je dois avoir quelques notes à ce sujet

@+
Merci dezix pour ton interrogation, car, j'étais en train de répondre... :wink: décidément, les grands esprits se rencontrent ce matin...:wink:

J'allais indiquer ma façon d'utiliser clonezilla :
sur cd, avec redémarrage, démarre sur clonezilla, et demande toute sa procédure, que j'ai comprise, car, cela s'est lancé...
Par contre, en lisant le tableau d'avancement de la sauvegarde, il y en a pour plus de 4h...

Pas "souple" du tout !
et surtout, pas possible de le lancer session ouverte, comme je lance mon script Rsync de sauvegarde incrémentielle... :icon_e_surprised:

Aussi, j'allais vous demander, parce que j'ai lu les pages que vohu m'a gentiment indiquées, que partimage et partclone s'utilisaient en ligne de commande, donc... session ouverte :)
Or, je fais une sauvegarde Rsync, dés que j'ai fait ou modifier un doc : Très pratique et rapide !


Avec partimage ou partclone, est-ce aussi simple et rapide ?
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Je crois que tu fais (peut-être) erreur sur l'utilisation de partclone et partimage

Partclone si je me souviens bien est utilisé par Clonezilla et Partimage par SystemRescueCD (que je t'avais mentionné il y a déjà assez longtemps ...?)

Dans ces cas là (au moins) on les utilises sur des volumes non-montés

Et si tu tentes de créer une image d'un système en marche (en plus avec ce même système) il y a forcement un tas de fichiers ouverts et modifiés à un rythme soutenu qui vont poser pblme si le logiciel ne te refuse pas directement de travailler sur partition montée.

C'est le but du LiveCD travailler à froid comme un électricien coupe le jus et utilise des outils sur batteries

Ce ne sont pas des explications très théoriques, mais c'est l'idée ... ;-)
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

Ok, je te remercie pour les explications :icon_biggrin:

Je vais me "rediriger" vers mon script Rsync, et mettre de coté les images de mon système :wink:

J'ai de simples documents, sans aucune compilation ou autre... donc, inutile de m'embarrasser avec de tels programmes !

Encore merci pour tes explications dezix :wink:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Je n'ai pas regardé ton script mais il faut faire la distinction entre la sauvegarde de tes fichiers de données personnelles et la sauvegarde du système (avec le partitionnement) en réalisant une image de l'ensemble d'un disque (ou un ensemble de partitions) considérant cela comme un bloc unique (comme avec dd p.ex) et non pas une collection de fichiers sauvegardés.

Les deux techniques sont d'ailleurs complémentaires

@+
**Simple Utilisateur** -- Debian stable - XFCE
Répondre