cvs commit: doc/en_US.ISO8859-1/books/handbook/boot chapter.sgml

Gary W. Swearingen garys at opusnet.com
Mon Sep 12 17:01:12 PDT 2005


John Baldwin <jhb at FreeBSD.org> writes:

> The first sentence has a mismatch between subject and verb ("The FreeBSD 
> MBR ... are").  Also, a better explanation is something more along the lines 

Here it is with the "...":

+      <para>The MBR installed by FreeBSD's installer and by boot0cfg(8)
+        are 

AFAIK, that is an permissible English abbreviation of this:

   The MBR installed by FreeBSD's installer and
   the MBR installed by boot0cfg(8) are ...

   ^^^^^^^^^^^^^^^^^-------(implied)

The second "by" in my sentence is the clue that I've omitted the
second "the MBR installed" so as to not repeat it.

If I had used "MBRs", I would have omitted the second "by" and the
sentence would be ambiguous about weather each program installs
multiple MBRs.  But on second thought, that would probably be OK,
since everyone knows they only install one.  When I edit that file
again, or if I get more requests, I'll probably change it, but I don't
think it's required by the grammar.

> that the MBR, strictly speaking, is just the 4-entry table at the end of the 
> first sector.  The boot code prior to the MBR is not part of the MBR.

Who else says that?  I don't recall ever seeing the partition table
called the MBR in 20+ years.  The Master Boot Record has also been
called the master boot sector (1,150,000 times in Google).

> The 
> way that booting off a disk works when using BIOS is that it loads the first 
> sector off of the device to a fixed memory offset (0x7c00 IIRC) and if it 
> ends with 0xAA55 it assumes it is valid and starts executing it at the 
> beginning.  This is a bit more complicated in that some SCSI controllers 
> expect the first sector of a hard disk to contain an MBR so that the 
> controller's BIOS can guess at the geometry the BIOS is using for the disk.  
> Traditionally, slices are supposed to start and end on cylinder boundaries 
> meaning that the entire first cylinder (63 sectors on all but really old hard 
> disks) is available for use by the boot code (which is how boot0ext is two 
> sectors in length).  I'm not sure if any BIOSes actually enforce that 
> requirement however.

OK, but the first cylinder is usually 16*63 or 255*63 sectors these
days.  I don't know about who's tradition it is to have primary
partitions with cylinder boundaries, but I do know that I've often
seen my first one start with the 64'th sector.


I am curious about your statement about "boot0ext" which I've never
heard of (but I now see /usr/src/sys/boot/i386/boot0ext/Makefile). If
there is some two sectors thing, where is it and what installs it?

I've been lead to believe that boot0cfg installs /boot/boot0 which is
only one sector and have never read anything about it using the second
sector too.  That should be in the manpage, if true.

Is there something other than the "MBR...are" and the "MBR = first
sector" that you think needs to be changed?


More information about the cvs-doc mailing list