Pages : 1
#1 Le 07/10/2016, à 21:05
- Untxia
Reverter un mkswap
Salut. J'espère être au bon endroit.
J'ai fait une énorme bourde (un faux contact dans un connecteur de disque dur, qui change de nom et tombe sous un script...) en opérant un mkswap sur un volume ext4 contenant tout plein de données indispensables (sans backup, oui je sais, *c'était* le backup).
Évidemment j'ai cessé de bosser sur la machine (qui était fraichement bootée). Mes données sont donc encore là et très certainement de quoi les récupérer. Ma question est donc (comment) peut-on reverter ce mkswap et restaurer l'ancien volume ext4 (de 2 To) ?
Merci d'avance pour toute aide. Vous me sauveriez la vie.
Hors ligne
#2 Le 07/10/2016, à 21:14
- Nasman
Re : Reverter un mkswap
1) Démarrer en mode "Live" et en veillant que la partition ne soit pas montée, surtout si elle est passé en swap (l'utilisation s'effectue souvent de façon automatique)
2) Voir si testdisk peut retrouver des données/partitions
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#3 Le 08/10/2016, à 07:21
- Untxia
Re : Reverter un mkswap
Tout d'abord merci Nasman, car grâce à toi j'ai réussi à dormir cette nuit.
Je ne connaissais pas testdisk, et si on en croit son descriptif, ça devrait faire le job.
Petits détails : ce DD n'est aucunement impliqué dans le fonctionnement du système, c'est une sorte de grosse archive rapide. Il est constitué d'une partition de presque 2 To, d'une petite swap de 4 Go et d'un reliquat inutilisé.
Ce matin j'ai lancé testdisk "pour voir", c'est assez confus. Il ne voit pas l'ancienne partition ext4 avec le quicksearch. Avec la recherche détaillée il est parti pour des heures (2 To...) mais trouve très vite la partoche, tout en proposant "Stop".
http://www.cjoint.com/doc/16_10/FJignqo … 06-03.jpeg
J'ai validé Stop au bout de quelques dizaines de secondes et il semble enfin avoir retrouvé tout le monde.
http://www.cjoint.com/doc/16_10/FJigpsi … ran-2.jpeg
Bon. Là, je sais que si je fais une connerie, je perds tout.
J'ai vaguement compris qu'il faut que je passe ma partition de D (Deleted) à autre chose. Et que dois-je faire de la partition (erronée) de swap de 2 To ? La manpage est assez laconique sur le sujet, et j'ai pas trouvé beaucoup d'aide claire...
Un petit conseil sur la marche à suivre ? Merci encore.
Dernière modification par Untxia (Le 08/10/2016, à 08:36)
Hors ligne
#4 Le 08/10/2016, à 08:32
- Untxia
Re : Reverter un mkswap
Bon. J'ai un peu avancé par mes propres moyens avec la doc (même si je n'ai trouvé que des exemples NTFS ou FAT). La partition qui fait doublon avec la swap contient effectivement toujours les entrées des fichiers (commande P).
Je dois la passer du mode Deleted à autre chose, mais quoi ? L ? E ? P ? * ?
Et donc question subsidiaire, dois-je faire quoi que ce soit à l'entrée de partition swap erronée ou la laisser simplement Deleted ?
Thx
Hors ligne
#5 Le 08/10/2016, à 10:12
- Nasman
Re : Reverter un mkswap
Je ne sais pas dans quelle mesure testdisk peut restaurer la situation initiale. Je ne l'utilise que pour retrouver des traces d'une ancienne partition, afficher les fichiers récupérables et les copier sur un autre support.
Selon l'origine du problème, il y aura plus ou moins de fichiers à récupérer. Si tu as lancé une opération qui a écrit sur tout le disque, tu ne retrouvera rien. Si tu as seulement effacé une partition, par exemple avec gparted, alors je pense que seule la table des partitions a été atteinte et là testdisk peut tout retrouver.
Je ne sais pas exactement ce que mkswap fait sur le disque - avec un peut de chance il se contente de modifier l'en-tête de la partition pour indiquer que c'est du swap.
Peux tu donner le maximum d'infos sur ce disque :
- taille
- type de table des partitions (msdos ou gpt)
- nombre et type des partitions
- historique du disque (la structure des partitions a-t-elle changé plusieurs fois)
Toutes ces infos permettent d'avoir une idée de l'emplacement des partitions avant le pb et de restaurer si possible le partitionnement qui t'intéresse.
Sur des disques de récup non effacés (avec dd par exemple) ou peut retrouver des tas de choses (parfois confidentielles).
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#6 Le 08/10/2016, à 12:17
- Untxia
Re : Reverter un mkswap
Rapide et constant. Merci encore
Alors il s'agit d'un DD 2To interne qui a été dès son acquisition installé par le DVD d'Ubuntu Studio en une partoche de presque 2 To pour / (en ext4) et un swap de 4 Go (et le reliquat je sais plus).
Avec le temps et le passage à 14.04 me semble-t-il, j'ai tout basculé sur un autre DD de 2 To et gardé celui-ci comme grosse archive rapide. Je n'avais rien changé aux partitions initiales créées par l'install Ubuntu, juste enlevé certains dossiers inutiles et encombrants.
Et donc, il n'a effectivement subi qu'un mkswap.
Testdisk trouve une table Intel, et comme je le disais, trouve bien l'ancienne partition et son contenu (avec la commande P après avoir utilisé la recherche approfondie au lieu du Quicksearch) (cf. photos en liens dans mon 2è post). Du coup je n'ai pas trop de craintes sur la possibilité de récupération, vu que le swap n'a jamais été effectivement activé (et que testdisk retrouve les entrées).
Ma question reste : dans quel état remettre la fameuse partition ? J'avoue ne pas trop avoir suivi l'évolution des différents types de partitions, étendues, principales, logiques, toussa, surtout depuis que je suis sous Linux.
Dernière modification par Untxia (Le 08/10/2016, à 12:24)
Hors ligne
#7 Le 08/10/2016, à 13:15
- Nasman
Re : Reverter un mkswap
Les infos devraient se trouver dans la partition Linux commençant en CHS 0 32 33, soit à la LBA
LBA= 16065*C + 63*H + S -1 = 16065*0+32*63+33-1 = 2048
C'est le partitionnement classique de partitions alignées au Mio
Le partitionnement initial devait être (en LBA)
sda1 principale ext4 début 2048 fin 4381116719
sda2 étendue début 4381116720 fin 3907028991
sda5 logique linux-swap début 3899168768 fin 3907028991
et en CHS
sda1 début 0 32 33 fin 243711 230 15
sda2 début 242711 230 16 fin 243201 78 13
sda5 début 242712 7 48 fin 243201 78 13
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#8 Le 08/10/2016, à 13:40
- Untxia
Re : Reverter un mkswap
Je traduis en n00b qui veut être absolument certain de ses manips avant de risquer de perdre plein de trucs :
Donc ça veut dire que je passe la partition
D Linux 0 32 33 242711 230 15 3899164672
de "D" en "P" ? Ou en "*" ?
et que fais-je de
D Linux Swap 0 32 33 242711 230 15 3899164672
Je la laisse tel quel ?
Hors ligne
#9 Le 08/10/2016, à 13:48
- Nasman
Re : Reverter un mkswap
La première Linux est à mettre en P (partition principale) et la deuxième linux-swap en L (logique)
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#10 Le 08/10/2016, à 13:55
- Untxia
Re : Reverter un mkswap
Ok pour le P sur la 1ère. Mais la swap qui overlappe sur elle (je parle pas de la vraie petite swap de 4Go au bout du disque mais de celle accidentelle qui a été faite par le mkswap), je la laisse simplement en mode D ou j'y fais quelque chose ? Si je la réactive en la mettant en L ça va à nouveau faire un overlap non ?
Hors ligne
#11 Le 08/10/2016, à 15:19
- Nasman
Re : Reverter un mkswap
Tu n'y touche pas. Tu l'oublies. Seule la partition Linux est importante, la deuxième en linux-swap est optionnelle mais si on peut retrouver l'état d'origine, on ne va pas se gêner.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#12 Le 08/10/2016, à 16:31
- Untxia
Re : Reverter un mkswap
Première tentative, pas très rassurante.
J'ai passé la partition Linux retrouvée en P. Ce qui donne
1 P Linux 0 32 33 242711 230 15 3899164672
2 * Linux Swap 242712 7 48 243201 78 13 7860224
Je choisis bien Write, puis Y. Il me demande de rebooter, ce que je fais. Je lance Disques (gnome-disk-utility)... qui me dit que cette partition est un swap.
Je lance testdisk qui me dit pareil d'ailleurs. Sauf que, idem, si je fais un deep search, il retrouve bien ma partition ext4 et ses fichiers.
Je précise qu'évidemment c'était fait sous root.
Autre détail : au moment du Y, je n'ai pas vu de latence particulière, ni des plombes passées sur le disque (si c'est juste un header à changer c'est logique).
Hors ligne
#13 Le 08/10/2016, à 16:53
- Untxia
Re : Reverter un mkswap
Bon. J'ai retenté la manip avec attention, et ça fait pareil. Au reboot j'ai lancé testdisk qui m'a d'abord dit ça :
1 P Linux 0 32 33 242711 230 15 3899164672
1 P Linux 0 32 33 242711 230 15 3899164672
2 * Linux Swap 242712 7 48 243201 78 13 7860224
Puis je fais un Quicksearch, qui donne un résultat bien contradictoire :
>* Linux Swap 0 32 33 242711 230 15 3899164672
P Linux Swap 242712 7 48 243201 78 13 7860224
Je lance un Deepsearch, et à nouveau...
>D Linux Swap 0 32 33 242711 230 15 3899164672
D Linux 0 32 33 242711 230 15 3899164672
* Linux Swap 242712 7 48 243201 78 13 7860224
WTF ?! comme on dit en jeune...
Hors ligne
#14 Le 08/10/2016, à 17:02
- Nasman
Re : Reverter un mkswap
Que donne
sudo fdisk -l
sudo dd if=/dev/sdb bs=512 count=1 | hexdump -C
sudo dd if=/dev/sdb bs=512 count=8 skip=2048 | hexdump -C
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#15 Le 08/10/2016, à 17:25
- Untxia
Re : Reverter un mkswap
Que donne
sudo fdisk -l
Disque /dev/sdb : 1,8 TiB, 2000398934016 octets, 3907029168 secteurs
Unités : sectors of 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00045d8d
Périphérique Amorçage Start Fin Secteurs Size Id Type
/dev/sdb1 2048 3899166719 3899164672 1,8T 83 Linux
/dev/sdb2 * 3899168768 3907028991 7860224 3,8G 82 partition d'échange Linux / Solaris
Tu n'as pas besoin des autres disques ? Y'en a une tripotée.
sudo dd if=/dev/sdb bs=512 count=1 | hexdump -C
00000000 eb 63 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |.c..............|
00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..|
00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u|
1+0 enregistrements lus
1+0 enregistrements écrits
00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..|
00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........|
00000050 00 00 00 00 00 00 00 00 00 00 00 80 01 00 00 00 |................|
512 bytes copied, 0,000159135 s, 3,2 MB/s
00000060 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70 |...........t...p|
00000070 74 02 b2 80 ea 79 7c 00 00 31 c0 8e d8 8e d0 bc |t....y|..1......|
00000080 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 bb 17 04 |. ..d|<.t...R...|
00000090 f6 07 03 74 06 be 88 7d e8 17 01 be 05 7c b4 41 |...t...}.....|.A|
000000a0 bb aa 55 cd 13 5a 52 72 3d 81 fb 55 aa 75 37 83 |..U..ZRr=..U.u7.|
000000b0 e1 01 74 32 31 c0 89 44 04 40 88 44 ff 89 44 02 |..t21..D.@.D..D.|
000000c0 c7 04 10 00 66 8b 1e 5c 7c 66 89 5c 08 66 8b 1e |....f..\|f.\.f..|
000000d0 60 7c 66 89 5c 0c c7 44 06 00 70 b4 42 cd 13 72 |`|f.\..D..p.B..r|
000000e0 05 bb 00 70 eb 76 b4 08 cd 13 73 0d 5a 84 d2 0f |...p.v....s.Z...|
000000f0 83 d0 00 be 93 7d e9 82 00 66 0f b6 c6 88 64 ff |.....}...f....d.|
00000100 40 66 89 44 04 0f b6 d1 c1 e2 02 88 e8 88 f4 40 |@f.D...........@|
00000110 89 44 08 0f b6 c2 c0 e8 02 66 89 04 66 a1 60 7c |.D.......f..f.`||
00000120 66 09 c0 75 4e 66 a1 5c 7c 66 31 d2 66 f7 34 88 |f..uNf.\|f1.f.4.|
00000130 d1 31 d2 66 f7 74 04 3b 44 08 7d 37 fe c1 88 c5 |.1.f.t.;D.}7....|
00000140 30 c0 c1 e8 02 08 c1 88 d0 5a 88 c6 bb 00 70 8e |0........Z....p.|
00000150 c3 31 db b8 01 02 cd 13 72 1e 8c c3 60 1e b9 00 |.1......r...`...|
00000160 01 8e db 31 f6 bf 00 80 8e c6 fc f3 a5 1f 61 ff |...1..........a.|
00000170 26 5a 7c be 8e 7d eb 03 be 9d 7d e8 34 00 be a2 |&Z|..}....}.4...|
00000180 7d e8 2e 00 cd 18 eb fe 47 52 55 42 20 00 47 65 |}.......GRUB .Ge|
00000190 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 65 61 |om.Hard Disk.Rea|
000001a0 64 00 20 45 72 72 6f 72 0d 0a 00 bb 01 00 b4 0e |d. Error........|
000001b0 cd 10 ac 3c 00 75 f4 c3 8d 5d 04 00 00 00 00 20 |...<.u...]..... |
000001c0 21 00 83 fe ff ff 00 08 00 00 00 88 68 e8 80 fe |!...........h...|
000001d0 ff ff 82 fe ff ff 00 98 68 e8 00 f0 77 00 00 00 |........h...w...|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200
sudo dd if=/dev/sdb bs=512 count=8 skip=2048 | hexdump -C
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000400 01 00 00 00 ff 10 0d 1d 00 00 00 00 d7 40 fb c7 |.............@..|
00000410 85 fa 4e 55 b8 b1 97 ea 5d 63 74 a1 00 00 00 00 |..NU....]ct.....|
00000420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000ff0 00 00 00 00 00 00 53 57 41 50 53 50 41 43 45 32 |......SWAPSPACE2|
8+0 enregistrements lus
8+0 enregistrements écrits
4096 bytes (4,1 kB, 4,0 KiB) copied, 0,000233709 s, 17,5 MB/s
00001000
Hors ligne
#16 Le 08/10/2016, à 18:21
- Nasman
Re : Reverter un mkswap
La table des partitions est correcte mais la partition de swap est passée en principale (je ne pense pas que celà soit grave) ; cependant la zone amorce de sdb1 est atteinte : on voit SWAPSPACE2 qui correspond à du swap.
En ext4 on devrait avoir les données qui commence à l'offset 400 avec le dernier point de montage en 488 (il y a des zéros à la place).
Avec testdisk, peut tu effectuer un deeper search sur le disque, sélectionner cette partition et faire un listfiles (p pour afficher les fichiers et répertoires).
Si tu peux les voir alors tu pourras peut être les copier sur un autre support.
Je ne sais pas si un fsck pourrait réparer la partition. Je ne tenterais pas avant d'avoir sauvegardé ce qui peux l'être.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#17 Le 08/10/2016, à 18:31
- Untxia
Re : Reverter un mkswap
Oui je peux voir mes fichiers avec la commande P. Tout semble être là (à la pelle).
Cette copie, c'est fichier par fichier ? Parce qu'il y en a des dizaines de milliers... Et dans les 1,5 To.
Fsck, on peut pas le lancer en lecture seule pour voir ce qu'il en dit ?
Et une idée pourquoi testdisk semblait s'en sortir ? Y'a pas un backup des infos de partitionnement à faire ? Est-ce que le fait que je boote sur un autre disque change quelque-chose (merdage grub ?) ?
Hors ligne
#18 Le 08/10/2016, à 18:36
- Nasman
Re : Reverter un mkswap
Tu peux copier le répertoire parent (avec ce qu'il contient).
fsck est sensé corriger les problèmes du système de fichier mais il risque de faire encore plus de dégâts (tu peux tenter après avoir récupéré tes données)
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#19 Le 08/10/2016, à 18:53
- Untxia
Re : Reverter un mkswap
Bon ben va falloir faire ça à la main morceau par morceau, sans même savoir combien contient chaque répertoire, car je n'ai pas de disque avec 1,5 To de libre d'un trait.
Hors ligne
#20 Le 08/10/2016, à 18:59
- Nasman
Re : Reverter un mkswap
En règle générale, la meilleure situation pour retrouver des données, c'est immédiatement après avoir constaté le pb. Toutes les opérations faites après (écriture sur le disque) réduisent les chances de restauration des données.
Si actuellement tes données sont lisible il faut en profiter. fsck peut sans doute corriger le système de fichier et rétablir les inodes mais en cas d'erreur tu réduiras tes chances de récupération.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#21 Le 08/10/2016, à 20:01
- Untxia
Re : Reverter un mkswap
Ok. Ça va être laborieux donc.
J'ai lancé la copie d'un premier répertoire. On en est à 300Go pour plus de 30000 fichiers et ça continue. Espérons qu'il y aura assez de place sur le disque de réception.
Je vais jusqu'au bout du backup fichiers, puis lance le fsck histoire de vérifier si c'est une solution fonctionnelle et pas dangereuse. Le cas échéant je reformaterai le disque et y remettrait tout ce qu'il contenait. J'vous tiens au jus. Merci pour tout.
[Edit]
En cours de laborieuse sauvegarde sous-sous-sous-sous-dossier par sous.... Désolé pour le suspense. Mais ça vaut le coup d'aller jusqu'au bout et tester fsck pour tenter la réparation avant de classer le topic, histoire d'être utile
Dernière modification par Untxia (Le 10/10/2016, à 14:54)
Hors ligne
Pages : 1