web-dev-qa-db-fra.com

Utilisez cat au lieu de cp dans des partitions de tailles différentes

J'ai compris qu'il est impossible d'utiliser dd ou cat pour copier toutes les données d'une partition sur une autre partition avec des différences de taille. Cette instruction est-elle correcte?, Exemple

2 disque dur, le premier /dev/sdd1 (100gb), et utilisait 30gb et le second /dev/sdc1 (50gb), et n'a pas de données


cat /dev/sdd1 >/dev/sdc1

pourquoi? Parce que sdd1 a une partition de 100 Go et que sdc1 a une limite de 50 Go


Est-ce vrai? Que dois-je utiliser pour la copie?

pourrais-je utiliser (en supposant que les disques durs sont montés):

cp -avr /mnt/sdd1/* /mnt/sdc1/

Est-il correct d'utiliser cp? quelqu'un sait à alternative à cp

EDIT: En cas de montage impossible du disque dur car partition non reconnue par Linux, que puis-je faire? Continuez avec cette nouvelle question dans: "Sauvegarde sans espace libre dans une partition non reconnue"

Remarque: Je ne parle pas d'outils de récupération comme ddrescue.

Merci beaucoup.

3
Milor123

Bien sûr, cp fonctionnera bien. Vous devrez peut-être utiliser shopt -s dotglob pour que * corresponde aux fichiers et aux dossiers dont le nom commence par .:

shopt -s dotglob
cp -avr /mnt/sdd1/* /mnt/sdc1/

Il y a aussi rsync:

rsync -a --info=progress2 /mnt/sdd1/ /mnt/sdc1/

Il a un meilleur affichage de la progression.

2
muru

Veuillez noter la différence entre la copie au niveau du fichier et le clonage de partitions ou de lecteurs entiers au niveau du périphérique.

Copier les fichiers comme décrit par muru

Dans ce cas, vous utilisez les partitions montées, où vous voyez les répertoires et les fichiers.

rsync est un très bon outil de sauvegarde et de synchronisation.

Clonez les périphériques comme décrit ci-dessous

Le clonage de périphériques est très risqué et vous devez vérifier que vous écrivez sur le bon périphérique. Sinon, vous risquez d'écraser vos photos de famille ... et il ne s'agit que d'une erreur de frappe mineure. Lors du clonage, vous devez démonter toutes les partitions des périphériques source et cible. Vous avez déjà remarqué que vous devez cloner sur un périphérique au moins identique.

Sudo dd if=/dev/sdx of=/dev/sdy bs=4096

clone un périphérique, par exemple une clé USB (du lecteur x au lecteur y).

Sudo dd if=/dev/sdxm of=/dev/sdyn bs=4096

clone une partition sur une autre partition (de la partition xm à la partition yn, où x et y sont des lettres de lecteur et m et n sont des numéros de partition).

Sudo dd if=/dev/sdx of=file.img bs=4096

crée un fichier image d'un lecteur.

Sudo dd if=/dev/sdx bs=4096 | xz > file.img.xz

crée un fichier image compressé.

Sudo if=ubuntu.iso of=/dev/sdx bs=4096

crée un lecteur de démarrage USB à partir d'un fichier iso Ubuntu.

-o-

Il est possible de cloner avec cp au lieu de dd et d’obtenir des résultats similaires.

Outils

Afin de réduire les risques et de faciliter le processus pour vous, il existe des outils pour vous aider, notamment pour créer des lecteurs de démarrage à partir de fichiers iso et de fichiers image compressés. Exemples: le créateur de disque de démarrage Ubunt (à partir de 16.04 LTS et plus récent), disques (disques-gnome), mkusb.

Clonezilla est un outil qui permet de sélectionner les blocs utilisés sur la 'surface du lecteur' et de les copier/cloner, tout en ignorant les blocs inutilisés. Cela rend le clonage avec Clonezilla beaucoup plus rapide que le clonage avec dd (ou cp), en particulier dans un lecteur disposant de beaucoup d'espace libre.

1
sudodus

Premièrement, la version courte est non, et la raison en est que vous ne savez pas où se trouvent vos données sur votre premier disque. Il est presque certain que vos données ne figureront pas dans les 30 premiers Go. C'est quelque chose de construit dans le système de fichiers Linux et la raison pour laquelle vous n'avez jamais besoin de défragmenter; c'est à dire. vos données sont allouées de manière aléatoire dans l'espace libre, contrairement à vos anciens jours MSDOS de défragmentation une fois par semaine.

Je n'ai pas les points de réputation pour ajuster celui recommandé ci-dessus, mais votre moyen le plus rapide d'obtenir ce dont vous avez besoin est le suivant:

rsync -avz --delete /mnt/sdd1 /mnt/sdc1

Le -r n'est pas nécessaire, car -a implique automatiquement -r. J'ai inclus des descriptions des commutateurs:

-a, --archive mode d'archivage; est égal à -rlptgoD (no -H, -A, -X)

--delete supprime les fichiers superflus des répertoires de destination

-z, --compress compresser les données du fichier pendant le transfert

Vous pouvez choisir de négliger -z, mais je le trouve très utile pour les copies réseau, notamment Wi-Fi.

Pour la réparation, avez-vous essayé fsck?

J'ai trouvé un autre outil appelé TestDisk chez http://www.cgsecurity.org/ , mais vous devez disposer d'au moins la quantité d'espace disponible que vous souhaitez récupérer.

1