Difference of opinion about my disk geometry

Doug Barton dougb at FreeBSD.org
Fri Aug 27 01:33:06 UTC 2010


Howdy,

What I've done for years in order to create a dual-boot between windows 
and FreeBSD, with one shared fat32 data partition; is to boot the 
FreeBSD install CD, create the 3 primary partitions, install FreeBSD, 
install Windows into the 1st primary partition, then boot the FreeBSD CD 
again and install the boot mgr. My rationale for this is that we 
(FreeBSD) know more about modern disk geometry than Windows XP does, and 
this method has always served me well.

What I've done now is purchase a new HD for my laptop because the old 
one was starting to act dodgy. It's a 250 GB Hitachi Travelstar, SATA 
300 in case anyone cares (which is the same as what was installed by 
Dell, except the old one was 100 GB). Since I have more space I'm 
attempting to experiment with more stuff as you may have seen from my 
other posts. However, FreeBSD disagrees with Windows and Linux about 
what the right geometry should look like. Depending on which OS I use to 
create partitions I get various errors about whether or not things end 
on cylinder and/or track boundaries. This does not seem like a good thing.

Below are what the various OS' think about the disk. (Ignore the fact 
that the 3rd partition has an unknown type, that used to be a FreeBSD 
partition that seems to have been mangled by grub2, which I'm going to 
fix later.) When I run FreeBSD fdisk from sysinstall I get the following 
message:
It is safe to use 484521/16/63 as the disk geometry blah blah blah, Do 
you want to change this?
I've been saying no, but now I think what I want to do is say yes, and 
change it to 30401/255/63 which is what Windows and Linux think it is, 
and repartition the whole drive. Does that sound reasonable?

Of course this prompts me to ask the questions of why are we looking at 
this differently than Windows and Linux, and what are the 
advantages/disadvantages to the 2 methods?


Thanks again,

Doug


Windows:

Sectors/Track		63
Size				232.88 GB (250,056,737,280 bytes)
Total Cylinders		30,401
Total Sectors		488,392,065
Tracks/Cylinder	255


Linux:

fdisk -l

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

    Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        3264    26214016+   7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2            3264       18276   120587585+   f  W95 Ext'd (LBA)
/dev/sda3   *       18277       27414    73400166   b5  Unknown
Partition 3 does not end on cylinder boundary.
/dev/sda4           27414       30402    23996448   a5  FreeBSD
Partition 4 does not end on cylinder boundary.
/dev/sda5            3264       16318   104860255+   6  FAT16
/dev/sda6           16319       16971     5242880   83  Linux
/dev/sda7           16971       17232     2096128   82  Linux swap / Solaris
/dev/sda8           17233       17493     2096128   83  Linux
/dev/sda9           17494       18276     6288384   83  Linux


fdisk -c -l

    Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        3264    26214016+   7  HPFS/NTFS
/dev/sda2            3264       18276   120587585+   f  W95 Ext'd (LBA)
/dev/sda3   *       18277       27414    73400166   b5  Unknown
/dev/sda4           27414       30402    23996448   a5  FreeBSD
/dev/sda5            3264       16318   104860255+   6  FAT16
/dev/sda6           16319       16971     5242880   83  Linux
/dev/sda7           16971       17232     2096128   82  Linux swap / Solaris
/dev/sda8           17233       17493     2096128   83  Linux
/dev/sda9           17494       18276     6288384   83  Linux


FreeBSD:

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

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=484521 heads=16 sectors/track=63 (1008 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 7 (0x07),(OS/2 HPFS, NTFS, QNX-2 (16 bit) or Advanced UNIX)
     start 63, size 52428033 (25599 Meg), flag 0
	beg: cyl 0/ head 1/ sector 1;
	end: cyl 1023/ head 15/ sector 63
The data for partition 2 is:
sysid 15 (0x0f),(Extended DOS (LBA))
     start 52428157, size 241175171 (117761 Meg), flag 0
	beg: cyl 1023/ head 254/ sector 63;
	end: cyl 1023/ head 254/ sector 63
The data for partition 3 is:
sysid 181 (0xb5),(unknown)
     start 293603940, size 146800332 (71679 Meg), flag 80 (active)
	beg: cyl 1023/ head 255/ sector 63;
	end: cyl 1023/ head 15/ sector 63
The data for partition 4 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
     start 440404272, size 47992896 (23434 Meg), flag 0
	beg: cyl 1023/ head 255/ sector 63;
	end: cyl 1023/ head 15/ sector 63


More information about the freebsd-fs mailing list