Gentoo Archives: gentoo-user

From: Etaoin Shrdlu <shrdlu@×××××××××××××.org>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Corrupt USB pen drive
Date: Fri, 18 May 2007 14:49:55
Message-Id: 200705181716.42536.shrdlu@unlimitedmail.org
In Reply to: Re: [gentoo-user] Corrupt USB pen drive by Mick
1 On Friday 18 May 2007 15:11, Mick wrote:
2
3 > On Friday 18 May 2007 13:25, Hans-Werner Hilse wrote:
4 > > Did you try the recovery tools for the FS in question?
5 >
6 > I tried fsck.msdos but didn't fix it.
7 >
8 > Like most USB sticks I would assume that it is either FAT32 or FAT16.
9 > Given that this is what I see when I dump the first few bytes, can you
10 > please tell me where the fs data starts and how to dd that without inc
11 > the initial partition table data?
12 > ==============================================
13 > 000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
14 > *
15 > 0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
16 > 000200 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
17 > *
18 > 020000 01 df 02 df 03 df 04 df 05 df 06 df 07 df 08 df
19 >
20 >[cut]
21 > I assume that the asterisks indicate a new file starting there?
22
23 Are you using hexdump to read the data? Does the above output come from
24 hexdumping the actual device or the image file?
25
26 The asterisks look strange. If you look carefully, you see that each
27 asterisk does not merely replace a single line of output, but several
28 lines. Look at the addresses of the lines before and after: for example,
29 000200 -> asterisk -> 020000 in your output above. So, that asterisk
30 represents 0x020000 - 0x000210 = 0x1fdf0 bytes, ie 130544 bytes. If the
31 dump comes from the actual device (like I suppose), it could be that
32 these bytes are skipped because they are somehow unreadable, so it's
33 really difficult to compare this output with one from a working device,
34 in either HD or superfloppy mode. In particular, there is an asterisk
35 immediately after the first 16 bytes (line 000000), and the dump
36 continues at byte 0x0001f0 (496 decimal), and this means that the very
37 first sector (where the interesting stuff is) is almost entirely damaged
38 or otherwise unreadable.
39 Also, trying to dd the device to a file as you did would almost certainly
40 insert unpredictable garbage in the file to represent the unreadable
41 parts of the device.
42
43 Chances are it was in HD mode (ie, with a partition table), because the
44 signature at the end of the first 512 bytes (the "55 aa" at the end of
45 the 0001f0 line) indicates a boot sector (the MBR).
46 Within this boot sector, the partition table is 64 bytes long and usually
47 lives from byte 446 to byte 509 of the sector (512 bytes long, numbered
48 from 0 to 511; bytes 510 and 511 are the signature). Since a partition
49 table is composed of four records, each 16 bytes long, this means you
50 have only the last 14 bytes of the fourth partition table record. But,
51 it's very very likely that there was only a single partition, and thus
52 the fourth record is unused and set to all zeros. What you would need is
53 the value of the bytes from 446 to 461 (the first partition table
54 record, which has info about the first partition), but, as I said above,
55 all this data seems to be lost in the asterisk, like tears in the rain
56 (cit.).
57
58 Bottom line: I would not bet on data recovery from that stick.
59 It's also true that there might be some program I'm unaware of which
60 could try or be able to recover things, but unfortunately I have no
61 advice for you about this.
62 --
63 gentoo-user@g.o mailing list

Replies

Subject Author
Re: [gentoo-user] Corrupt USB pen drive Mick <michaelkintzios@×××××.com>