J'ai essayé de faire fonctionner CUDA sur mon système et en train de jouer avec les pilotes nvidia, j'ai suffisamment cassé Ubuntu pour que j'aie dû reformater ma partition de disque plusieurs fois. J'ai maintenant été frappé avec ce bâton suffisamment de fois pour essayer de sauvegarder ma partition une fois que j'ai installé tous mes outils, programmes et autres, en utilisant dd (comme recommandé par un ami).
Cependant, quand j'ai couru
sudo dd if=/dev/sda4 of=~/backup.img
J'ai finalement eu une erreur indiquant que mon lecteur manquait d'espace. C'était étrange pour moi, car la partition est assez grande et je n'ai qu'une nouvelle installation d'ubuntu avec quelques (petits) programmes dessus.
J'ai pensé que ce qui pourrait se passer, c'est qu'il essayait récursivement d'écrire une copie de ce qu'il avait déjà écrit, alors j'ai essayé d'écrire le fichier directement sur une autre partition à la place :
sudo dd if=/dev/sda4 of=/media/Ye\ Olde\ Data/ubuntu\ reinstall\ backup/backup.img
Mais cela a pris une éternité et j'ai interrompu le processus une fois que le fichier a atteint une taille dont j'étais à peu près sûr qu'il était trop gros pour ne contenir que les données que je voulais.
Qu'est-ce qui se passe? Est-ce que /media a les autres partitions montées et traite donc les autres partitions comme faisant partie de /dev/sda4 ? Est-ce que dd copie l'intégralité de la partition octet par octet, en ignorant quels octets contiennent réellement des fichiers ?
Et quoi qu'il en soit, comment puis-je faire ce que j'essaie de faire, correctement ?
Oh, et voici mes informations sur le disque, au cas où cela serait important :
sudo sfdisk -l /dev/sda
Disk /dev/sda: 62260 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 12- 13- 102400 7 HPFS/NTFS/exFAT
/dev/sda2 12+ 14602- 14590- 117187500 7 HPFS/NTFS/exFAT
/dev/sda3 29192+ 62260- 33069- 265622493+ 5 Extended
/dev/sda4 14602+ 29191- 14590- 117193728 83 Linux
/dev/sda5 61228+ 62260- 1032- 8287232 82 Linux swap / Solaris
/dev/sda6 29192+ 61227 32036- 257329138+ 7 HPFS/NTFS/exFAT
Réponse acceptée :
Si vous copiez une partition avec dd
, le fichier de sortie sera aussi gros que la partition. dd
effectue une copie physique du disque, il n'a aucune connaissance de l'espace vierge ou utilisé.
Si vous compressez le fichier de résultat, vous économiserez beaucoup d'espace, étant donné que l'espace vide se comprimera très bien (attention, cela va être très en termes de calcul lourd). Vous pouvez même compresser la sortie de dd
à la volée, avec quelque chose sur la ligne dd if=/dev/sdaX | gzip -c > compressed_file.gz
.
vraiment important :
De plus, vous ne pouvez pas (jamais) faire un
dd
sur une partition live (montée),
les données enregistrées seront totalement incohérentes et
absolument pas utiles pour une sauvegarde. Pensez-y :des blocs de données sont
continuellement alloués, déplacés et supprimés ; c'est comme prendre une photo
avec un long temps d'exposition sur une cible en mouvement.Pour copier la partition avec
dd
vous devez démarrer à partir d'un autre -
live USB ou autre.
Que ferais-je pour résoudre le problème en cours (remarquez, uniquement des instructions génériques, car vous devez savoir ce que vous faites)
En relation :Plusieurs comptes Dropbox sur le même ordinateur ?Première option achetez Norton Ghost ou explorez les options open source :partimage et clonezilla (je n'ai jamais testé moi-même).
Deuxième option faites-le manuellement :
-
créez une partition supplémentaire pour les sauvegardes, appelez-la /dev/sdX (ou utilisez une partition de données commune, peu importe).
-
pour sauvegarder :
- démarrer avec une clé USB en direct
- monter la vraie partition racine dans /real
- monter la partition supplémentaire dans /extra
- faire un gros tar, sur la ligne
(cd /real && tar cvf /extra/mybck.tar.gz)
-
restaurer
- démarrer avec une clé USB en direct
- monter la vraie partition racine dans /real
- monter la partition supplémentaire dans /extra
- restore, sur la ligne de
(cd /real && tar xvpf /extra/mybck.tar.gz)
, attention aup
option pour conserver les métadonnées - chrooter dans /real
- mettre à jour grub ou le chargeur de démarrage que vous utilisez
Vous pouvez remplacer tar
avec votre archiveur préféré, assurez-vous simplement qu'il respectera la propriété/le mode des fichiers. rsync
vaut la peine d'être exploré.