Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/10/2014, à 16:24

Philippeditlegros

[résolu]Commande dd if=/ depuis un live cd pour image disque svp

Bonjour, sur un disque dur où il y a une installation d'une Ubuntu 12.04 LTS entièrement chiffrée, peut-on se servir de la commande dd depuis un live-cd pour en faire une copie (backup) sur une clé usb de même taille que le disque dur svp, et en cas de problème, du coup faire l'inverse avec dd (restore) pour récupérer d'une erreur grave, ou d'un disque dur hs ou autre svp ?

Dernière modification par Philippeditlegros (Le 20/10/2014, à 19:53)


Le PIN ailleurs...

Hors ligne

#2 Le 19/10/2014, à 17:14

Rufus T. Firefly

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

dd ne fait que copier des octets d'un endroit à un autre. Et des octets, ce sont des octets... Peu importe leur rôle ! Donc :

sudo dd if=/dev/sdX of=/dev/sdY bs=1M

fait un clone en bonne et due forme. L'option bs=1M permet d’accélérer un peu le processus, en copiant par blocs de 1M plutôt que octet par octet, mais ça ne change rien au principe.
Bien entendu, c'est réversible.
Edit : c'est comme ça que je fabrique mes clés usb live. Avec if=image.iso
Et ça m'est déjà arrivé de partir d'une clé ainsi faite, pour reconstituer le fichier d'origine (if=/dev/la_clé of=image.iso) puis le graver sur un cd... Aucun problème...

Dernière modification par Rufus T. Firefly (Le 19/10/2014, à 17:19)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#3 Le 19/10/2014, à 20:27

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Merci Rufus T. Firely, j'ai lu entre temps la page de doc de dd et elle est un peu confuse, notamment sur la copie du MBR. Dans mon cas, avec le disque dur entièrement chiffré ça ne devrait donc pas poser de problème, merci à vous !


Le PIN ailleurs...

Hors ligne

#4 Le 19/10/2014, à 21:15

tiramiseb

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Salut,

Attention, il ne faut pas faire une image d'un système en fonctionnement car il y aura probablement des modifications en cours de copie, donc une possibilité de corruption de l'image.

Hors ligne

#5 Le 19/10/2014, à 21:17

Rufus T. Firefly

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Avertissement utile, effectivement. Mais il avait précisé qu'il voulait le faire avec un live-cd...


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#6 Le 19/10/2014, à 21:22

tiramiseb

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Ah oui. Mal lu. Désolé. Donc avertissement utile ok, mais un peu hors sujet quand même smile

J'ajouterais que, pour faire une image, je conseille de la faire dans un fichier et non directement binairement sur le volume cible (clé USB ou autre).

Hors ligne

#7 Le 19/10/2014, à 21:23

Rufus T. Firefly

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Philippeditlegros a écrit :

Merci Rufus T. Firely, j'ai lu entre temps la page de doc de dd et elle est un peu confuse, notamment sur la copie du MBR. Dans mon cas, avec le disque dur entièrement chiffré ça ne devrait donc pas poser de problème, merci à vous !

Si c'est un disque système il y a un /boot sur une partition dédiée, et celle-là n'est pas chiffrée. Il faut bien que le déchiffreur puisse être lancé, et par conséquent le noyau qui le lance... Et le MBR n'est pas chiffré non plus, pour la même raison... Le BIOS lui passe la main et n'a pas de quoi déchiffrer...
De toutes façons dd s'en fiche : chiffrés ou pas, ce ne sont que des octets...

Edit : effectivement, l'image sous forme de fichier, c'est beaucoup plus pratique. Une fois que c'est fait, on peut la ranger où on veut, comme n'importe quel fichier...

Dernière modification par Rufus T. Firefly (Le 19/10/2014, à 21:28)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#8 Le 20/10/2014, à 07:31

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Bonjour et merci de votre aide,

l'utilisation de dd vers un fichier est effectivement séduisante(backup), mais je n'ai pas trouvé d'info dans le man de dd pour comprendre comment faire un (restore). Sur la page de la doc d'Ubuntu ils donnent donc cette ligne de commande pour créer la copie du disque :

dd if=support_à_sauvegarder of=/home/user/sauvegarde/support_sauvegardé.iso

Une fois fait je peux sauvegarder ce fichier iso sur d'autres disques plus facilement. Mais je n'ai lu nulle part que dd savait quoi faire (en retour) d'un fichier iso ? Comment dd va comprendre l'extension .iso svp, il faut un module supplémentaire, une commande supplémentaire svp ?

Dernière modification par Philippeditlegros (Le 20/10/2014, à 07:32)


Le PIN ailleurs...

Hors ligne

#9 Le 20/10/2014, à 08:50

Nasman

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Le principe de dd est simple : c'est une copie octets par octets d'une source (if) vers une destination (of). Cette copie se fait d'un "fichier" vers un autre. Or sous Linux, comme tout est fichier, la source (ou la destination) peut être un truc du genre /dev/sda (considéré comme un fichier). Après il est possible de tronquer ce fichier et de préciser la longueur de ce qui sera copié.
- l'option skip=xxxx veut dire que l'on saute les xxxx blocs du "fichier" d'entrée
- l'option seek=yyyy veut dire que l'on écrit pas au début de la destination mais yyyy blocs plus loin
- l'option bs=zzzz spécifie la taille du bloc copié
- l'option count=tttt indique le nombre de blocs à copier

Pour les manipulation du mbr ou des tables des partitions il faut savoir exactement comment cela est structuré pour éviter les catastrophes.

Pour une table des partitions de type msdos située dans le mbr (1er secteur de 512 octets du disque), cette dernière commence à l'adresse hexa 1be (446) et se termine à l'adresse hexa 1fd (509).
On a :
sda1 de 1be à 1cd
sda2 de 1ce à 1dd
sda3 de 1de à 1ed
sda4 de 1ee à 1fd

On pourra récupérer la table des partitions seule avec un

sudo dd if=/dev/sda of=~/table_des_partitions bs=1 count=64 skip=446

/dev/sda désigne la totalité du disque sda
bs=1 chaque bloc fait 1 octet
count=64 car la table fait 64 octets (4 entrées de 16 octets)
skip=446 car elle commence à l'adresse 1be (446) - il faut sauter la zone 0-445 (soit 446 octets)

Pour restaurer il faudra un

sudo dd if=~/table_des_partitions of=/dev/sda bs=1 count=64 seek=446

seek=446 car on réécrit la table des partitions en ne touchant pas aux 446 premiers octets de la destination (disque /dev/sda)

1) Attention cette dernière commande est très dangereuse (elle écrase la table des partitions du disque), donc à utiliser à bon escient (risque de perte des données en cas d'erreur)
2) Vérifier que le fichier ou sera écrit la sauvegarde de la table des partitions (~/table_des_partitions) sera toujours disponible quoiqu'il arrive. S'il est dans le disque qui nécessite une restauration de sa table des partitions (et est potentiellement illisible) c'est ballot.


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#10 Le 20/10/2014, à 08:59

tiramiseb

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Dans ce que dit Nasman (infos très complètes), le plus important pour toi est le premier paragraphe : tout est fichier.

donc, pour "sauvegarder" :

dd if=/dev/sda of=/media/bidule/truc/machin

pour restaurer :

dd if=/media/bidule/truc/machin of=/dev/sda

-----

Comment dd va comprendre l'extension .iso

dd ne "comprend" aucune extension. L'idée d'utiliser l'extension ".iso" pour une image faite avec dd est peu pertinente, car ce que fait dd c'est juste une image bit-à-bit d'un fichier vers un autre. Pour une image disque, pour ma part je mets l'extension ".img", mais c'est juste une convention personnelle (partagée par plein de monde, cela dit).

L'extension ".iso" est pertinente uniquement pour faire l'image d'un CD qui est déjà au format ISO9660...

Dernière modification par tiramiseb (Le 20/10/2014, à 09:00)

Hors ligne

#11 Le 20/10/2014, à 09:20

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Merci pour vos explications très complètes oui. Tiramiseb tu dis quelque chose qui m'intéresse avec le fichier .img. Et cela m'ammène à cette question :

Imaginons que j'ai fait ma copie de sauvegarde de Ubuntu dans un fichier en .img.
Je profite, au passage, que tout soit dans un seul fichier.img pour en faire des sauvegardes sur d'autres disques dur plus aisément donc.

En cas de crash disk (sur ce système d'exploitation Ubuntu), il ne me restera donc plus que l'image en .img de sauvegarde. Quelle serait la commande dd exacte pour prendre tout ce qu'il y a dans ce fichier image en .img vers le disque dur qui ne voulait plus démarrer svp ? En prenant en compte que mon fichier image en .img est sur /sdc et qu'il s'appelle : tiramiseb.img, merci.


Le PIN ailleurs...

Hors ligne

#12 Le 20/10/2014, à 09:35

tiramiseb

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Je t'ai donné les commandes pour "sauvegarder" et "restaurer" en #10, avec le disque /dev/sda et un fichier appelé /media/bidule/truc/machin. À toi d'adapter ça, en ajoutant l'extension ".img" si ça te chante.

Hors ligne

#13 Le 20/10/2014, à 10:01

Rufus T. Firefly

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Philippeditlegros a écrit :

Imaginons que j'ai fait ma copie de sauvegarde de Ubuntu dans un fichier en .img.

Tu ne fais pas une copie de sauvegarde de Ubuntu. Tu copies une suite d'octets (en l'occurrence un disque dur) d'un endroit à un autre (en l'occurrence un fichier)... Et si tu fais la copie en sens inverse, tu régénères les octets de départ...

Dernière modification par Rufus T. Firefly (Le 20/10/2014, à 10:02)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#14 Le 20/10/2014, à 10:12

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Il faut m'éclaircir les idées, donc désolé si je ne comprends pas vos interventions, et désolé si vous vous sentez mal à l'aise à l'abord de mes questions. Du fait que je sois débutant j'ai beaucoup de mal oui, je m'en excuse, et si vous voulez, vous pouvez laisser les autres répondre, merci à vous encore au passage, c'est déjà bien gentil d'apporter les éclaircissements que vous m'avez fait au dessus(mais qui ne m'ont pas été utiles malheureusement).

Je reprends donc mon questionnement pour les autres :


J'ai appris ici que je pouvais faire une copie d'un disque dur contenant mon Système d'exploitation Ubuntu 12.04 LTS (qui est entièrement chiffré, et en faire la copie MBR compris, vers un autre média avec cette commande :

dd if=/support_à_sauvegarder of=/home/user/sauvegarde/tiramiseb.img bs=1M

En cas de crash disk ou autres soucis (mauvaise config, recompilation du noyau foirée etc...), est-ce que cette seule commande suivante me permettra de récupérer mon système d'exploitation complet svp ? :

dd if=/dev/sdb/tiramiseb.img of=/dev/disque_choisi_pour_la_réinstalation bs=1M

Ou bien non, il me manque une partie de la ligne de commande car avec la commande précédente, l'image tiramiseb ne sera pas installée correctement svp ? Merci à vous.

Dernière modification par Philippeditlegros (Le 20/10/2014, à 10:26)


Le PIN ailleurs...

Hors ligne

#15 Le 20/10/2014, à 10:20

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Rufus T. Firefly a écrit :
Philippeditlegros a écrit :

Imaginons que j'ai fait ma copie de sauvegarde de Ubuntu dans un fichier en .img.

Tu ne fais pas une copie de sauvegarde de Ubuntu. Tu copies une suite d'octets (en l'occurrence un disque dur) d'un endroit à un autre (en l'occurrence un fichier)... Et si tu fais la copie en sens inverse, tu régénères les octets de départ...


Voilà une réponse comme j'aime, elle me recadre sur le fonctionnement de dd (octets copiés, envoyés donc dans un seul fichier appelé ici : tiramiseb.img), elle m'explique que le sens invers se fera sans problème car dd ne lira que les octets inscris dans tiramiseb.img pour les inscrire bêtement vers le disque dur choisi (ici le disque dur comportant mon système d'exploitation), bref elle m'aide, car cette réponse est une réponse qui a pris en compte correctement ma question, ce qui prouve que tu as compris ma question, c'est tout, si les autres membres pouvaient faire ainsi, on trouverait plus vite nos solutions sur le forum wink

Donc MERCI RUFUS


Le PIN ailleurs...

Hors ligne

#16 Le 20/10/2014, à 10:51

Rufus T. Firefly

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Je n'y suis pour rien, et les autres ont dit la même chose. Pas forcément sous la même forme, mais bon... Par exemple :

Nasman a écrit :

Le principe de dd est simple : c'est une copie octets par octets d'une source (if) vers une destination (of)

Dernière modification par Rufus T. Firefly (Le 20/10/2014, à 10:52)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#17 Le 20/10/2014, à 12:55

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Oui la forme a été déterminente dans ma compréhension en tant que débutant, et je t'en remercie et je t'encourage à continuer de faire comme cela avec les autres débutants, c'est comme ça que l'on comprend malheureusement, il faut nous supporter, donc encore désolé pour cela.

Je reviens car il y a quelque chose que je n'ai pas réussi à faire. J'ai lancé un Live-cd et puis j'ai lancé ceci :

dd if=/dev/sda of=/dev/sdd1/tiramiseb.img bs=4k

J'ai choisi bs=4k car c'est aussi une commande très très rapide. Mais le terminal m'a retourné que la destination de of= (en anglais dans le terminal) "Is not a directory", et dd ne démarre pas.

Je n'ai pu lancer dd qu'avec cette commande :

dd if=/dev/sda of=/dev/sdd1 bs=4k

Et là dd s'est lancée, et s'est terminée normalement. Je voulais voir si "après coup" je pouvais transposer tout ce qui s'est mis sur mon "/dev/sdd1" dans un seul fichier (que j'aurai copié-collé ou autre, car je débute avec dd et je ne sais pas comment j'aurai pu faire), mais je n'ai pas accès à mon disque dur de sauvegarde où j'ai fait dd, et Gparted me retourne cela :

141020125412701242.png



À noter que j'essaie de regarder ce qu'il y a sur mon disque de sauvegarde en le lisant via le disque dur qui a été cloné avec dd.  Est-ce que c'est pour cela que j'ai Gparted qui m'indique ce que je viens de mettre dans la photo ci-dessus svp ?

Dernière modification par Philippeditlegros (Le 20/10/2014, à 13:00)


Le PIN ailleurs...

Hors ligne

#18 Le 20/10/2014, à 13:21

Nasman

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Là tu as écrasé la première partition de sdd (soit sdd1) avec le contenu du disque sda

gparted donne un système de fichier inconnu pour sdf (je pense que c'est comme cela que sdd a été reconnu) car tu n'as pas copié sda sur sdd mais sda sur sdd1. Tu as donc écrasé le système de fichier (et la zone amorce de sdd1) par ta copie.
sdd commence au premier secteur du disque mais sdd1 commence plus loin (soit au secteur 63 dans le cas d'un partitionnement aligné au cylindre ou plutôt au secteur 2048 pour un alignement au Mio).
Et normalement il devrait y avoir un sudo devant les commandes (sauf si tu travailles en session "root" ce qui peut être dangereux). On ne peut savoir sous quelle session tu travailles cas le prompt est absent (le user@machine:$ ou root@machine:#)

Attention avec l'utilisation de dd, aussi appelé le destructeur de données.

Edit: Tu aurais du faire ta copie en montant la partition sdd1 avec un truc du genre

sudo mkdir /media/ma_partition_de_sauvegarde

puis

sudo mount /dev/sdd1 /media/ma_partition_de_sauvegarde

puis passer ta commande

sudo dd if=/dev/sda of=/media/ma_partition_de_sauvegarde/mon_fichier.img

(avec les options qui vont bien comme la taille des blocs copiés)

Dernière modification par Nasman (Le 20/10/2014, à 13:26)


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#19 Le 20/10/2014, à 14:02

tiramiseb

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

En lisant "/dev/sdd1/tiramiseb.img" dans le message #17, je me suis dit que tu as besoin de la clarification suivante :

/dev/XYZ, c'est un point d'entrée vers un périphérique. Par exemple, /dev/sda c'est, binairement, ton premier disque dur. /dev/sdc2 est la 2me partition de ton 3me disque dur. /dev/sdb5 est la 5me partition de ton 2me disque dur. Et ainsi de suite.
Dans /dev, tu trouves directement les périphériques.
Si tu veux accéder aux systèmes de fichiers qui sont contenus dans les périphériques, il faut monter un périphérique sur un point de montage. Un point de montage, c'est simplement un répertoire.

Par exemple, si tu veux monter la 2me partition de ton 4me disque dans /mnt, la commande à faire manuellement est :

mount /dev/sdd2 /mnt

Et, à partir de là, le contenu de cette partition est disponible dans /mnt.

Autrement dit, si tu veux accéder au contenu de /dev/sdd1, il faut monter cette partition quelque part. C'est dans ce "quelque part" que tu pourras créer des fichiers.

Hors ligne

#20 Le 20/10/2014, à 19:22

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Merci pour l'aide, je m'en vais tester cela wink


Le PIN ailleurs...

Hors ligne

#21 Le 20/10/2014, à 19:24

tiramiseb

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Si tu as encore des doutes ou des points d'incompréhension, n'hésite pas à demander, on est là pour ça smile

Hors ligne

#22 Le 20/10/2014, à 19:27

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Rufus T. Firefly a écrit :

dd ne fait que copier des octets d'un endroit à un autre. Et des octets, ce sont des octets... Peu importe leur rôle ! Donc :

sudo dd if=/dev/sdX of=/dev/sdY bs=1M

fait un clone en bonne et due forme. L'option bs=1M permet d’accélérer un peu le processus, en copiant par blocs de 1M plutôt que octet par octet, mais ça ne change rien au principe.
Bien entendu, c'est réversible.
Edit : c'est comme ça que je fabrique mes clés usb live. Avec if=image.iso
Et ça m'est déjà arrivé de partir d'une clé ainsi faite, pour reconstituer le fichier d'origine (if=/dev/la_clé of=image.iso) puis le graver sur un cd... Aucun problème...


Rufus encore merci pour votre aide, très efficace sur cette discussion quoique vous en pensiez wink , je la passe donc en résolu grâce à vos infos, à votre temps, merci.


Le PIN ailleurs...

Hors ligne

#23 Le 20/10/2014, à 19:30

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

tiramiseb a écrit :

Si tu as encore des doutes ou des points d'incompréhension, n'hésite pas à demander, on est là pour ça smile

Non sur cette discussion ça va merci Tiramiseb, mais j'ai un gros besoin de tes connaissances pour ces deux points stp :

ici au #14 : http://forum.ubuntu-fr.org/viewtopic.ph … #p18329061

Et ici aussi stp : http://forum.ubuntu-fr.org/viewtopic.php?id=1700591

Merci !


Le PIN ailleurs...

Hors ligne

#24 Le 20/10/2014, à 19:43

tiramiseb

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

Pour le premier lien j'ai répondu, pour le second je ne sais pas, désolé !

Hors ligne

#25 Le 20/10/2014, à 19:46

Philippeditlegros

Re : [résolu]Commande dd if=/ depuis un live cd pour image disque svp

tiramiseb a écrit :

Pour le premier lien j'ai répondu, pour le second je ne sais pas, désolé !

Pas grave, t'es comme pas mal de monde, tu ne sais pas tout, mais tu m'aides déjà bien un peu partout, c'est gentil, t'es bien élevé en fait wink


Le PIN ailleurs...

Hors ligne