Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Mar 2001 11:27:46 +0100
From:      Hubert Tournier <hubert.tournier@online.fr>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   i386/25889: FDISK lost a partition !
Message-ID:  <3AB48DA2.7F62060B@online.fr>

next in thread | raw e-mail | index | archive | help

>Number:         25889
>Category:       i386
>Synopsis:       FDISK lost a partition !
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 18 02:30:03 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Hubert Tournier
>Release:        FreeBSD 4.2-RELEASE i386
>Organization:
Maison
>Environment:

I use an ASUS motherboard with ASUS P5 A-B ACPI BIOS Revision 1010 (with
support for disks over 8.4 GB).

Here is the description of the hard disk drive I'm using (from
/var/log/messages) :
ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33

>Description:

SUMMARY: I lost a partition beginning after the 8.4MB limit after an
ugrade from FreeBSD 4.0-RELEASE to 4.2-RELEASE made with a complete
reinstall of the operating system.

Here was my partition information BEFORE the problem :

MBR/PT track
100 MB DOS partition
4000 MB Win partition
3992 MB FreeBSD 4.0 partition
11476 MB Win data partition (extended I think).

When I first entered FDISK, here's what I saw (from memory) :

Disk Geometry 2495 cyls/255 heads/63 sectors = 40082175 sectors (19571
MB)
Offset		Size (ST)	End		Name	PType	Desc	Subtype	Flags
0		63		62		-	6	unused	0
63		208782		208844		ad0s1	2	fat	6
208845		8193150		8401994		ad0s2	2	fat	11
8401995		8177085		16579079	ad0s3	3	freebsd	165
16579080	23509080	40088159	-	6	unused	0

The last entry was incorrect : it should have been my 11 Go windows data
partition.

Although I was surprised, I thought the FDISK utility may have been
troubled with that partition starting after the 8.4 GB limit.

I decided to install anyway using the same parameters than the existing
FreeBSD 4.0-RELEASE partition.

The install went fine as usual, but both FreeBSD and Windows could not
see the windows data partition afterwards.

Using a disk editor, I saw that the fourth partition entry in the
partition table had been zeroed.

I think this is the only impact, but at this time, I haven't been able
to restore values enabling Windows or FreeBSD to see the lost partition.

>How-To-Repeat:

It's not possible for me to repeat the problem at this time, because I
want to try different things in order to recover the partition data.

Perhaps, on another machine, someone could try the following procedure :
- Use a disk larger than 8.4 GB,
- Create a partition layout similar to the one I was using,
- Create an extended partition beginning after the 8.4 GB limit,
- Overwrite an existing FreeBSD installation using the FreeBSD
4.2-RELEASE installer,
- See if the extended partition is still there.

>Fix:

PROPOSED MODIFICATION: In my opinion, the safest method would be to only
write back the modified partition entries in the table.

For my part, I used the FDISK utility to recreate something like that :

Disk Geometry 2495 cyls/255 heads/63 sectors = 40082175 sectors (19571
MB)
Offset		Size (ST)	End		Name	PType	Desc		Subtype	Flags
0		63		62		-	6	unused		0
63		208782		208844		ad0s1	2	fat		6
208845		8193150		8401994		ad0s2	2	fat		11
8401995		8177085		16579079	ad0s3	3	freebsd		165
16579080	23503095	40082174	ad0s4	1	extended DOS	5
40082175	5985		40088159	-	6	unused		0

But at this time, it doesn't solve my problem (the last partition is
still unrecognised).

I plan to fiddle with the partition type, then, in last recourse, to
write a specific recovery program under FreeBSD (I already did this for
an HPFS partition in the past).

Here is my partition information AT THIS TIME :

******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders=2495 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=2495 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 6,(Primary 'big' DOS (> 32MB))
    start 63, size 208782 (101 Meg), flag 0
	beg: cyl 0/ sector 1/ head 1;
	end: cyl 12/ sector 63/ head 254
The data for partition 2 is:
sysid 11,(DOS or Windows 95 with 32 bit FAT)
    start 208845, size 8193150 (4000 Meg), flag 0
	beg: cyl 13/ sector 1/ head 0;
	end: cyl 522/ sector 63/ head 254
The data for partition 3 is:
sysid 165,(FreeBSD/NetBSD/386BSD)
    start 8401995, size 8177085 (3992 Meg), flag 80 (active)
	beg: cyl 523/ sector 1/ head 0;
	end: cyl 1023/ sector 63/ head 254
The data for partition 4 is:
sysid 5,(Extended DOS)
    start 16579080, size 23503095 (11476 Meg), flag 0
	beg: cyl 1023/ sector 63/ head 255;
	end: cyl 1023/ sector 63/ head 254

>Release-Note:
>Audit-Trail:
>Unformatted:

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3AB48DA2.7F62060B>