Installing NT with OS/2 Boot Manager

by Douglas A. Hamilton



The following is an advanced look at an article which may appear in my column in the October issue of Windows. Naturally, we still want you to buy the magazine :-), but it seemed kind of cruel to force you to choose between waiting for this to appear in print and going thru everything I had to to figure this out....

NT can indeed be installed on the same system with DOS, OS/2 1.3 and OS/2 2.0 using OS/2's Boot Manager to choose what system starts up. If you'd like to do that also, read on. I can save you about 30 hours of groping in the dark.

At the same time, let me also admit that I'm not specifying the "only" way to make things work, merely the only way I know about. If things go wrong in the install, it's easy to find yourself staring at a message telling you something like "DosPathToArcPath reported the following error...", but not so easy to figure out what to do next. Lots of things seem to interact and it wouldn't surprise me if there might be lots of "one-off" variations on the rules I'm about to give that could work also. The point is, I didn't try every combination - with roughly an hour per attempt, it just _felt_ like I had.

Point #1: Use the graphical install.

There are two basic strategies for installing NT. One is the so-called graphical install and the second is a manual method involving copying the NT distribution tree onto your hard disk, editing the registry.ini file and then going thru what's referred to as the triple boot sequence where the system is rebooted three times as it builds all its security structures, etc.

Don't use the manual method unless you positively cannot get the graphical install to work. Really. The manual method does not give you any way to set up printers, networks or any automatic way of trimming out drivers and other fluff you don't need. Since NT is already a big system with a big appetite for RAM, the last thing you need is a bunch of drivers that don't even go with your hardware being loaded into precious non-pageable memory!

But also, don't use the manual method because the result seems to be unreliable. I understand and appreciate that the manual method is more or less what the developers at MS are using on their own machines, so clearly there must be a way to make it work. But on my machine, I consistently found that although the installation seemed to go okay and the system seemed to come up correctly, it was in fact broken. E.g., opening the command window and typing set | more would hang the window. Based on other experiments, it appeared that critical sections were broken - as if I had gotten 1/2 a system built with one variation on the critical section structure and 1/2 built another way. Everything seemed to work except for critical sections. Unfortunately, critical sections are, well, sort of critical.

Point #2. Put NT in the first physical partition.

Actually, the release notes tell you this; they're not kidding. My first attempts were to do as little repartitioning as possible. And why not? The automatic install for NT that came with PDK2 didn't mind that the first two physical partitions on my system were the OS/2 Boot Manager and DOS.

The install that comes with the July SDK is more fussy. Trust me: if you have Boot Manager at the start of the drive, or another (hidden) C: partition ahead of the one you're trying to install into, it will not work. You can waste a lot of time or you can just accept that fact and move on.

Point #3. Don't try to install with the OS/2 Boot Manager on there at all.

I found that if Boot Manager is on the drive, even at the end of the physical volume, install hangs with no warning during the scan it makes of your drives and you have to reach for the BRS.

The trick to getting NT to work with Boot Manager is to put BM on there *after* you've already got a successful install done.

Point #4. Don't try to install NT and OS/2 into the same partition.

This was really strange I wasted a lot of time installing OS/2 1.3 into a C: partition, installing NT on top of it and then putting Boot Manager back onto the drive. I couldn't make it work. For some reason, you get the initial greeting from NT's Portable Bootloader, but it does not give its usual menu for selecting NT vs. whatever was previously on that partition. It just tries to load NT and then fails. Removing BM made it work again, but of course that defeated the purpose.

If you want to use BM, you can put NT and DOS into the same primary partition (installing DOS, then NT) but not NT and OS/2 1.3.

Point #5. Don't try formatting the partition with the NT install program.

It does something weird. My experience was that even when I specified a FAT format, the partition was not readable at all from OS/2 and even DOS 5 had problems with it, reporting a garbled partition size.

Format the partition first with DOS or OS/2 if you want it readable by anything other than NT.

Point #6. Don't try to put NT or even its pagefile onto anything but C:.

Subtle point here: NT always, always, always has to be installed on C: but you do get options during the install (if you ask for the custom install) to place all the files that go with it (including the pagefile) on other drives. If you want to use Boot Manager, don't do that. What happens is that when you try putting BM on the drive after NT is already installed, all the drive letters (as seen by the NT Portable Bootloader) will get scrambled again and Bootloader will complain it can't find ntkrnl.

When you're setting up that initial partition for NT, be sure to make it large enough (say 50 M or so) to hold all of NT + the pagefile. After you have *everything* (all the other operating systems and BM) installed, you can move the pagefile by using regedit. But getting started, everything must be on C:.

Point #7. Don't try installing if you have more than one C: partition.

The OS/2 2.0 FDISK program lets you create multiple primary C: partitions on the same drive, making just one visible at a time. Don't do that until after NT is already installed.

Point #8. Don't try installing if you have any FAT or unformatted partitions that come _after_ any HPFS partitions.

This had me in circles for hours. As long as I was repartitioning like crazy for NT anyway, I decided to do some other cleanup and get rid of several smaller partitions on which I'd had various beta versions of OS/2 2.0. All of them were at the end of the extended partition on my 3rd drive. So I collapsed them into one logical partition but left it unformatted.

What happened was I'd go all the way thru the entire install process setting up printers, etc. - I mean, we're talking about an hour to get right to the bitter end of the install - and then it'd give me a "non-critical error" claiming that "External library procedure DosPathToArcPath reported the following error: Error reading object directory." You get a choice of whether to continue or simply admit right then and there that you're hosed. Trust me: you're hosed. What happens is that when you try to reboot NT, you'll get to the logon screen and it won't recognize your id or password. It's a secure system - very secure.

I don't know why, but it did occur to me that the problem might be because that partition was unformatted so I booted up the OS/2 install disk and tried formatting. But it's difficult to get OS/2 to do an HPFS format from the install disk, so I did a FAT format. That produced that same DosPathToArcPath error.

What finally clued me in was booting DOS and using its FDISK to look at my partitions. Although DOS seemed to work okay with that partition arrangement, I noticed FDISK claiming I had two G: partitions, one an HPFS partition which it could not read and the second, that FAT partition. Going back to the OS/2 install disk and simply deleting the partition (leaving it as free space) worked.

Bottom line: if you have lots of partitions, be sure that any FAT or unformatted partitions come before any HPFS partitions. Otherwise the install will not work.

Summary: Here's what to do.


 * 1) Repartition as necessary to create a 50M+ primary C: partition for NT (or DOS + NT) at the very start of your boot drive.
 * 2) Be sure Boot Manager is nowhere on your system, that there are no other primary partitions on that boot drive and that there are no FAT or unformatted partitions that come after any HPFS partitions anywhere on your system. We're talking plain vanilla here. Very important.
 * 3) Format the C: partition with DOS 5 and then install DOS.
 * 4) Install NT using the graphical install, putting *everything* on C:.
 * 5) Boot the OS/2 2.0 install disk and ESC to get to the prompt, from which you can use FDISK to create partitions for OS/2 1.3, 2.0 and Boot Manager.
 * 6) Install 1.3 and 2.0 in the usual manner.

What you'll get:

When you're all done, you'll have a system that'll have Boot Manager come up with a menu for choosing NT, 1.3 or 2.0. If you choose NT, you'll then get the NT Portable Bootloader, giving you a choice between DOS and NT. (Actually the choice will be between NT and the "previous" OS; you can fix the message by editing the boot.ini file.)

QED. :-)