Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Aug 2001 16:20:45 +0100
From:      Mark Ovens <marko@freebsd.org>
To:        freebsd-doc@freebsd.org
Cc:        Kent Stewart <kstewart@urx.com>, Craig R <craigery13@hotmail.com>
Subject:   Re: I wrote an NTLDR page that I would like evaluated
Message-ID:  <20010811162045.A275@parish>
In-Reply-To: <3B72E206.82A462FD@urx.com>; from kstewart@urx.com on Thu, Aug 09, 2001 at 12:18:30PM -0700
References:  <F148MSi6xzmeWgUSp3s00003025@hotmail.com> <3B72E206.82A462FD@urx.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 09, 2001 at 12:18:30PM -0700, Kent Stewart wrote:
> 
> 
> Craig R wrote:
> > 
> > the URL is:
> > 
> > http://www.geocities.com/craigery1326/usingntldr2.txt
> > 
> > Please email me about comments/suggestions. I would like
> > to see this doc make the handbook, but I won't mind if it doesn't.
> 

A good, well written article. With regard to adding it to the handbook,
this subject is already covered in the FAQ (7.9. How can I use the NT
loader to boot FreeBSD?) which was partly written by myself (that is a
statement of fact, not an accusation of plagiarism ;-)) but your article
does go into the subject in greater depth.

What I suggest you do is to enhance (or even rewrite) the FAQ entry and
submit it as a PR preferably including diffs to the SGML source.

If you would rather just submit it as ASCII that's fine too (all
contributions greatly accepted), if you send it to me I'll do the SGML
stuff and commit it (giving you credit for the work of course) - it's time
I started doing some work around here again anyway :-)

> There are a couple of things that I noticed. First is the history. Ntldr
> has been around since the first version of NT. Your article gives the
> impression, at least in my mind, that it is a Window 2000 thing. Someone
> running NT-4 would probably go HUH? and move on. What you are doing
> should also work with NT-4. I know of some systems running NT-3.x. I am
> not sure if I think that they know what they are doing but they usually
> have valid reasons. There are people running early versions of FreeBSD
> 2.x. With all of the security holes, I wonder about their reasons too.
> It would probably work with NT-3.x just as well.
> 
> What you are doing is what I have done since I added FreeBSD to
> multiboot Windows systems. I think I follwed some comments by Mark
> Ovens. Some of these systems require deleting old version of Windows and
> adding new versions. None of the other boot managers handle this
> situation well. Installing a new version of NT will force adding the
> NTLDR back.

The biggest problem with re-installing Windows (or installing a new
version) on a multi-boot system is that the Windows installer blindly
writes a new MBR, although it does seem to respect existing Windows MBRs.
Certainly in W98 (and possibly 95) it "knows about" NT and so installing 98
on a machine with NT won't result in the MBR being overwritten (so NTLDR
will still be run and you'll get the boot menu, with Win98 added). It
appears to do this by looking for certain strings in the MBR such as "MS",
"WIN", "WIN4" etc. But if you've got a FreeBSD MBR it's going to be zapped!

> FreeBSD is equally ego-centric because regardless of what
> you tell it to do, it will make its slice/partition the active one
> during an install.

In my experience FreeBSD has always left *no* partition active! I've always
had complicated multi-OS, multi-disk setups so maybe that was confusing
sysinstall. The last FreeBSD I installed was 3.1 (I've used ``make world''
to upgrade ever since) so maybe things have changed since then.

> I follow stable and life is simple because no changes
> are required as you follow the upgrade path for these systems.
> 
> I think your setup only works if the FreeBSD boot is on the disk0. There
> is a lot of thrashing that goes on if you install FreeBSD on disk1.

This is correct. Unless things have changed in the FreeBSD boot mechanism
in the last year or so you would need the FreeBSD boot manager to make it
work.

The file C:\BOOTSECT.BSD (or whatever you call it) is actually /boot/boot1.
However, /boot/boot1 can only search for the FreeBSD partition (BSD: slice)
on the same disk that it is run on.

Note the warning I added to the FAQ (7.9. How can I use the NT loader to
boot FreeBSD?):

	Warning: DO NOT SIMPLY COPY /boot/boot0 INSTEAD OF /boot/boot1,
	YOU WILL OVERWRITE YOUR PARTITION TABLE AND RENDER YOUR COMPUTER
	UN-BOOTABLE!

That is the voice of experience speaking ;-)

The upshot of this is that if you wish to install FreeBSD (or more
specifically the FreeBSD root partition) on a disk other than the first you
have to use the FreeBSD boot manager to select FreeBSD or Windows. If you
selected Windows you would then get the NTLDR boot menu so you have to go
through 2 menus to boot Windows.

I recently added another HD to my system but money dictated that I had to
go IDE instead of SCSI :-(. My original setup, on 2 SCSI disks was:

	disk0:
		C: FAT
		FreeBSD / and swap
		NTFS W2K
	disk1:
		FreeBSD /usr

``/'' was on the first disk because of the above limitations. However, when
I added the IDE I could not get all the elements in my system (BIOS, SCSI
BIOS, OS loaders) to see disk0 as the first disk so I had to set it up with
the IDE as the first disk. This would have meant moving ``/'' to the IDE
which would possibly/probably have meant rebuilding my FreeBSD system.

Much to my delight I discovered that BootMagic that comes with Partition
Magic 6 (and PM 5 as well, IIRC) can boot *any* OS from *any* partition on
*any* disk :-) In the case of FreeBSD is doesn't even need C:\BOOTSECT.BSD
all it needs is the first partition on the first disk to be FAT (or, more
accurately, a FS that all installed OSes can read/write) so I now have:

	disk0 (IDE):
		C: FAT
		D: NTFS W2K
	disk1 (SCSI):
		FreeBSD /, swap, and /usr
	disk2 (SCSI):
		FreeBSD /home
		
> Because I have my system setup for communicating between OSes, I have a
> Fat32 "C" drive. All of my OSes understand FAT32. There isn't any need
> to create a copy of /boot/boot0 on a floppy but I think it is safer. I
> have always loaded FreeBSD onto my disk0. There is a way to configure
> boot0 but I have always chickened out and installed FreeBSD on my disk0.
> When you install new versions of NT, it doesn't care and everything
> works well at that point.
> 
> Kent
> 
> > 
> > Craig
> > 
> > _________________________________________________________________
> > Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
> > 
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-doc" in the body of the message
> 
> -- 
> Kent Stewart
> Richland, WA
> 
> Cool site
> http://www.bmwfilms.com
> 
> mailto:kbstew99@hotmail.com
> http://kstewart.urx.com/kstewart/index.html
> http://daily.daemonnews.org/
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-doc" in the body of the message

-- 
		4.4 - The number of the Beastie
________________________________________________________________
51.44°N  FreeBSD - The Power To Serve http://www.freebsd.org
2.057°W  My Webpage http://ukug.uk.freebsd.org/~mark
mailto:marko@freebsd.org                http://www.radan.com


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010811162045.A275>