#1 Le 06/09/2011, à 14:47
- martinclic
crash disque, récupération ext3 corrompu (ou ext4)
Bonjour,
le disque dur de mon portable m'a lâché (Ubuntu 10.04).
Il y a 4 partitions dessus:
sda1: windows, sans importance
sda2: / , ext3 ou ext4 (je me rappelle plus)
sda3: /home , ext3 ou ext4
sda4: swap
je souhaite tenter de récupérer ce que je peux de sda3 (~120 Go), si possible.
Grub ne boote plus.
Depuis un liveCD (ubuntu 10.04):
- Gparted voit les 4 partitions, mais les 2 partitions ext3/4 sont de format inconnus
- fdisk
ubuntu@ubuntu:~$ sudo sfdisk -luS
Disk /dev/sda: 24321 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/sda1 * 63 82043954 82043892 7 HPFS/NTFS
/dev/sda2 82043955 128343284 46299330 83 Linux
/dev/sda3 128343285 384419384 256076100 83 Linux
/dev/sda4 384419385 390716864 6297480 82 Linux swap / Solaris
- fsck /dev/sda
ubuntu@ubuntu:~$ sudo fsck /dev/sda2
fsck from util-linux-ng 2.17.2
e2fsck 1.41.11 (14-Mar-2010)
fsck.ext2: Superbloc invalide, tentons d'utiliser les blocs de sauvetage...
le superbloc a un journal invalide (i-noeud 8).
Effacer<o>? non
fsck.ext2: Illegal inode number lors de la vérification du journal ext3 pour /dev/sda2
ubuntu@ubuntu:~$ sudo fsck /dev/sda3
fsck from util-linux-ng 2.17.2
e2fsck 1.41.11 (14-Mar-2010)
fsck.ext2: Superbloc invalide, tentons d'utiliser les blocs de sauvetage...
le superbloc a un journal invalide (i-noeud 8).
Effacer<o>? non
fsck.ext2: Illegal inode number lors de la vérification du journal ext3 pour /dev/sda3
- Testdisk voit les partitions, sda2 et sda3 sont indiqués "Linux". Mais il patine sévèrement sur l'analyse de sda3 à partir de environ sa moitié, en signalant des erreurs. Donc je suppose que le disque est abimé physiquement sur cette partition. De plus il ne peut pas lister le contenu à la fin de l'analyse (touche P). Le fichier de log est à la suite du post.
Je viens de m'acheter un disque externe pour faire mes manip'. Je veux tenter de faire un image disque ou partition avec ddrescue, et essayer d'y réparer le système de fichier avec les adresses de superblock que me donne testdisk.
Je suis perdu sur les questions suivantes:
1- si je fais une image du disque entier, je ne suis pas sur de pouvoir agir uniquement sur une partition, pour tenter de réparer le système de fichier.
2- si je fais une image de la partition sda3, je ne suis pas sur de pouvoir utiliser les adresses de superblock indiquées par TestDisk (elles sont peut être relatives au disque entier ?)
3- ou alors je fais une copie disque à disque avec ddrescue. A ce moment là il me faut encore un disque externe de plus pour les manip' suivantes...
Merci d'avance pour tout conseil et aide .
PS: çà va ? Je semble pas trop paniqué ? Yyarrggglll...!
Dernière modification par martinclic (Le 06/09/2011, à 14:57)
Hors ligne
#2 Le 06/09/2011, à 14:49
- martinclic
Re : crash disque, récupération ext3 corrompu (ou ext4)
log testdisk:
Thu Sep 1 11:53:39 2011
Command line: TestDisk
TestDisk 6.12, Data Recovery Utility, May 2011
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
OS: Linux, kernel 2.6.32-24-generic (#39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010) i686
Compiler: GCC 4.4
Compilation date: 2011-05-11T22:21:36
ext2fs lib: 1.41.9, ntfs lib: libntfs-3g, reiserfs lib: 0.3.1-rc8, ewf lib: 20100226
/dev/sda: LBA, HPA, LBA48, DCO support
/dev/sda: size 390721968 sectors
/dev/sda: user_max 390721968 sectors
/dev/sda: native_max 4846000 sectors
/dev/sda: dco 390721968 sectors
Warning: can't get size for Disk /dev/mapper/control - 0 B - CHS 1 1 1, sector size=512
/dev/sr0 is not an ATA disk
Hard disk list
Disk /dev/sda - 200 GB / 186 GiB - CHS 24321 255 63, sector size=512 - ATA ST9200420ASG
Disk /dev/sdb - 500 GB / 465 GiB - CHS 60801 255 63, sector size=512 - SAMSUNG HM500LI
Disk /dev/sr0 - 718 MB / 685 MiB - CHS 351023 1 1 (RO), sector size=2048 - MATSHITA DVD+-RW UJ-857G
Partition table type (auto): Intel
Disk /dev/sda - 200 GB / 186 GiB - ATA ST9200420ASG
Partition table type: Intel
Analyse Disk /dev/sda - 200 GB / 186 GiB - CHS 24321 255 63
Geometry from i386 MBR: head=255 sector=63
NTFS at 0/1/1
check_part_i386 failed for partition type 83
check_part_i386 failed for partition type 83
get_geometry_from_list_part_aux head=255 nbr=8
get_geometry_from_list_part_aux head=8 nbr=1
get_geometry_from_list_part_aux head=16 nbr=1
get_geometry_from_list_part_aux head=32 nbr=1
get_geometry_from_list_part_aux head=64 nbr=1
get_geometry_from_list_part_aux head=128 nbr=1
get_geometry_from_list_part_aux head=240 nbr=1
get_geometry_from_list_part_aux head=255 nbr=8
Current partition structure:
1 * HPFS - NTFS 0 1 1 5106 254 63 82043892
No ext2, JFS, Reiser, cramfs or XFS marker
2 P Linux 5107 0 1 7988 254 63 46299330
2 P Linux 5107 0 1 7988 254 63 46299330
No ext2, JFS, Reiser, cramfs or XFS marker
3 P Linux 7989 0 1 23928 254 63 256076100
3 P Linux 7989 0 1 23928 254 63 256076100
4 P Linux Swap 23929 0 1 24320 254 63 6297480
Ask the user for vista mode
Allow partial last cylinder : No
search_vista_part: 0
search_part()
Disk /dev/sda - 200 GB / 186 GiB - CHS 24321 255 63
NTFS at 0/1/1
filesystem size 82043892
sectors_per_cluster 8
mft_lcn 786432
mftmirr_lcn 5127743
clusters_per_mft_record -10
clusters_per_index_record 1
HPFS - NTFS 0 1 1 5106 254 63 82043892
NTFS, 42 GB / 39 GiB
recover_EXT2: s_block_group_nr=0/176, s_mnt_count=3/32, s_blocks_per_group=32768, s_inodes_per_group=8176
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 5787416
recover_EXT2: part_size 46299328
Linux 6443 0 1 9324 254 61 46299328
EXT4 Large file Sparse superblock Recover, 23 GB / 22 GiB
recover_EXT2: s_block_group_nr=0/116, s_mnt_count=2/33, s_blocks_per_group=32768, s_inodes_per_group=8160
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 3815429
recover_EXT2: part_size 30523432
Linux 13975 0 1 15874 253 58 30523432
EXT3 Large file Sparse superblock Recover, 15 GB / 14 GiB
file_pread(4,16,buffer,255032064(15875/3/1)) read err: Input/output error
file_pread(4,1,buffer,255032064(15875/3/1)) read err: Input/output error
file_pread(4,16,buffer,255035223(15875/53/10)) read err: Partial read
file_pread(4,16,buffer,255039319(15875/118/11)) read err: Partial read
file_pread(4,1,buffer,255039320(15875/118/12)) read err: Input/output error
file_pread(4,16,buffer,255112216(15880/0/17)) read err: Input/output error
file_pread(4,1,buffer,255112216(15880/0/17)) read err: Input/output error
file_pread(4,16,buffer,255385305(15897/0/1)) read err: Input/output error
file_pread(4,1,buffer,255385305(15897/0/1)) read err: Input/output error
file_pread(4,16,buffer,255497886(15904/2/1)) read err: Input/output error
file_pread(4,1,buffer,255497886(15904/2/1)) read err: Input/output error
file_pread(4,2,buffer,255497887(15904/2/2)) read err: Input/output error
file_pread(4,16,buffer,255513888(15905/1/1)) read err: Input/output error
file_pread(4,1,buffer,255513888(15905/1/1)) read err: Input/output error
file_pread(4,16,buffer,255513889(15905/1/2)) read err: Input/output error
file_pread(4,1,buffer,255513889(15905/1/2)) read err: Input/output error
file_pread(4,16,buffer,255787119(15922/3/1)) read err: Partial read
file_pread(4,1,buffer,255787128(15922/3/10)) read err: Input/output error
file_pread(4,16,buffer,255883399(15928/1/17)) read err: Partial read
file_pread(4,1,buffer,255883400(15928/1/18)) read err: Input/output error
file_pread(4,16,buffer,255883401(15928/1/19)) read err: Input/output error
file_pread(4,16,buffer,255915450(15930/0/1)) read err: Partial read
file_pread(4,1,buffer,255915456(15930/0/7)) read err: Input/output error
file_pread(4,8,buffer,255915458(15930/0/9)) read err: Input/output error
file_pread(4,16,buffer,256156504(15945/1/17)) read err: Input/output error
file_pread(4,1,buffer,256156504(15945/1/17)) read err: Input/output error
file_pread(4,16,buffer,256156505(15945/1/18)) read err: Input/output error
file_pread(4,1,buffer,256156505(15945/1/18)) read err: Input/output error
file_pread(4,16,buffer,256284961(15953/0/17)) read err: Partial read
file_pread(4,16,buffer,256525983(15968/1/1)) read err: Partial read
file_pread(4,1,buffer,256525984(15968/1/2)) read err: Input/output error
file_pread(4,16,buffer,256525985(15968/1/3)) read err: Input/output error
file_pread(4,1,buffer,256525985(15968/1/3)) read err: Input/output error
file_pread(4,8,buffer,256525991(15968/1/9)) read err: Input/output error
file_pread(4,16,buffer,256702635(15979/0/1)) read err: Partial read
file_pread(4,16,buffer,256702651(15979/0/17)) read err: Input/output error
file_pread(4,1,buffer,256702651(15979/0/17)) read err: Input/output error
file_pread(4,16,buffer,256911559(15992/1/17)) read err: Partial read
file_pread(4,16,buffer,257088195(16003/0/1)) read err: Partial read
file_pread(4,1,buffer,257088200(16003/0/6)) read err: Input/output error
file_pread(4,8,buffer,257088203(16003/0/9)) read err: Input/output error
file_pread(4,16,buffer,257473834(16027/1/17)) read err: Partial read
file_pread(4,1,buffer,257473840(16027/1/23)) read err: Input/output error
file_pread(4,16,buffer,257827201(16049/0/17)) read err: Partial read
file_pread(4,16,buffer,258148564(16069/1/17)) read err: Partial read
file_pread(4,16,buffer,258212871(16073/2/1)) read err: Partial read
file_pread(4,1,buffer,258212872(16073/2/2)) read err: Input/output error
file_pread(4,1,buffer,258212873(16073/2/3)) read err: Input/output error
file_pread(4,16,buffer,258228873(16074/1/1)) read err: Partial read
file_pread(4,16,buffer,258518043(16092/1/1)) read err: Partial read
file_pread(4,16,buffer,258518059(16092/1/17)) read err: Input/output error
file_pread(4,1,buffer,258518059(16092/1/17)) read err: Input/output error
file_pread(4,16,buffer,258518060(16092/1/18)) read err: Input/output error
file_pread(4,1,buffer,258518060(16092/1/18)) read err: Input/output error
file_pread(4,16,buffer,258598384(16097/1/17)) read err: Partial read
file_pread(4,16,buffer,259000056(16122/2/1)) read err: Partial read
file_pread(4,1,buffer,259000064(16122/2/9)) read err: Input/output error
file_pread(4,16,buffer,259016058(16123/1/1)) read err: Partial read
file_pread(4,16,buffer,259016074(16123/1/17)) read err: Input/output error
file_pread(4,1,buffer,259016074(16123/1/17)) read err: Input/output error
file_pread(4,16,buffer,259016075(16123/1/18)) read err: Input/output error
file_pread(4,1,buffer,259016075(16123/1/18)) read err: Input/output error
file_pread(4,16,buffer,259273114(16139/1/17)) read err: Partial read
file_pread(4,1,buffer,259273120(16139/1/23)) read err: Input/output error
file_pread(4,16,buffer,259289226(16140/2/1)) read err: Input/output error
file_pread(4,1,buffer,259289226(16140/2/1)) read err: Input/output error
file_pread(4,2,buffer,259289227(16140/2/2)) read err: Input/output error
file_pread(4,16,buffer,259369567(16145/2/17)) read err: Partial read
file_pread(4,16,buffer,259385569(16146/1/17)) read err: Partial read
file_pread(4,16,buffer,259642593(16162/1/1)) read err: Partial read
file_pread(4,16,buffer,259755111(16169/2/1)) read err: Input/output error
file_pread(4,1,buffer,259755111(16169/2/1)) read err: Input/output error
file_pread(4,16,buffer,259771239(16170/3/1)) read err: Partial read
file_pread(4,1,buffer,259771248(16170/3/10)) read err: Input/output error
file_pread(4,16,buffer,259787241(16171/2/1)) read err: Partial read
file_pread(4,16,buffer,259787257(16171/2/17)) read err: Input/output error
file_pread(4,1,buffer,259787257(16171/2/17)) read err: Input/output error
file_pread(4,16,buffer,260028169(16186/1/17)) read err: Partial read
file_pread(4,16,buffer,260397664(16209/1/17)) read err: Input/output error
file_pread(4,1,buffer,260397664(16209/1/17)) read err: Input/output error
file_pread(4,16,buffer,260397665(16209/1/18)) read err: Input/output error
file_pread(4,1,buffer,260397665(16209/1/18)) read err: Input/output error
file_pread(4,16,buffer,260526294(16217/3/1)) read err: Input/output error
file_pread(4,1,buffer,260526294(16217/3/1)) read err: Input/output error
file_pread(4,16,buffer,260542296(16218/2/1)) read err: Input/output error
file_pread(4,1,buffer,260542296(16218/2/1)) read err: Input/output error
file_pread(4,2,buffer,260542297(16218/2/2)) read err: Input/output error
file_pread(4,16,buffer,260767143(16232/1/1)) read err: Partial read
file_pread(4,1,buffer,260767144(16232/1/2)) read err: Input/output error
file_pread(4,16,buffer,260767145(16232/1/3)) read err: Input/output error
file_pread(4,1,buffer,260767145(16232/1/3)) read err: Input/output error
file_pread(4,8,buffer,260767151(16232/1/9)) read err: Input/output error
file_pread(4,16,buffer,260911807(16241/2/17)) read err: Partial read
file_pread(4,16,buffer,261313479(16266/3/1)) read err: Partial read
file_pread(4,1,buffer,261313480(16266/3/2)) read err: Input/output error
file_pread(4,16,buffer,262277190(16326/0/1)) read err: Partial read
file_pread(4,16,buffer,262277206(16326/0/17)) read err: Input/output error
file_pread(4,1,buffer,262277206(16326/0/17)) read err: Input/output error
file_pread(4,16,buffer,262293444(16327/3/1)) read err: Input/output error
file_pread(4,1,buffer,262293444(16327/3/1)) read err: Input/output error
file_pread(4,16,buffer,262437966(16336/2/1)) read err: Partial read
file_pread(4,1,buffer,262437976(16336/2/11)) read err: Input/output error
file_pread(4,8,buffer,262437982(16336/2/17)) read err: Input/output error
file_pread(4,16,buffer,262550311(16343/0/17)) read err: Partial read
file_pread(4,1,buffer,262550312(16343/0/18)) read err: Input/output error
file_pread(4,16,buffer,262967985(16369/0/1)) read err: Partial read
file_pread(4,1,buffer,262967992(16369/0/8)) read err: Input/output error
file_pread(4,8,buffer,262967993(16369/0/9)) read err: Input/output error
recover_EXT2: s_block_group_nr=0/106, s_mnt_count=9/24, s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 3503616
recover_EXT2: part_size 28028928
Linux 20567 1 1 22311 184 39 28028928
EXT4 Large file Sparse superblock Recover, 14 GB / 13 GiB
Linux Swap 23929 0 1 24320 254 47 6297464
SWAP2 version 1, 3224 MB / 3074 MiB
get_geometry_from_list_part_aux head=255 nbr=8
get_geometry_from_list_part_aux head=8 nbr=2
get_geometry_from_list_part_aux head=16 nbr=1
get_geometry_from_list_part_aux head=32 nbr=1
get_geometry_from_list_part_aux head=64 nbr=1
get_geometry_from_list_part_aux head=128 nbr=1
get_geometry_from_list_part_aux head=240 nbr=1
get_geometry_from_list_part_aux head=255 nbr=8
Results
HPFS - NTFS 0 1 1 5106 254 63 82043892
NTFS, 42 GB / 39 GiB
Linux 6443 0 1 9324 254 63 46299330
EXT4 Large file Sparse superblock Recover, 23 GB / 22 GiB
Linux 13975 0 1 15874 254 63 30523500
EXT3 Large file Sparse superblock Recover, 15 GB / 14 GiB
Linux 20567 1 1 22311 254 63 28033362
EXT4 Large file Sparse superblock Recover, 14 GB / 13 GiB
Linux Swap 23929 0 1 24320 254 63 6297480
SWAP2 version 1, 3224 MB / 3074 MiB
interface_write()
No partition found or selected for recovery
search_part()
Disk /dev/sda - 200 GB / 186 GiB - CHS 24321 255 63
NTFS at 0/1/1
filesystem size 82043892
sectors_per_cluster 8
mft_lcn 786432
mftmirr_lcn 5127743
clusters_per_mft_record -10
clusters_per_index_record 1
HPFS - NTFS 0 1 1 5106 254 63 82043892
NTFS, 42 GB / 39 GiB
file_pread(4,16,buffer,17273766(1075/61/49)) read err: Partial read
file_pread(4,16,buffer,17301315(1076/244/4)) read err: Partial read
file_pread(4,16,buffer,17787909(1107/62/49)) read err: Input/output error
file_pread(4,1,buffer,17787909(1107/62/49)) read err: Input/output error
file_pread(4,16,buffer,17801042(1108/16/15)) read err: Partial read
NTFS at 5106/254/63
filesystem size 82043892
sectors_per_cluster 8
mft_lcn 786432
mftmirr_lcn 5127743
clusters_per_mft_record -10
clusters_per_index_record 1
HPFS - NTFS 0 1 1 5106 254 63 82043892
NTFS found using backup sector!, 42 GB / 39 GiB
block_group_nr 3
recover_EXT2: "e2fsck -b 98304 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=3/176, s_mnt_count=0/32, s_blocks_per_group=32768, s_inodes_per_group=8176
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 5787416
recover_EXT2: part_size 46299328
Linux 5107 0 1 7988 254 61 46299328
EXT4 Large file Sparse superblock Backup superblock, 23 GB / 22 GiB
recover_EXT2: s_block_group_nr=0/176, s_mnt_count=3/32, s_blocks_per_group=32768, s_inodes_per_group=8176
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 5787416
recover_EXT2: part_size 46299328
Linux 6443 0 1 9324 254 61 46299328
EXT4 Large file Sparse superblock Recover, 23 GB / 22 GiB
block_group_nr 3
recover_EXT2: "e2fsck -b 98304 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=3/976, s_mnt_count=0/30, s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 32009512
recover_EXT2: part_size 256076096
Linux 7989 0 1 23928 254 59 256076096
EXT4 Large file Sparse superblock Backup superblock, 131 GB / 122 GiB
recover_EXT2: s_block_group_nr=0/116, s_mnt_count=2/33, s_blocks_per_group=32768, s_inodes_per_group=8160
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 3815429
recover_EXT2: part_size 30523432
Linux 13975 0 1 15874 253 58 30523432
EXT3 Large file Sparse superblock Recover, 15 GB / 14 GiB
file_pread(4,16,buffer,246293600(15331/17/15)) read err: Partial read
file_pread(4,16,buffer,246307953(15331/245/4)) read err: Partial read
file_pread(4,16,buffer,246308769(15332/3/1)) read err: Partial read
file_pread(4,16,buffer,246309602(15332/16/15)) read err: Partial read
file_pread(4,16,buffer,246324787(15333/2/17)) read err: Partial read
file_pread(4,1,buffer,246324792(15333/2/22)) read err: Input/output error
file_pread(4,16,buffer,246389927(15337/16/15)) read err: Partial read
file_pread(4,1,buffer,246389928(15337/16/16)) read err: Input/output error
file_pread(4,16,buffer,246485294(15342/254/63)) read err: Input/output error
file_pread(4,16,buffer,247032590(15377/17/15)) read err: Input/output error
file_pread(4,1,buffer,247032590(15377/17/15)) read err: Input/output error
file_pread(4,16,buffer,247095780(15381/0/16)) read err: Partial read
file_pread(4,16,buffer,247176105(15386/0/16)) read err: Partial read
file_pread(4,16,buffer,247674294(15417/3/1)) read err: Input/output error
file_pread(4,1,buffer,247674294(15417/3/1)) read err: Input/output error
file_pread(4,16,buffer,247691255(15418/17/15)) read err: Partial read
file_pread(4,16,buffer,247803584(15425/15/15)) read err: Partial read
file_pread(4,16,buffer,247817937(15425/243/4)) read err: Partial read
file_pread(4,16,buffer,247818769(15426/1/17)) read err: Partial read
file_pread(4,1,buffer,247818776(15426/1/24)) read err: Input/output error
file_pread(4,16,buffer,247834770(15427/0/16)) read err: Partial read
file_pread(4,16,buffer,248208078(15450/60/49)) read err: Input/output error
file_pread(4,1,buffer,248208078(15450/60/49)) read err: Input/output error
file_pread(4,16,buffer,248317790(15457/17/15)) read err: Input/output error
file_pread(4,1,buffer,248317790(15457/17/15)) read err: Input/output error
file_pread(4,16,buffer,248332143(15457/245/4)) read err: Input/output error
file_pread(4,1,buffer,248332143(15457/245/4)) read err: Input/output error
file_pread(4,16,buffer,248364273(15459/245/4)) read err: Partial read
file_pread(4,16,buffer,248444472(15464/243/4)) read err: Input/output error
file_pread(4,1,buffer,248444472(15464/243/4)) read err: Input/output error
file_pread(4,16,buffer,248445288(15465/1/1)) read err: Partial read
file_pread(4,16,buffer,248461432(15466/2/17)) read err: Partial read
file_pread(4,16,buffer,248477434(15467/1/17)) read err: Partial read
file_pread(4,16,buffer,248754414(15484/62/49)) read err: Partial read
file_pread(4,16,buffer,249103137(15505/243/4)) read err: Partial read
file_pread(4,16,buffer,249103953(15506/1/1)) read err: Partial read
file_pread(4,16,buffer,249103969(15506/1/17)) read err: Input/output error
file_pread(4,1,buffer,249103969(15506/1/17)) read err: Input/output error
file_pread(4,16,buffer,249103970(15506/1/18)) read err: Input/output error
file_pread(4,1,buffer,249103970(15506/1/18)) read err: Input/output error
file_pread(4,16,buffer,249168276(15510/2/1)) read err: Partial read
file_pread(4,1,buffer,249168280(15510/2/5)) read err: Input/output error
file_pread(4,16,buffer,249168282(15510/2/7)) read err: Input/output error
file_pread(4,2,buffer,249169109(15510/15/15)) read err: Input/output error
file_pread(4,16,buffer,249183462(15510/243/4)) read err: Input/output error
file_pread(4,1,buffer,249183462(15510/243/4)) read err: Input/output error
file_pread(4,16,buffer,249184278(15511/1/1)) read err: Partial read
file_pread(4,16,buffer,249184294(15511/1/17)) read err: Input/output error
file_pread(4,1,buffer,249184294(15511/1/17)) read err: Input/output error
file_pread(4,16,buffer,249184295(15511/1/18)) read err: Input/output error
file_pread(4,1,buffer,249184295(15511/1/18)) read err: Input/output error
file_pread(4,16,buffer,249509406(15531/61/49)) read err: Partial read
file_pread(4,16,buffer,249525408(15532/60/49)) read err: Partial read
file_pread(4,16,buffer,249794811(15549/2/1)) read err: Input/output error
file_pread(4,1,buffer,249794811(15549/2/1)) read err: Input/output error
file_pread(4,2,buffer,249794812(15549/2/2)) read err: Input/output error
file_pread(4,16,buffer,252670509(15728/3/1)) read err: Partial read
file_pread(4,1,buffer,252670512(15728/3/4)) read err: Input/output error
file_pread(4,16,buffer,253107966(15755/61/49)) read err: Partial read
file_pread(4,16,buffer,253200464(15760/254/63)) read err: Input/output error
file_pread(4,16,buffer,253349004(15770/62/49)) read err: Input/output error
file_pread(4,1,buffer,253349004(15770/62/49)) read err: Input/output error
file_pread(4,16,buffer,253365006(15771/61/49)) read err: Partial read
file_pread(4,16,buffer,253505699(15779/254/63)) read err: Input/output error
file_pread(4,16,buffer,253569975(15784/0/16)) read err: Partial read
file_pread(4,16,buffer,253863021(15802/61/49)) read err: Partial read
file_pread(4,16,buffer,253891275(15804/0/16)) read err: Partial read
file_pread(4,16,buffer,253971648(15809/1/1)) read err: Partial read
file_pread(4,16,buffer,253987649(15809/254/63)) read err: Partial read
file_pread(4,16,buffer,253987665(15810/0/16)) read err: Input/output error
file_pread(4,16,buffer,254136189(15819/62/49)) read err: Partial read
file_pread(4,16,buffer,254277779(15828/15/15)) read err: Partial read
file_pread(4,16,buffer,254341159(15832/1/17)) read err: Partial read
file_pread(4,16,buffer,254726703(15856/1/1)) read err: Input/output error
file_pread(4,1,buffer,254726703(15856/1/1)) read err: Input/output error
file_pread(4,16,buffer,254742704(15856/254/63)) read err: Input/output error
file_pread(4,16,buffer,254758017(15857/243/4)) read err: Input/output error
file_pread(4,1,buffer,254758017(15857/243/4)) read err: Input/output error
file_pread(4,16,buffer,254758833(15858/1/1)) read err: Partial read
file_pread(4,16,buffer,254758849(15858/1/17)) read err: Input/output error
file_pread(4,1,buffer,254758849(15858/1/17)) read err: Input/output error
file_pread(4,16,buffer,254758850(15858/1/18)) read err: Input/output error
file_pread(4,1,buffer,254758850(15858/1/18)) read err: Input/output error
file_pread(4,16,buffer,254891244(15866/62/49)) read err: Input/output error
file_pread(4,1,buffer,254891244(15866/62/49)) read err: Input/output error
file_pread(4,16,buffer,254987571(15872/61/49)) read err: Partial read
file_pread(4,16,buffer,255015809(15873/254/63)) read err: Partial read
file_pread(4,16,buffer,255015825(15874/0/16)) read err: Input/output error
file_pread(4,16,buffer,255032064(15875/3/1)) read err: Input/output error
file_pread(4,1,buffer,255032064(15875/3/1)) read err: Input/output error
file_pread(4,16,buffer,255035223(15875/53/10)) read err: Partial read
file_pread(4,16,buffer,255039319(15875/118/11)) read err: Partial read
file_pread(4,1,buffer,255039320(15875/118/12)) read err: Input/output error
file_pread(4,16,buffer,255112215(15880/0/16)) read err: Partial read
file_pread(4,16,buffer,255260739(15889/62/49)) read err: Partial read
file_pread(4,16,buffer,255385304(15896/254/63)) read err: Input/output error
file_pread(4,16,buffer,255497886(15904/2/1)) read err: Input/output error
file_pread(4,1,buffer,255497886(15904/2/1)) read err: Input/output error
file_pread(4,2,buffer,255497887(15904/2/2)) read err: Input/output error
file_pread(4,16,buffer,255513888(15905/1/1)) read err: Input/output error
file_pread(4,1,buffer,255513888(15905/1/1)) read err: Input/output error
file_pread(4,16,buffer,255513889(15905/1/2)) read err: Input/output error
file_pread(4,1,buffer,255513889(15905/1/2)) read err: Input/output error
file_pread(4,16,buffer,255513894(15905/1/7)) read err: Input/output error
Search for partition aborted
get_geometry_from_list_part_aux head=255 nbr=9
get_geometry_from_list_part_aux head=8 nbr=2
get_geometry_from_list_part_aux head=16 nbr=1
get_geometry_from_list_part_aux head=32 nbr=1
get_geometry_from_list_part_aux head=64 nbr=1
get_geometry_from_list_part_aux head=128 nbr=1
get_geometry_from_list_part_aux head=240 nbr=1
get_geometry_from_list_part_aux head=255 nbr=9
Results
* HPFS - NTFS 0 1 1 5106 254 63 82043892
NTFS, 42 GB / 39 GiB
Linux 5107 0 1 7988 254 63 46299330
EXT4 Large file Sparse superblock Backup superblock, 23 GB / 22 GiB
Linux 6443 0 1 9324 254 63 46299330
EXT4 Large file Sparse superblock Recover, 23 GB / 22 GiB
Linux 7989 0 1 23928 254 63 256076100
EXT4 Large file Sparse superblock Backup superblock, 131 GB / 122 GiB
Linux 13975 0 1 15874 254 63 30523500
EXT3 Large file Sparse superblock Recover, 15 GB / 14 GiB
interface_write()
1 * HPFS - NTFS 0 1 1 5106 254 63 82043892
simulate write!
write_mbr_i386: starting...
write_all_log_i386: starting...
No extended partition
TestDisk exited normally.
Hors ligne
#3 Le 07/09/2011, à 04:30
- rmy
Re : crash disque, récupération ext3 corrompu (ou ext4)
N'insiste pas trop avec testdisk. Ton disque est malade, l'urgence pour moi est de faire une copie complète du disque avec ddrescue, option -n obligatoire.
Au pire si tu n'arrive pas à réparer sur l'image, il sera toujours temps d'investir dans un autre disque…
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#4 Le 07/09/2011, à 12:28
- martinclic
Re : crash disque, récupération ext3 corrompu (ou ext4)
Merci de ta réponse et de ton conseil.
Je vais donc faire une copie disque à disque.
Il me faut donc un 3e disque pour celà, il est commandé et je devrai le recevoir demain.
je reviens vous voir quand cette partie sera faite.
Hors ligne
#5 Le 07/09/2011, à 14:44
- rmy
Re : crash disque, récupération ext3 corrompu (ou ext4)
Prends bien le temps de vérifier la source et la destination avec
sudo sfdisk -luS
Je te conseille de faire une image disque complète vers un fichier avec une commande de la forme :
sudo ddrescue /dev/sdX /media/sauvegarde/image.dd /media/image/sauvegarde.log -n
dans un premier temps, puis de remplacer sur une seconde passe le "-n" par "-r1 -c16".
Si le disque déconnecte en cours de route et ne termine pas correctement la duplication, reviens vers moi je te dirais quoi faire en fonction des symptômes.
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#6 Le 08/09/2011, à 11:46
- martinclic
Re : crash disque, récupération ext3 corrompu (ou ext4)
Merci rmy
je viens de recevoir mon nouveau disque, mais j'hésite encore sur l'option que je vais prendre :
1- faire une image du disque entier vers un fichier (comme tu me le conseille)
- est ce que je vais pouvoir intervenir sur une partition corrompue à l'intérieur de cette image pour tenter d'y corriger le systeme de fichier (ext3/4) ? Autrement dit, je n'ai pas l'impression que je pourrai utilisé e2fsck sur une partition à l'intérieur de cette image.
2- Faire une image uniquement de la partition sda3 qui m'intéresse vers un fichier
- est-ce que je vais pouvoir tenter d'y corriger le systeme de fichier ext3/4 à l'aide des superblock indiqués par testdisk ? (les adresses données ne correspondent elles pas au disque entier ?)
- l'avantage serait de se focaliser directement sur la moitié du disque qui m'intéresse avant qu'il ne lâche définitivement
3- Faire une copie directement disque à disque
- mes questionnements au dessus ne s'applique plus, je pensais donc faire celà. Mais ta proposition me met le doute...
J'attend ta réponse avant de me lancer (fébrile...)
Hors ligne
#7 Le 08/09/2011, à 21:46
- martinclic
Re : crash disque, récupération ext3 corrompu (ou ext4)
J'avoue que je stresse un peu, et qu'une réponse à ma question précédente m'aiderai.
Sinon,ben demain je choisirai une option et j'me lance...
Dernière modification par martinclic (Le 08/09/2011, à 21:46)
Hors ligne
#8 Le 08/09/2011, à 23:46
- rmy
Re : crash disque, récupération ext3 corrompu (ou ext4)
l'option 1 et 3 sont valables. Ici, il ne s'agit pas d'un raid, donc pas besoin d'une taille LBA identique. Il faut bien sûr que le disque destination soit egal ou plus grand que le disque source.
Je persiste à conseiller l'option 1. Qui te permet au pire ensuite l'option 3 en écrivant l'image sur un autre disque…
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#9 Le 09/09/2011, à 18:46
- martinclic
Re : crash disque, récupération ext3 corrompu (ou ext4)
Un petit mot pour vous remercier de vos réponses .
J'ai lancé depuis ce matin la copie du disque entier vers un fichier.
Effectivement, c'est long.
Je reviens vous voir quand cette partie sera finie.
Hors ligne
#10 Le 10/09/2011, à 04:42
- rmy
Re : crash disque, récupération ext3 corrompu (ou ext4)
Vu les symptômes il es tfort possible qu'il y ait des erreurs ou que le disque décroche. Donne nous le retour d'infos quand ce sera fini.
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#11 Le 19/09/2011, à 14:35
- martinclic
Re : crash disque, récupération ext3 corrompu (ou ext4)
de retour, la copie a été trés longue.
Et pour l'instant je n'ai pas réussi à récupérer grand chose...
Donc toute suggestion est bienvenue
En détail :
préalablement, j'ai vérifié si le swap du disque endommagé était utilisé
ubuntu@ubuntu:/media/seag$ swapon -s
et je l'ai désactivé:
ubuntu@ubuntu:/media/seag$ sudo swapoff /dev/sda4
ensuite, la copie avec ddrescue :
ubuntu@ubuntu:~$ sudo ddrescue -n /dev/sda /media/storeva/imgbrut.dd /media/seag/imgbrut.log
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 0 B, errsize: 0 B, errors: 0
Current status
rescued: 200022 MB, errsize: 27010 kB, current rate: 7712 B/s
ipos: 4305 MB, errors: 6318, average rate: 647 kB/s
opos: 4305 MB, time from last successful read: 0 s
Finished
ubuntu@ubuntu:~$ sudo ddrescue -r1 -c16 -d /dev/sda /media/storeva/imgbrut.dd /media/seag/imgbrut.log
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 200022 MB, errsize: 27006 kB, errors: 6321
Current status
rescued: 200046 MB, errsize: 3332 kB, current rate: 64 B/s
ipos: 189652 MB, errors: 6375, average rate: 146 B/s
opos: 189652 MB, time from last successful read: 0 s
Finished
ubuntu@ubuntu:~$ sudo ddrescue -r1 -c16 -d /dev/sda /media/storeva/imgbrut.dd /media/seag/imgbrut.log
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 200046 MB, errsize: 3332 kB, errors: 6375
Current status
rescued: 200046 MB, errsize: 3322 kB, current rate: 0 B/s
ipos: 130499 MB, errors: 6357, average rate: 0 B/s
opos: 130499 MB, time from last successful read: 44.8 m
Retrying bad sectors... Retry 1
Interrupted by user
Donc j'ai tenté de passer ddrescue avec -r1 -c16 une 2e fois, je l'ai arrêté au tiers du passage, il n'avait récupéré que 18 erreurs supplémentaires.
Au final j'ai donc une image avec ~3Mo de corrompus (sur 200Go), et intuitivement au plus 6357 fichiers corrompus, çà devrait être pas mal (mais la suite n'est pas encourageante).
Et pour être plus précis, il y a une zone de ~10Go en plein milieu de la partie qui m'intéresse qui concentre l'essentiel des erreurs.
vérification des partitions dans l'image:
ubuntu@ubuntu:/media/storeva$ sudo sfdisk -luS imgbrut.dd
Disk imgbrut.dd: cannot get geometry
Disk imgbrut.dd: 24321 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
imgbrut.dd1 * 63 82043954 82043892 7 HPFS/NTFS
imgbrut.dd2 82043955 128343284 46299330 83 Linux
imgbrut.dd3 128343285 384419384 256076100 83 Linux
imgbrut.dd4 384419385 390716864 6297480 82 Linux swap / Solaris
tentative de monter la partition 3, avec l'offset 65711761920(=128343285 * 512) :
ubuntu@ubuntu:/media/storeva$ sudo mount -o loop,ro,offset=65711761920 imgbrut.dd /sauve
mount: you must specify the filesystem type
ubuntu@ubuntu:/media/storeva$ sudo mount -t ext4 -o loop,ro,offset=65711761920 imgbrut.dd /sauve
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
ubuntu@ubuntu:/media/storeva$ sudo mount -t ext3 -o loop,ro,offset=65711761920 imgbrut.dd /sauve
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
marche pas, le systeme de fichier à l'air corrompu. Je décide de découper cette partition pour pouvoir agir dessus et tenter de réparer le système de fichier:
ubuntu@ubuntu:/media/storeva$ sudo dd if=/media/storeva/imgbrut.dd of=/media/storeva/imgsda3.dd bs=512 skip=128343285 count=256076100
(Les valeurs utilisées sont celles données par sfdisk -luS)
C'est trés lent, donc à la fin je fais donc une copie de ce fichier, pour travailler dessus.
ubuntu@ubuntu:/media/storeva$ sudo cp -pv imgsda3.dd sda3_2.dd
je tente de réparer le système de fichier:
ubuntu@ubuntu:/media/storeva$ sudo fsck.ext4 -n sda3_2.dd
e2fsck 1.41.11 (14-Mar-2010)
fsck.ext4: Superbloc invalide, tentons d'utiliser les blocs de sauvetage...
le superbloc a un journal invalide (i-noeud 8).
Effacer ? non
fsck.ext4: Illegal inode number lors de la vérification du journal ext3 pour sda3_2.dd
post fractionné, sinon il passe pas, la suite arrive...
Hors ligne
#12 Le 19/09/2011, à 14:36
- martinclic
Re : crash disque, récupération ext3 corrompu (ou ext4)
la suite
testdisk me donne des superblock alternatifs:
TestDisk 6.12, Data Recovery Utility, May 2011
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
Disk /media/storeva/sda3_2.dd - 131 GB / 122 GiB - CHS 15940 255 63
Partition Start End Size in sectors
> ext4 0 0 1 15939 254 59 256076096
superblock 32768, blocksize=4096 []
superblock 98304, blocksize=4096 []
superblock 163840, blocksize=4096 []
superblock 229376, blocksize=4096 []
superblock 294912, blocksize=4096 []
superblock 819200, blocksize=4096 []
superblock 884736, blocksize=4096 []
superblock 1605632, blocksize=4096 []
superblock 2654208, blocksize=4096 []
superblock 4096000, blocksize=4096 []
Et, au passage, il arrive à lire les dossiers de plus haut niveau de cette partition:
TestDisk 6.12, Data Recovery Utility, May 2011
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
P ext4 0 0 1 15939 254 63 256076100
Directory /
>drwxr-xr-x 0 0 4096 7-Sep-2010 14:05 .
drwxr-xr-x 0 0 4096 7-Sep-2010 14:05 ..
drwx------ 0 0 16384 1-Sep-2010 16:32 lost+found
?--------- 0 0 0 moi
?--------- 0 0 0 fab
?--------- 0 0 0 titi
?--------- 0 0 0 .directory
Mais impossible de lui faire montrer le contenu de ces dossiers.
Je tente de réparer en utilisant des superblock alternatifs, mais même résultats:
ubuntu@ubuntu:/media/storeva$ sudo fsck.ext4 -n -b 32768 -B 4096 sda3_2.dd
e2fsck 1.41.11 (14-Mar-2010)
le superbloc a un journal invalide (i-noeud 8).
Effacer ? non
fsck.ext4: Illegal inode number lors de la vérification du journal ext3 pour sda3_2.dd
J'ai bien essayé de réparer quand même (fsck.ext4 option -p puis option -y)
Très long, et au final il ne reste qu'un seul dossier de plus haut niveau (il en manque 2), plus une palanquée dans lost+found. Bon j'ai quand même récupérer quelques trucs dans ce foutoir.
Donc pour l'instant je suis bloqué. Un spécialiste ext3/ext4 me serait d'une grande aide.
Je ne sais pas si j'ai découpé correctement la partition, un hexdump sda3_2.dd | less me montre que les 4096 premiers octets de l'image contiennent 00.
Bizarremment:
ubuntu@ubuntu:/media/storeva$ sudo dumpe2fs imgsda3.dd
dumpe2fs 1.41.11 (14-Mar-2010)
dumpe2fs: Bad magic number in super-block lors de la tentative d'ouverture de imgsda3.dd
Impossible de trouver un superbloc de système de fichiers valide.
mais en utilisant un superblock alternatif:
ubuntu@ubuntu:/media/storeva$ sudo dumpe2fs -o superblock=32768 -o blocksize=4096 imgsda3.dd
dumpe2fs 1.41.11 (14-Mar-2010)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: bf3d7563-6786-4d4b-9054-2529a0a58397
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: not clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 8003584
Block count: 32009512
Reserved block count: 1600475
Free blocks: 31459185
Free inodes: 8003573
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1016
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Wed Sep 1 16:32:06 2010
Last mount time: n/a
Last write time: Wed Sep 1 16:32:52 2010
Mount count: 0
Maximum mount count: 30
Last checked: Wed Sep 1 16:32:06 2010
Check interval: 15552000 (6 months)
Next check after: Mon Feb 28 16:32:06 2011
Lifetime writes: 2087 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: ec54575e-50ff-407a-ad33-c071677ed221
Journal backup: inode blocks
Journal superblock magic number invalid!
Voilà, un peu désemparé, si quelqu'un peut m'aider, me faire avancer, merci d'avance.
Hors ligne
#13 Le 20/09/2011, à 01:25
- rmy
Re : crash disque, récupération ext3 corrompu (ou ext4)
Très bon boulot jusque là.
Je ne rentre pas dans le détail, mais :
- L'image aurait peut-être pu être améliorée (un poil) avec l'option -R
- Plutôt que de découper ton image (ce qui nécessite encore de la place) tu aurais pu utiliser losetup pour créer un loopdevice avec un ofset.
- attention l'usage des superblocs n'est pas le même pour dumpe2fs, mount, fsck…
sb=n
Instead of block 1, use block n as superblock. This could be useful when the filesystem has been damaged. (Earlier, copies of the superblock would be made every 8192 blocks: in block 1, 8193, 16385, ... (and one got thousands of copies on a big filesystem). Since version 1.08, mke2fs has a -s (sparse superblock) option to reduce the number of backup superblocks, and since version 1.15 this is the default. Note that this may mean that ext2 filesystems created by a recent mke2fs cannot be mounted r/w under Linux 2.0.*.) The block number here uses 1k units. Thus, if you want to use logical block 32768 on a filesystem with 4k blocks, use "sb=131072".
-b superblock
Instead of using the normal superblock, use an alternative superblock specified by superblock. This option is normally used when the primary superblock has been corrupted. The location of the backup superblock is dependent on the filesystem’s blocksize. For filesystems with 1k blocksizes, a backup superblock can be found at block 8193; for filesystems with 2k blocksizes, at block 16384; and for 4k blocksizes, at block 32768.
Additional backup superblocks can be determined by using the mke2fs program using the -n option to print out where the superblocks were created. The -b option to mke2fs, which specifies blocksize of the filesystem must be specified in order for the superblock locations that are printed out to be accurate.
If an alternative superblock is specified and the filesystem is not opened read-only, e2fsck will make sure that the primary superblock is updated appropriately upon completion of the filesystem check.
-ob superblock
use the block superblock when examining the filesystem. This option is not usually needed except by a filesystem wizard who is examining the remains of a very badly corrupted filesystem.
par exemple pour le bloc "superblock 98304, blocksize=4096 []" cité dans testdisk :
mount -sb=393216
e2fsck -b 98304
Si c'est bien comme ça que tu les as utilisés, regarde dans le log de testdisk si il y a des infos pertinentes sur le super qu'il utilise pour lister tes répertoires.
Si ça ne donne rien, jette un œil à extundelete ou a ext3grep. En proprio/payant il y a aussi ufsexplorer et Rstudio qui devraient te sortir d'affaire ici. Si tu ne veux pas les acheter, contacte moi en MP.
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne