Bonjour
Petite mise en situation :
Ordi portable vendu avec Windows10, puis installé en Dual-boot avec Fedora 29, mise à jour régulièrement jusqu'en F32.
Il dispose d'un SSD de 128 Go (qui contient les OS, les partitions /, /var, /boot, /boot/efi) et un disque dur 2"5 1 To (qui contient /home, le swap, des partitions de données NTFS).
Il me restait 250 Go non alloués sur le disque dur.
J'ai créé une nouvelle partition, formatée en ext4 avec gnome-disk sur cet espace non alloué (donc a priori sans toucher aux partitions existantes) afin d'y synchroniser un disque dur externe.
Le formatage s'était visiblement bien passé. J'ai pu créer un répertoire, y copier quelques fichiers, puis commencer la synchronisation.
J'ai installé grsync avec dnf et lancé l'opération sur environ 100 Go.
Les ennuis ont commencé lorsque j'ai voulu déverrouiller le PC. Il semblait figé, ou tellement lent qu'il était impossible de saisir le mot de passe.
J'ai fini par l'éteindre. Au reboot, le PC restait bloqué à l'étape :
a start job is running for /dev/disk/by-uuid/eb4ec... (xx min xx s / no limit)
J'ai tenté un démarrage sous Windows qui s'est soldé par un tentative de récupération d'une partition de données que j'ai dû interrompre.
J'ai enfin pu démarrer sur la rescue Fedora (en f29) en console tty et compte root.
Un coup d’œil dans fstab m'indique que eb4ec... est l'UUID du swap.
Je pense alors à un UUID qui aurait changé. Mais
ls -l /dev/disk/by-uuid
ne liste que les partitions sdbx du SSD. Idem pour blkid.
fdisk -l et parted listent bien les deux disques et leurs partitions, mais le journal indique de nombreuses erreurs Buffer I/O read unrecovered errors sur sda.
Je ne sais pas ce qui a provoqué cela. La synchronisation? le redémarrage forcé? La récup Windows avortée? ou malheureuse coïncidence ?
Afin d'avoir accès au réseau et à un disque externe, je démarre finalement sur ma Fedora 32 en éditant le grub pour ne pas exécuter le resume du Swap.
J'ai installé smartmontools et ddrescue pour voir l'étendue des dégâts.
Smart m'indique environ 50'000 secteurs réalloués. Mais le nombre augmente à chaque consultation.
J'ai lancé ensuite le clonage de la partition /home sur un disque externe
ddrescue -v -n /dev/sda5 hdimage mapfile.log
Après une nuit, environ la moitié des secteurs ont pu être récupérés mais je me pose quelques questions sur les chiffres que ddrescue renvoie.
Il indiquait être en train de scanner le début de la partition et en être à la cinquième passe, alors qu'il me semblait que l'option -n faisait une passe unique préliminaire.
Copying non-tried blocks... Pass 5 (forwards)
La vitesse de récupération est alors très lente et le nombre d'erreurs de lecture monte en flèche. Smart a même fini par notifier une alerte de panne sur le disque.
Cependant les nombres Bad-sector et bad areas indiqués par ddrescue restent nuls. Est-ce bon signe ou pas ?
Quelle serait la marche à suivre ensuite ? Relancer ddrescue avec l'option -r3 pour tenter de compléter l'image disque?
Et comment exploiter l'image disque? ddrescueview montre qu'elle comporte beaucoup de trous.
Puis-je tenter de reconstruire le système de fichiers avec fsck? Et comment m'assurer de l'intégrité des fichiers récupérés?
Merci