fdisk question (long)

Jerry McAllister jerrymc at clunix.cl.msu.edu
Tue Dec 2 07:10:47 PST 2003


> 
> Hope someone will have the pacince to read all this ...
> 
> I have a 120G HDD, in the BIOS is set as LBA. I've RTFM as much as I
> could, but there still are some things I clearly don't understand. I
> want to be sure that I can move this disk to another machine with
> anouter BIOS and the system still boots up.
> 
> I've used sysinstall to make partitions and the result is bellow:

The basic and general answer to most of this is that nowdays with
modern disks, the Cylinder/Head/Sector values are essentially fiction.
They are based on values that can no longer be used with larger
disks and the system just generates values to make things happy.
The controllers are able to map the "absolute" sector number to
the correct place on the disk - which, bny the way, might even be
remapped due to sector errors and you don't even know it; it doesn't
tell you about those until there are more bad sectors than it has
spares for remapping.

Just go by the total number of sectors.  Let fdisk do its thing.
It does it right.  Do not try to set any Cylinder/Head/Sector
values.   Ignore that part of things.  For all practical purposes,
that part of things is obsolete.   Even though some parts of the
system still fiddle with it, nothing really happens with it.  About
the only thing it might want is for slices to begin and end on cylinder
boundaries and since you really can't control those, just use the
numbers it gives you as a divider to make sure your proposed slice 
size comes out even and then go with it.

So, choose the slice sizes you want by total number of blocks/sectors
and then use the -t switch to see what happens just to make sure the 
sizes work out the way you want and then trust fdisk to do what is right.

> it# fdisk ad0

Try doing" 
             "fdisk -s ad0"

To read the disk information.  It gives you all the information that 
is usually meaningful and is less confusing.

////jerry


> ******* Working on device /dev/ad0 *******
> parameters extracted from in-core disklabel are:
> cylinders=232578 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=232578 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 165 (0xa5),(FreeBSD/NetBSD/386BSD)
>     start 63, size 497952 (243 Meg), flag 0
>         beg: cyl 0/ head 1/ sector 1;
>         end: cyl 30/ head 254/ sector 63
> The data for partition 2 is:
> sysid 6 (0x06),(Primary 'big' DOS (>= 32MB))
>     start 498015, size 41929650 (20473 Meg), flag 0
>         beg: cyl 31/ head 0/ sector 1;
>         end: cyl 1023/ head 254/ sector 63
> The data for partition 3 is:
> sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
>     start 42427665, size 192008880 (93754 Meg), flag 0
>         beg: cyl 1023/ head 255/ sector 63;
>         end: cyl 1023/ head 254/ sector 63
> The data for partition 4 is:
> <UNUSED>
> 
> Q1: How can the partition 3 end up before beginning ? 
> 
> Q2: What is the Warning: BIOS sector numbering starts with sector 1
> trying to say ? The cylinders=232578 heads=16 sectors/track=63 shows the
> same as in teh BIOS screen.
> 
> Q3: The in-core parameters and those for BIOS calculation are the same;
> this normal (from my experince) / when they won't mach ?
> 
> So i decided to make it by hand (note that sysid 0 for the first
> partition is a typo - it should be 165 and I'll want the / slice on it,
> and I want to reserve the second partition for a winXP, and the 3rd will
> be for the other slices).
> 
>  I did:
> 
> it# fdisk -Biv ad0
> ******* Working on device /dev/ad0 *******
> parameters extracted from in-core disklabel are:
> cylinders=232578 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=232578 heads=16 sectors/track=63 (1008 blks/cyl)
> 
> Do you want to change our idea of what BIOS thinks ? [n]
> 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 165 (0xa5),(FreeBSD/NetBSD/386BSD)
>     start 63, size 497952 (243 Meg), flag 0
>         beg: cyl 0/ head 1/ sector 1;
>         end: cyl 30/ head 254/ sector 63
> Do you want to change it? [n] y
> Supply a decimal value for "sysid (165=FreeBSD)" [0]
> Supply a decimal value for "start" [0]
> Supply a decimal value for "size" [0] 497952
> Explicitly specify beg/end address ? [n]
> sysid 0 (0000),(unused)
>     start 0, size 497952 (243 Meg), flag 0
>         beg: cyl 0/ head 0/ sector 1;
>         end: cyl 493/ head 15/ sector 63
> Are we happy with this entry? [n] y
> The data for partition 2 is:
> sysid 6 (0x06),(Primary 'big' DOS (>= 32MB))
>     start 498015, size 41929650 (20473 Meg), flag 0
>         beg: cyl 31/ head 0/ sector 1;
>         end: cyl 1023/ head 254/ sector 63
> Do you want to change it? [n]
> The data for partition 3 is:
> sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
>     start 42427665, size 192008880 (93754 Meg), flag 0
>         beg: cyl 1023/ head 255/ sector 63;
>         end: cyl 1023/ head 254/ sector 63
> Do you want to change it? [n] y
> Supply a decimal value for "sysid (165=FreeBSD)" [0] 165
> Supply a decimal value for "start" [0] 42427665
> Supply a decimal value for "size" [0] 192008880
> Explicitly specify beg/end address ? [n]
> sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
>     start 42427665, size 192008880 (93754 Meg), flag 0
>         beg: cyl 106/ head 15/ sector 1;
>         end: cyl 127/ head 14/ sector 63
> Are we happy with this entry? [n] y
> The data for partition 4 is:
> <UNUSED>
> Do you want to change it? [n]
> Do you want to change the active partition? [n] y
> Supply a decimal value for "active partition" [1] 1
> Are you happy with this choice [n] y
> Do you want to change the boot code? [n] y
> 
> We haven't changed the partition table yet.  This is your last chance.
> parameters extracted from in-core disklabel are:
> cylinders=232578 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=232578 heads=16 sectors/track=63 (1008 blks/cyl)
> 
> Information from DOS bootblock is:
> 1: sysid 0 (0000),(unused)
>     start 0, size 497952 (243 Meg), flag 80 (active)
>         beg: cyl 0/ head 0/ sector 1;
>         end: cyl 493/ head 15/ sector 63
> 2: sysid 6 (0x06),(Primary 'big' DOS (>= 32MB))
>     start 498015, size 41929650 (20473 Meg), flag 0
>         beg: cyl 31/ head 0/ sector 1;
>         end: cyl 1023/ head 254/ sector 63
> 3: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
>     start 42427665, size 192008880 (93754 Meg), flag 0
>         beg: cyl 106/ head 15/ sector 1;
>         end: cyl 127/ head 14/ sector 63
> 4: <UNUSED>
> Should we write new partition table? [n] y
> 
> Q4: I've supplied the start and size parameters by reading those
> provided by the sysinstall partitioning. How can I calculate them ?
> 
> Q5: Why the new parameters are different from those of sysinstall ?
> 
> Q6: Is this schema OK and will I be able to use this disk in an other
> computer and access all the partitions and slices ?
> 
> 
> -- 
> IOnut
> Unregistered ;) FreeBSD user
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
> 



More information about the freebsd-questions mailing list