My dual Pentium III box dual-boots OS/2 Warp Server for e-Business (WSeB) and Windows 2000 from a single 60GB SSD, using OS/2’s Boot Manager. WSeB’s Logical Volume Manager (LVM) and Windows 2000 each have their own ideas about partitions and the active partition, so here’s the layout I used and the places where Windows quietly breaks Boot Manager.
LVM basics that matter here
From IBM’s Redbook Inside OS/2 Warp Server for e-business (SG24-5393):
- Compatibility volumes are plain one-partition volumes that other operating systems can see. They can be FAT, HPFS or HPFS386, not JFS, and the OS/2 base system must be installed on one.
- JFS isn’t bootable in WSeB, so JFS is for data volumes only.
- A volume can be bootable (listed in the Boot Manager menu) or startable (the active partition). Only one partition can be startable. When Boot Manager is installed it’s the startable one, and setting any volume startable disables Boot Manager.
- WSeB boots using the enhanced INT 13h services, so the old 1024-cylinder boot limit is gone as long as your BIOS supports them.
The layout
I created every partition with OS/2’s LVM, and let Windows Setup only format the one meant for it:
| Partition | Type | Size | Purpose |
|---|---|---|---|
| Boot Manager | primary | ~8MB | boot menu |
| WSeB | primary, compatibility volume, HPFS | 4,000MB | OS/2 system |
| Windows 2000 | primary, compatibility volume, NTFS | 16,000MB | Windows system |
| Data | logical (extended), LVM volume, JFS | 25,000MB | OS/2 data |
| Shared | logical (extended), compatibility volume, FAT16 | 2,047MB | readable by both OSes |
| (unpartitioned) | ~10GB | left free on purpose |
Some notes on the choices:
- The FAT16 volume stays just under 2GB so both systems can read and write it. It’s the easy way to move files between them.
- The unpartitioned space is for the SSD. Nothing from this era sends TRIM, so leaving some of it unused gives the drive room to manage wear and garbage collection.
- Never convert the disk to a Windows “dynamic disk.” OS/2 can’t read it, and it would wreck the LVM setup.
Installing Windows 2000 second
I installed WSeB first (see Installing OS/2 Warp Server for e-Business on a VIA 686B board), with the Windows partition already created and added to the Boot Manager menu. Windows 2000 Setup then refused to install to that partition. With Boot Manager as the active partition and the Windows volume merely “bootable”, Setup wasn’t having it.
What worked:
- In LVM, set the Windows 2000 compatibility volume startable. This disables Boot Manager, as described above.
- Install Windows 2000. Setup should only format the existing partition. Don’t let it create or delete anything.
- Make Boot Manager startable again, and check that both systems are still on its menu (re-add them as bootable if not).
Step 3 needs OS/2’s LVM, but you can’t boot WSeB while Windows’ partition is active. Boot the WSeB install CD, press F3 at the prompt for an OS/2 command line, and run LVM.EXE from CD1’s OS2IMAGE\DISK_6 directory (it needs LVM.DLL and LVM.MSG from the same place). In the physical view, set the Boot Manager partition startable.
One more thing to watch in Windows Setup: booting the Windows CD bypasses Boot Manager, so Setup sees every primary partition. The WSeB HPFS partition can take C: and push Windows to a different letter, which is then fixed for the life of the install. Check the drive letter on Setup’s partition screen before you continue.
Things in Windows that break Boot Manager
Anything on the Windows side that touches boot setup tends to make the Windows partition active again, which silently disables Boot Manager. The next boot goes straight into Windows. The ones I’ve hit or would expect:
- Installing the Recovery Console (
winnt32 /cmdcons). This one caught me after the install. fixboot/fixmbrin the Recovery Console- Disk Management’s “Mark Partition as Active”
- A Windows reinstall or repair install
The fix is the same every time: install CD, F3, LVM.EXE from DISK_6, and set Boot Manager startable. It’s worth keeping that CD next to the machine.
Related: if you want Windows 2000 on both CPUs of a board like this, see Moving Windows 2000 from a uniprocessor HAL to multiprocessor.

