tech:notes_partition_mbr_dd
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tech:notes_partition_mbr_dd [2025/03/27 11:57] – Jean-Baptiste | tech:notes_partition_mbr_dd [2026/07/16 12:15] (Version actuelle) – Jean-Baptiste | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # La commande dd | ||
| + | |||
| + | Source : https:// | ||
| + | |||
| + | ## Introduction | ||
| + | |||
| + | Extrait de la page de man de dd : | ||
| + | |||
| + | "dd copie un fichier (par défaut, depuis l' | ||
| + | |||
| + | Utilisée fréquemment, | ||
| + | |||
| + | LES COMMANDES QUI SUIVENT PEUVENT VOUS FAIRE PERDRE TOUTES LES INFORMATIONS CONTENUES DANS VOTRE MACHINE SI ELLES NE SONT PAS CONVENABLEMENT UTILISÉES. VOUS ÊTES PRÉVENUS! | ||
| + | |||
| + | NOTE: Pour pouvoir être copiée, déplacée, agrandie ou réduite, la partition source doit au préalable être " | ||
| + | |||
| + | ### Syntaxe | ||
| + | |||
| + | La syntaxe d'une ligne de commandes utilisant dd se présente généralement sous cette forme: | ||
| + | ~~~bash | ||
| + | dd if=< | ||
| + | ~~~ | ||
| + | |||
| + | Arguments : | ||
| + | 1. source = D'où proviennent les données à copier; | ||
| + | 2. cible = où seront copiées les données traitées par la commande; | ||
| + | 3. bs = taille des blocs, de puissance 2, par défaut égale à 512 octets; | ||
| + | 4. skip = Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de la lecture; | ||
| + | 5. seek = Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de l' | ||
| + | 6. conv = Modifier le fichier comme indiqué par l' | ||
| + | ~~~ | ||
| + | ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync. | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ### Utilisation | ||
| + | |||
| + | Copier une partition d'un disque dur vers un partition d'un autre disque dur | ||
| + | |||
| + | Copie l' | ||
| + | ~~~bash | ||
| + | dd if=/ | ||
| + | ~~~ | ||
| + | |||
| + | `noerror` : Continuer même en cas d' | ||
| + | |||
| + | Remarque au sujet de l' | ||
| + | |||
| + | Copier une partition autre vers une partition copie aussi l'UUID puisqu' | ||
| + | |||
| + | ~~~ | ||
| + | # blkid | ||
| + | ... | ||
| + | /dev/sda9: UUID=" | ||
| + | /dev/sdb1: UUID=" | ||
| + | ~~~ | ||
| + | |||
| + | Il faut alors modifier l'UUID de la partition copiée pour ne pas avoir de conflit si la partition originale et sa copie sont accessibles au système : | ||
| + | |||
| + | ~~~ | ||
| + | # tune2fs -U random /dev/sdb1 | ||
| + | # blkid | ||
| + | /dev/sda9: UUID=" | ||
| + | /dev/sdb1: UUID=" | ||
| + | ~~~ | ||
| + | |||
| + | ### Cloner un disque dur en entier | ||
| + | |||
| + | Copie de l' | ||
| + | |||
| + | ~~~bash | ||
| + | dd if=/dev/sdg of=/dev/sdh conv=noerror | ||
| + | ~~~ | ||
| + | |||
| + | ### Réaliser un fichier image ISO copie d'un CD-ROM | ||
| + | |||
| + | ~~~bash | ||
| + | dd if=/dev/sr0 of=/ | ||
| + | ~~~ | ||
| + | |||
| + | Pour monter le fichier image ISO obtenu : | ||
| + | |||
| + | ~~~bash | ||
| + | mkdir /mnt/cd | ||
| + | mount -o loop -t iso9660 cd.iso /mnt/cd | ||
| + | ~~~ | ||
| + | |||
| + | Montage permanent par `/ | ||
| + | ~~~ | ||
| + | / | ||
| + | ~~~ | ||
| + | |||
| + | ### Effacer un lecteur | ||
| + | |||
| + | ** ATTENTION, COMMANDE DANGEREUSE! ** | ||
| + | |||
| + | Pour les paranos... La commande suivante remplie 7 fois de suite un périphérique avec des données aléatoires. Autant dire qu'il ne sera plus possible de récupérer quoi que ce soit sur ce périphérique... | ||
| + | |||
| + | ~~~bash | ||
| + | for n in $(seq 7); | ||
| + | do | ||
| + | dd if=/ | ||
| + | done | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ### Sauvegarder le chargeur de boot d'un disque dur | ||
| + | |||
| + | ~~~bash | ||
| + | dd if=/dev/sda of=ChrgBoot.dd bs=440 count=1 | ||
| + | ~~~ | ||
| + | |||
| + | Cette commande copiera les 440 premiers octets du disque dur dans un fichier. | ||
| + | |||
| + | ### Sauvegarder le MBR d'un disque dur | ||
| + | |||
| + | ~~~bash | ||
| + | dd if=/dev/sda of=MBR.dd bs=512 count=1 | ||
| + | ~~~ | ||
| + | |||
| + | Cette commande copiera les 512 premiers octets du disque dur dans un fichier. | ||
| + | |||
| + | |||
| + | ### Sauvegarder la table des partitions d'un disque dur | ||
| + | |||
| + | ~~~bash | ||
| + | dd if=/dev/sda of=TablePart.dd bs=64 count=1 skip=446 | ||
| + | ~~~ | ||
| + | |||
| + | Cette commande copiera les 512 premiers octets du disque dur dans un fichier. | ||
| + | |||
| + | pour restaurer la table de partition | ||
| + | |||
| + | ~~~bash | ||
| + | dd if=TablePart.dd of=/dev/sda bs=64 count=1 seek=446 | ||
| + | ~~~ | ||
| + | |||
| + | Cette commande copiera la table des partitions contenue dans le fichier TablePart.dd sur le disque /dev/sda | ||
| + | |||
| + | |||
| + | ### Sauvegarder un disque dur ou une partition dans une image compressée | ||
| + | |||
| + | La ligne de commandes suivante permet de créer un fichier compressé, qui pourra être utilisé pour restaurer la partition " | ||
| + | (peu importe le type de partition) | ||
| + | |||
| + | ~~~bash | ||
| + | #dd if=/ | ||
| + | dd if=/ | ||
| + | |||
| + | # Avec taux de compression adapté automatiquement | ||
| + | sudo dd if=/dev/sda | pv | zstd --adapt > image.dd.zst | ||
| + | zstdcat image.dd.zst | pv | sudo dd of=/dev/sda ) | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | |||
| + | Dans cette ligne de commandes, le programme " | ||
| + | Le flux de sortie du programme " | ||
| + | " | ||
| + | Si le fichier "/ | ||
| + | |||
| + | Pour restaurer la partition ainsi sauvegardée faire : | ||
| + | |||
| + | ~~~bash | ||
| + | #gzip -cd / | ||
| + | pigz -cd / | ||
| + | ~~~ | ||
| + | |||
| + | Dans cette commande, le programme " | ||
| + | Le flux de sortie du programme " | ||
| + | La sortie (of=) du programme " | ||
| + | et le contenu de cette partition sera écrasé et remplacé par le contenu du fichier sauvegardé par la ligne de commandes précédente. | ||
| + | |||
| + | |||
| + | ## Autres | ||
| + | |||
| + | ~~~bash | ||
| + | zip -r - . | dd of=/ | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## Autres commandes | ||
| + | |||
| + | ### Clean up partition table and MBR | ||
| + | |||
| + | ~~~bash | ||
| + | sgdisk --zap-all -- /dev/sdX | ||
| + | ~~~ | ||
| + | |||
