Comment cloner une partition NTFS (WinXP) d'un disque endommagé vers un nouveau?

10

J'ai besoin de cloner une partition NTFS d'un disque dur endommagé, proche de mourir (SCSI, si cela importe) vers un nouveau (SATA).

J'ai installé la dernière version des utilitaires Hiren's Boot CD sur une clé USB et essayé avec GParted, qui m'a dit qu'il ne pouvait pas copier / coller la partition car elle était endommagée et "signalée" par Windows pour exécuter CHKDSK. J'ai suivi les conseils d'avertissement et j'ai essayé de le réparer en utilisant CHKDSK /f(cela a pris 9 heures et je suis sorti avec une erreur après la "phase 3") et un programme Linux dont je ne me souviens pas pour le moment, sans succès.

J'ai essayé de cloner en utilisant Clonezilla, et cela a échoué également, pour les mêmes raisons. Dans le HBCD, il y a dd_rescue, mais il a échoué à nouveau car il ne peut pas trouver "ntfs.something".

En fin de compte, tout ce que je veux, c'est cloner cette partition telle qu'elle est, avec ses erreurs et tout. Je peux le réparer sur le nouveau disque.

Donc qu'est ce que je devrais faire?

Parduz
la source
Quel a été le message d'erreur renvoyé CHKDSK /faprès la "phase 3"?

Réponses:

5

Vous pouvez bien sûr essayer de réparer la partition NTFS sur le lecteur d'origine, mais je ne peux pas recommander de le faire, car les problèmes pourraient être causés par une défaillance matérielle et la réparation pourrait aggraver les choses.

Créez d'abord un bloc pour la copie de bloc avec ddrescue dans un fichier. S'il y a un bloc qui ne peut pas être copié ddrescuecontinuera avec le reste du disque.

S'il ddrescuene trouve aucun bloc défectueux, vous pouvez essayer d'utiliser un logiciel de réparation sur le fichier (monté via le bouclage). S'il y a des problèmes avec le lecteur SCSI ou si vous voulez simplement être sûr de pouvoir recommencer à zéro, faites une copie de votre fichier et essayez de réparer le système de fichiers NTFS sur la deuxième copie. Comme la copie d'un disque avec des erreurs peut prendre du temps, vous devrez peut-être interrompre le processus (car vous avez besoin de l'ordinateur, de laisser le lecteur refroidir ou de redémarrer le micrologiciel du lecteur).

C'est pourquoi, d'après mon expérience, il ddrescueest de loin supérieur dans les cas problématiques ddqu'avec conv=noerror. ddrescuetient un journal de ce qu'il a fait et redémarre en fonction de ces informations, une fonctionnalité non disponible pour dd. ddrescueest également plus intelligent dans la lecture des blocs à partir de la fin, s'il rencontre une zone à problème. Il arrivera beaucoup plus rapidement à un état de copie d'image que vous pouvez utiliser comme base pour une vérification du système de fichiers (et vous pouvez continuer vers ddrescuela copie d'origine). Vous ne pouvez faire quelque chose comme ça qu'avec ddsi vous êtes prêt à passer beaucoup de temps à calculer les compensations à la main.

Vous pouvez également copier le fichier sur une partition NTFS de la bonne taille, placer le lecteur dans une machine Windows et utiliser les outils de réparation natifs à partir de là.

Anthon
la source
1
Très utile! Pourriez-vous ajouter un exemple exact en ligne de commande de ddrescueen action, similaire à l' ddexemple de l'autre réponse?
landroni
2
@landroni Je pourrais (fondamentalement ddrescue /dev/sdX driveimage logfile) mais vous devriez vraiment consacrer l'effort à lire la ddrescuedocumentation. Si votre système est en panne, il y a beaucoup de raisons de lire le manuel avant d'aggraver les choses.
Anthon
Je regarde maintenant la page de manuel, mais certaines des options sont cryptiques. Quel serait l' ddrescueéquivalent le plus conservateur de dd if=/dev/olddisk of=/dev/newdisk bs=4k conv=noerror,sync? Garder à l'esprit qu'il serait exécuté sur un disque endommagé (et mourant), et que "s'efforcer de récupérer les données en cas d'erreurs de lecture" n'est pas vraiment une option. Merci!
landroni
@landroni avec les options données dans mon commentaire précédent, chaque secteur d'un bloc n'est essayé qu'une seule fois. La seule façon que je sache que vous pouvez améliorer cela est si vous savez quelles zones sont OK pour être sûr et utiliser -iet -spour les récupérer.
Anthon
Eh bien, la dernière fois que j'ai essayé ddrescue /dev/sr0 driveimage.iso(sur un CD rayé), le programme a essayé de relire beaucoup de mauvais secteurs, beaucoup de fois. Je peux me tromper, mais je serais nerveux à l'idée de courir ddrescuesans autres options de limitation sur un disque en train de mourir.
landroni
3

J'ai eu le même problème: disque qui est sur le point de mourir,
avec une partition NTFS que je voulais d' abord sauver et réparer après
(avant que le disque ne soit totalement parti).

A pu le résoudre avec ntfsclone :

  1. Connectez les deux disques - ancien et nouveau
  2. Démarrez avec Live-Linux depuis USB
    (peut également utiliser Parted Magic )
  3. Créez une partition suffisamment grande sur le nouveau disque
    (utilisez gparted pour cela)
  4. Notez le nom des partitions, car elles sont nommées dans gparted
    ( /dev/sdaX, /dev/sdbX)
  5. Ouvrez une fenêtre de terminal et exécutez la commande suivante: (remplacez et avec les noms de l'étape '4.' - ) ntfsclone se plaindra de vous en ignorant les incohérences mais devrait continuer avec la copie de la partition
    ntfsclone --force --ignore-fs-check --rescue --overwrite NEW-part OLD-part
    NEW-partOLD-part/dev/sd...

-- lorsque vous avez terminé --

  1. Éteignez le PC
  2. Déconnectez le disque défectueux
    (vous souhaitez l'utiliser le moins possible, maintenant)
  3. Redémarrez le PC - sous Windows ou Linux,
    et essayez de réparer la partition sur le nouveau disque

ÉDITER:

- REMARQUE - Une
alimentation défectueuse (instable) peut rendre les contrôleurs de disque fous
et sont beaucoup plus susceptibles de tomber en panne que les disques, il est donc préférable de vérifier cela également.
Vous pouvez rencontrer un comportement selon lequel tout fonctionne correctement pendant quelques minutes
(ou secondes), puis les systèmes commencent à devenir fous, dès qu'ils se réchauffent, littéralement.

(réparer l'alimentation ne restaurera pas les données perdues, bien sûr, mais vous empêchera d'en perdre plus)

Gonen
la source
1

J'essaierais de réparer le disque avec HDAT (freeware) ou éventuellement Spinrite (Commercial). J'ai utilisé ces deux outils pour récupérer des disques qui échouaient et ils ont tous deux bien fonctionné dans le passé.

Jusqu'à ce que le lecteur soit dans un état utilisable, je ne m'attends pas à ce que vous alliez trop loin dans vos efforts de récupération. Une fois le disque effacé, j'utiliserais Clonezilla pour le répliquer aussi rapidement que possible sur un autre disque dur.

slm
la source
0

Je pense que cette question devrait avoir un exemple de travail, donc voici comment j'ai utilisé ddrescue

0) Installation d'un disque de remplacement de taille (et de marque) identique sous garantie et déplacement de l'ancien disque dans un deuxième emplacement

1) J'ai utilisé un CD de démarrage Ubuntu

J'ai essayé l'option simple mais elle a immédiatement produit beaucoup d'erreurs et a accroché

dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
root@ubuntu:~# dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
dd: error reading ‘/dev/sdb’: Input/output error
57496+0 records in
57496+0 records out
29437952 bytes (29 MB) copied, 6.02927 s, 4.9 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+1 records in
57497+0 records out
29438464 bytes (29 MB) copied, 8.86693 s, 3.3 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+2 records in
57498+0 records out
29438976 bytes (29 MB) copied, 11.7068 s, 2.5 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+3 records in
57499+0 records out

2) Lisez ces articles:

Notez que ce dernier a recommandé d'utiliser -dl'accès direct au disque, mais je ne l'ai pas utilisé

3) ddrescue installé

sudo apt-get install gddrescue
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install gddrescue
man ddrescue

Peut également avoir besoin (?)

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

4) Enfin couru (si vous copiez et collez, arrêtez, sda est mon nouveau lecteur ... faites attention et faites vos devoirs)

ddrescue -v -r3 /dev/sdb /dev/sda ~/ddrescue.log
  • -v verbeux
  • -r 3 nouvelles tentatives
  • ~ / xx fichier journal qui peut être utilisé pour réessayer apparemment. Notez que cela est uniquement stocké en mémoire mais peut être copié sur un lecteur USB

Production:

GNU ddrescue 1.17
About to copy 1000 GBytes from /dev/sdb to /dev/sda
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors       Initial skip size: 128 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
rescued:    22555 MB,  errsize:    196 kB,  current rate:   91815 kB/s
   ipos:    22555 MB,   errors:       5,    average rate:   68975 kB/s
   opos:    22555 MB,    time since last successful read:       0 s
Copying non-tried blocks...

5) Fenêtres démarrées et réactivées ... à confirmer

KCD
la source
0

Bonne journée!

Le point est de savoir combien votre disque source est endommagé. S'il est presque ruiné, la seule façon de cloner des données est d'utiliser des suites professionnelles de récupération de données matérielles. Comme Atola Insight

George Gaál
la source