Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Dec 2002 20:52:39 -0800
From:      "Sean Hamilton" <sh@planetquake.com>
To:        "Stephen Hilton" <nospam@hiltonbsd.com>
Cc:        <hackers@freebsd.org>
Subject:   Re: HD data recovery
Message-ID:  <000f01c2a263$77f06360$911de8d8@slugabed.org>
References:  <20021212185012.1da5d0ef.nospam@hiltonbsd.com>

next in thread | previous in thread | raw e-mail | index | archive | help
From: "Stephen Hilton" <nospam@hiltonbsd.com>
| Am up and running now on the spare HD, and can work on my "big
| mistake" at my lesiure, thanks in advance.

My first partition:

    start 63, size 40130307 (19594 Meg), flag 80 (active)

And an hd of block 63:

###############################
00000000  fc 31 c0 8e c0 8e d8 8e  d0 bc 00 7c be 1a 7c bf
|.1.........|..|.|
00000010  1a 06 b9 e6 01 f3 a4 e9  00 8a 31 f6 bb be 07 b1
|..........1.....|
00000020  04 38 2f 74 08 7f 78 85  f6 75 74 89 de 80 c3 10
|.8/t..x..ut.....|
00000030  e2 ef 85 f6 75 02 cd 18  80 fa 80 72 0b 8a 36 75
|....u......r..6u|
00000040  04 80 c6 80 38 f2 72 02  8a 14 89 e7 8a 74 01 8b
|....8.r......t..|
00000050  4c 02 bb 00 7c 80 fe ff  75 32 83 f9 ff 75 2d 51
|L...|...u2...u-Q|
00000060  53 bb aa 55 b4 41 cd 13  72 20 81 fb 55 aa 75 1a  |S..U.A..r
..U.u.|
00000070  f6 c1 01 74 15 5b 66 6a  00 66 ff 74 08 06 53 6a
|...t.[fj.f.t..Sj|
00000080  01 6a 10 89 e6 b8 00 42  eb 05 5b 59 b8 01 02 cd
|.j.....B..[Y....|
00000090  13 89 fc 72 0f 81 bf fe  01 55 aa 75 0c ff e3 be
|...r.....U.u....|
000000a0  bc 06 eb 11 be d4 06 eb  0c be f3 06 eb 07 bb 07
|................|
000000b0  00 b4 0e cd 10 ac 84 c0  75 f4 eb fe 49 6e 76 61
|........u...Inva|
000000c0  6c 69 64 20 70 61 72 74  69 74 69 6f 6e 20 74 61  |lid partition
ta|
000000d0  62 6c 65 00 45 72 72 6f  72 20 6c 6f 61 64 69 6e  |ble.Error
loadin|
000000e0  67 20 6f 70 65 72 61 74  69 6e 67 20 73 79 73 74  |g operating
syst|
000000f0  65 6d 00 4d 69 73 73 69  6e 67 20 6f 70 65 72 61  |em.Missing
opera|
00000100  74 69 6e 67 20 73 79 73  74 65 6d 00 00 00 00 00  |ting
system.....|
00000110  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
|................|
*
000001b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 80 01
|................|
000001c0  01 00 a5 fe ff ff 3f 00  00 00 03 57 64 02 00 00
|......?....Wd...|
000001d0  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
###############################

Perhaps you can determine which of your blocks around the 4GB range contains
"Missing operating system", then reconstruct enough of the partition table
enough from that to recover your original boot block.

# dd if=/dev/ad0 bs=1m skip=4000 | hd | grep 'em\.Missing opera'

should uncover a line such as the one above,

000000f0  65 6d 00 4d 69 73 73 69  6e 67 20 6f 70 65 72 61  |em.Missing
opera|

Add skip * bs (0xFA000000 in my example) to the address specified and AND it
with 0xFFFFFE00, that should be the first block of your partition. Run it to
the end of the drive, and from there, you should be able to mount that
partition and rewrite your real MBR.

sh


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000f01c2a263$77f06360$911de8d8>