Hello
On Wed, 2005-02-09 at 01:21, Christian Placzek wrote:
> Hello,
>
> a friend of mine shredded his data (70GB) when he tried to undelete an
> accidentally deleted file. He normally works with windoze. Therefore he
> didn't know he couldn't undelete a file on a reiserfs partition with ext2
> undelete tool %-(
> When he called me it was already too late. He had overwritten the
> superblock :-(
>
> I'm still trying to rescue the data. I can see them in the image using grep
> or hexedit. But nothing I tried has been successful. My first steps were
> unmounting the partition, taking an image and working with a copy of this
> image using a loop back device.
>
> All files have been retrieved but were removed by reiserfsck --check although
> the last output says that directories and files have been linked (see below).
> I tried with many combinations nearly all parameters of reiserfsck:
> --fix-fixable --no-journal-available -S ...
>
have you tried
reiserfsck --rebuild-tree -S
?
If not, run it on newly created copy of shredded device.
Did you look at lost+found?
>
> I mounted the image after each operation, but all I can see is:
>
> [EMAIL PROTECTED]:/home/kris 0$ # mount -o ro /dev/loop/0 /mnt/temp1/
> [EMAIL PROTECTED]:/home/kris 0$ # ls -la /mnt/temp1/
> total 21
> drwxr-xr-x 3 root root 4096 Jan 20 11:36 .
> drwxr-xr-x 39 root root 968 Feb 6 14:12 ..
> drwx------ 2 root root 16384 Jan 20 11:36 lost+found
> [EMAIL PROTECTED]:/home/kris 0$ # ls -la /mnt/temp1/lost+found/
> total 20
> drwx------ 2 root root 16384 Jan 20 11:36 .
> drwxr-xr-x 3 root root 4096 Jan 20 11:36 ..
> [EMAIL PROTECTED]:/home/kris 0$ #
>
>
> Do you have any suggestions how to rescue the data?
>
> Regards
> Kris
>
>
>
> Here you see a typical output:
>
> [EMAIL PROTECTED]:/home/kris 0$ # losetup /dev/loop/0 /mnt/temp/data.x.dd
> [EMAIL PROTECTED]:/home/kris 0$ # reiserfsck /dev/loop/0 --rebuild-tree
> reiserfsck 3.6.19 (2003 www.namesys.com)
>
> <snip>
>
> Will rebuild the filesystem (/dev/loop/0) tree
> Will put log info to 'stdout'
>
> Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
>
> reiserfs_open: the reiserfs superblock cannot be found on /dev/loop/0.
> Failed to open the filesystem.
>
> If the partition table has not been changed, and the partition is
> valid and it really contains a reiserfs partition, then the
> superblock is corrupted and you need to run this utility with
> --rebuild-sb.
>
> [EMAIL PROTECTED]:/home/kris 8$ # reiserfsck /dev/loop/0 --rebuild-sb
> reiserfsck 3.6.19 (2003 www.namesys.com)
>
> <snip>
>
> Will check superblock and rebuild it if needed
> Will put log info to 'stdout'
>
> reiserfs_open: the reiserfs superblock cannot be found on /dev/loop/0.
>
> what the version of ReiserFS do you use[1-4]
> (1) 3.6.x
> (2) >=3.5.9 (introduced in the middle of 1999) (if you use linux 2.2,
> choose this one)
> (3) < 3.5.9 converted to new format (don't choose if unsure)
> (4) < 3.5.9 (this is very old format, don't choose if unsure)
> (X) exit
> 1
>
> Enter block size [4096]:
>
>
> No journal device was specified. (If journal is not available, re-run with
> --no-journal-available option specified).
> Is journal default? (y/n)[y]:
>
> Did you use resizer(y/n)[n]:
> rebuild-sb: no uuid found, a new uuid was generated
> (7e253707-4fef-42aa-9785-b1cd079851af)
>
> rebuild-sb: You either have a corrupted journal or have just changed
> the start of the partition with some partition table editor. If you are
> sure that the start of the partition is ok, rebuild the journal header.
> Do you want to rebuild the journal header? (y/n)[n]: y
> Reiserfs super block in block 16 on 0x700 of format 3.6 with standard journal
> Count of blocks on the device: 17659440
> Number of bitmaps: 539
> Blocksize: 4096
> Free blocks (count of blocks - used [journal, bitmaps, data, reserved]
> blocks): 0
> Root block: 0
> Filesystem is NOT clean
> Tree height: 0
> Hash function used to sort names: not set
> Objectid map size 0, max 972
> Journal parameters:
> Device [0x0]
> Magic [0x0]
> Size 8193 blocks (including 1 for journal header) (first block 18)
> Max transaction length 1024 blocks
> Max batch size 900 blocks
> Max commit age 30
> Blocks reserved by journal: 0
> Fs state field: 0x1:
> some corruptions exist.
> sb_version: 2
> inode generation number: 0
> UUID: 7e253707-4fef-42aa-9785-b1cd079851af
> LABEL:
> Set flags in SB:
> Is this ok ? (y/n)[n]: y
> The fs may still be unconsistent. Run reiserfsck --check.
>
> [EMAIL PROTECTED]:/home/kris 1$ # reiserfsck /dev/loop/0 --check
> reiserfsck 3.6.19 (2003 www.namesys.com)
>
> <snip>
>
> Will read-only check consistency of the filesystem on /dev/loop/0
> Will put log info to 'stdout'
> ###########
> reiserfsck --check started at Tue Feb 8 17:17:31 2005
> ###########
> Replaying journal..
> Reiserfs journal '/dev/loop/0' in blocks [18..8211]: 0 transactions replayed
> Zero bit found in on-disk bitmap after the last valid bit.
> Checking internal tree..
>
> Bad root block 0. (--rebuild-tree did not complete)
>
> Aborted
> [EMAIL PROTECTED]:/home/kris 134$ # reiserfsck /dev/loop/0 -y --rebuild-tree
> reiserfsck 3.6.19 (2003 www.namesys.com)
>
> <snip>
>
> Will rebuild the filesystem (/dev/loop/0) tree
> Will put log info to 'stdout'
>
> Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
> Replaying journal..
> Reiserfs journal '/dev/loop/0' in blocks [18..8211]: 0 transactions replayed
> Zero bit found in on-disk bitmap after the last valid bit. Fixed.
> ###########
> reiserfsck --rebuild-tree started at Tue Feb 8 17:37:56 2005
> ###########
>
> Pass 0:
> ####### Pass 0 #######
> Loading on-disk bitmap .. ok, 559628 blocks marked used
> init_source_bitmap: Bitmap 0 (of 32768 bits) is wrong - mark all blocks [0 -
> 32768] as used
> init_source_bitmap: Bitmap 1 (of 32768 bits) is wrong - mark all blocks
> [32768 - 65536] as used
> init_source_bitmap: Bitmap 3 (of 32768 bits) is wrong - mark all blocks
> [98304 - 131072] as used
> init_source_bitmap: Bitmap 5 (of 32768 bits) is wrong - mark all blocks
> [163840 - 196608] as used
> init_source_bitmap: Bitmap 7 (of 32768 bits) is wrong - mark all blocks
> [229376 - 262144] as used
> init_source_bitmap: Bitmap 9 (of 32768 bits) is wrong - mark all blocks
> [294912 - 327680] as used
> init_source_bitmap: Bitmap 25 (of 32768 bits) is wrong - mark all blocks
> [819200 - 851968] as used
> init_source_bitmap: Bitmap 27 (of 32768 bits) is wrong - mark all blocks
> [884736 - 917504] as used
> init_source_bitmap: Bitmap 49 (of 32768 bits) is wrong - mark all blocks
> [1605632 - 1638400] as used
> init_source_bitmap: Bitmap 81 (of 32768 bits) is wrong - mark all blocks
> [2654208 - 2686976] as used
> init_source_bitmap: Bitmap 125 (of 32768 bits) is wrong - mark all blocks
> [4096000 - 4128768] as used
> init_source_bitmap: Bitmap 243 (of 32768 bits) is wrong - mark all blocks
> [7962624 - 7995392] as used
> init_source_bitmap: Bitmap 343 (of 32768 bits) is wrong - mark all blocks
> [11239424 - 11272192] as used
> Skipping 8749 blocks (super block, journal, bitmaps) 687599 blocks will be
> read
> 0%....20%....40%....60%....80%....100% left 0,
> 9549 /sec
> 103101 directory entries were hashed with "r5" hash.
> Selected hash ("r5") does not match to the hash set in the super block (not
> set).
> "r5" hash is selected
> Flushing..finished
> Read blocks (but not data blocks) 687599
> Leaves among those 20621
> Objectids found 114185
>
> Pass 1 (will try to insert 20621 leaves):
> ####### Pass 1 #######
> Looking for allocable blocks .. finished
> 0%....20%....40%....60%....80%....100% left 0,
> 1718 /sec
> Flushing..finished
> 20621 leaves read
> 20524 inserted
> - pointers in indirect items pointing to metadata 3
> (zeroed)
> 97 not inserted
> non-unique pointers in indirect items (zeroed) 1075
> ####### Pass 2 #######
>
> Pass 2:
> 0%....20%....40%....60%vpf-10260: The file we are inserting the new item
> (69291 69327 0x1 DRCT (2), len 216, location 3880 entry count 65535, fsck
> need 0, format new) into has no StatData, insertion was skipped
> ....vpf-10260: The file we are inserting the new item (240148 240150 0x1 IND
> (1), len 1844, location 2252 entry count 0, fsck need 0, format new) into has
> no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (241304 319211 0x43001 IND
> (1), len 492, location 3604 entry count 0, fsck need 0, format new) into has
> no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (737518 739813 0xe6001 IND
> (1), len 688, location 3408 entry count 0, fsck need 0, format new) into has
> no StatData, insertion was skipped
> 80%vpf-10260: The file we are inserting the new item (737518 739813 0xe6001
> IND (1), len 688, location 3408 entry count 0, fsck need 0, format new) into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (25 93014 0x1e1 DRCT (2),
> len 1408, location 2688 entry count 65535, fsck need 0, format new) intohas
> no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (238343 319306 0x3f4001 IND
> (1), len 136, location 3960 entry count 0, fsck need 0, format new) into has
> no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (94077 119920 0x1 DRCT (2),
> len 456, location 3640 entry count 65535, fsck need 0, format new) into has
> no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (102491 220397 0x179 DRCT
> (2), len 1264, location 2832 entry count 65535, fsck need 0, format new)into
> has no StatData, insertion was skipped
> .vpf-10260: The file we are inserting the new item (642448 771721 0xcc1 DRCT
> (2), len 520, location 3576 entry count 65535, fsck need 0, format new)into
> has no StatData, insertion was skipped
> .vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new)into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> .vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new)into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> .vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new)into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> vpf-10260: The file we are inserting the new item (294390 692752 0x129 DRCT
> (2), len 296, location 3800 entry count 65535, fsck need 0, format new) into
> has no StatData, insertion was skipped
> 100% left 0, 0 /sec
> Flushing..finished
> Leaves inserted item by item 97
> Pass 3 (semantic):
> ####### Pass 3 #########
> /binrebuild_semantic_pass: The entry [3636 189939] ("ls") in directory [2
> 3636] points to nowhere - is removed
> /javarebuild_semantic_pass: The entry [107571 597512] ("jre") in directory
> [3636 107571] points to nowhere - is removed
> vpf-10650: The directory [3636 107571] has the wrong size in the StatData
> (72) - corrected to (48)
> vpf-10650: The directory [2 3636] has the wrong size in the StatData (2920) -
> corrected to (2896)
> /devrebuild_semantic_pass: The entry [6 554632] ("lvm") in directory [2 6]
> points to nowhere - is removed
> rebuild_semantic_pass: The entry [6 52003] ("lirc") in directory [2 6] points
> to nowhere - is removed
> rebuild_semantic_pass: The entry [6 72207] ("scsi") in directory [2 6] points
> to nowhere - is removed
> rebuild_semantic_pass: The entry [6 50738] ("xdb5") in directory [2 6] points
> to nowhere - is removed
> rebuild_semantic_pass: The entry [6 50739] ("xdb6") in directory [2 6] points
> to nowhere - is removed
> rebuild_semantic_pass: The entry [6 50740] ("xdb7") in directory [2 6] points
> to nowhere - is removed
> rebuild_semantic_pass: The entry [6 50741] ("xdb8") in directory [2 6] points
> to nowhere - is removed
> ...
> ... (here follow hundreds of directories and thousends of files, too,
> ... which I removed)
> ...
> The entry [994339 994340] ("Entries") in directory [994335 19] updated to
> point to [994339 49]
> /Entries.Extra.Oldrewrite_file: 1 items of file [994339 994343] moved to
> [994339 50]
> The entry [994339 994343] ("Entries.Extra.Old") in directory [994335 19]
> updated to point to [994339 50]
> relocate_dir: Moving [994350 994773 0x0 SD (0)] to [994350 51 0x0 SD (0)]
> relocate_dir: Moving [994350 994773 0x1 DIR (3)] to [994350 51 0x1 DIR (3)]
> /994350_51get_next_directory_item: The entry ".." of the directory [994350
> 51] pointes to [285394 994350], instead of [2 18] - corrected
> rebuild_semantic_pass: The entry [994773 994783] ("Root") in directory
> [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994776] ("Entries.Extra") in
> directory [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994782] ("Repository") in directory
> [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994779] ("Entries.Extra.Old.bak") in
> directory [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994784] ("Root.bak") in directory
> [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994780] ("Entries.Old") in directory
> [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994775] ("Entries.bak") in directory
> [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994781] ("Entries.Old.bak") in
> directory [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994778] ("Entries.Extra.Old") in
> directory [994350 51] points to nowhere - is removed
> rebuild_semantic_pass: The entry [994773 994777] ("Entries.Extra.bak") in
> directory [994350 51] points to nowhere - is removed
> vpf-10650: The directory [994350 51] has the wrong size in the StatData (400)
> - corrected to (72)
> /994395_994396get_next_directory_item: The entry ".." of the directory
> [994395 994396] pointes to [684030 994395], instead of [2 18] - corrected
> /994415_994416get_next_directory_item: The entry ".." of the directory
> [994415 994416] pointes to [684030 994415], instead of [2 18] - corrected
> /994529_994754get_next_directory_item: The entry ".." of the directory
> [994529 994754] pointes to [984867 994529], instead of [2 18] - corrected
> Looking for lost files:
> vpf-10670: The file [25 93091] has the wrong size in the StatData (30352) -
> corrected to (36864)
> vpf-10680: The file [25 93091] has the wrong block count in the StatData (64)
> - corrected to (72)
> vpf-10680: The file [25 111982] has the wrong block count in the StatData
> (75408) - corrected to (16872)
> vpf-10680: The file [3127 59061] has the wrong block count in the StatData
> (8) - corrected to (0)
> vpf-10680: The file [3128 72300] has the wrong block count in the StatData
> (8) - corrected to (0)
> vpf-10680: The file [3620 18950] has the wrong block count in the StatData
> (8) - corrected to (0)
> ...
> ...
> ...
> rewrite_file: 2 items of file [994350 994764] moved to [994350 3108]
> rewrite_file: 2 items of file [994350 994765] moved to [994350 3109]
> rewrite_file: 2 items of file [994350 994766] moved to [994350 3110]
> Flushing..finished
> Objects without names 18403
> Empty lost dirs removed 384
> Dirs linked to /lost+found: 2174
> Dirs without stat data found 83
> Files linked to /lost+found 16229
> Objects having used objectids: 49
> files fixed 47
> dirs fixed 2
> Pass 4 - finished done 1476, 37 /sec
> Deleted unreachable items 716
> Flushing..finished
> Syncing..finished
> ###########
> reiserfsck finished at Tue Feb 8 17:40:05 2005
> ###########
>