Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Microsoft

All of the Win32 Operating Systems on a Single Box? 23

Shadarr asks: " We would like to be able to have one machine and put each version of Windows (95, 98, and NT) on a separate partition on the hard drive, then use a boot loader to pick which one to start each time. This would probably not be that difficult to set up. My worry is that every time we reformat a partition and reinstall Windows, it will over-write the master boot record and we will have to re-install and configure the boot loader. Is there a way to protect the MBR, and if not what would be the easiest way to reinstall the boot loader? " Is NT's boot loader up to the task, or would something similar to System Commander be the answer? Even with NT?
This discussion has been archived. No new comments can be posted.

All of the Win32 Operating Systems on a Single Box?

Comments Filter:
  • A note about the NT boot loader and multiple OS's with large harddrives:

    Windows NT Service Pack 1 cannot recognize partitions that cross the 1,024 cylinder boundary. This will most commonly occur on drives larger than 8gbs.

    So, if you install NT and use bootpart, make sure you put SP3+ on immediately so it won't choke if you have partitions that go into that 8GB+ space.

  • Simple, costs only a little and can boot more OS' then you can shake a stick at. Think Lilo on steriods. Using it currently, very easy to install and has never failed me.
  • by cswan ( 6058 )
    I'll need someone to correct me here, but I think what you want is to run Vmware with the discs(disc images, rather) set in 'non-persistent' mode. That means that after you get the OS installed inside an image, set it 'non-persistent' and any changes to the filesystem will be discarded when you exit the vitual OS.

    Vmware might not be a solution for you, if you're dealing with some funky hardware/software that will not work within the confines of Vmware. The nice thing, though, is that you can have all three OSes booted at the same time, all while within the comfort of linux (well, I guess you _could_ run all three OSes from Vmware under NT, but who would want to do that?) I've been told that this is a godsend for coders, who can make a quick change, and very rapidly test the results across all three platforms.

    And restoring partitions is a snap--keep a backup of each original .img file, and copy it back whenever you need a fresh install.
  • I've run into those kinds of problems before, too. The problem in the cases I'd run into was that the two OS's didn't agree about the exact drive size and therefore didn't agree about how to partition it properly. If, say, one thinks you've got 1024 cylinders to deal with and the other thinks that you've got 1246 cylinders, the best strategy I found was to calculate sizes, determine how many cylinders that worked out to and leave a little bit of leeway (a small amount of unpartitioned space) between the two partitions, so that they didn't overwrite each other.

    (yes, it's icky, it's strange, it sounds like black magic and it sounds similar to suggesting that you sacrafice a goat over your computer. But it's worked more than once. Check carefully that DOS or NT's fdisk and Linux's fdisk agree on number of cylinders. Or just use a boot disk to get into Linux.)
  • Dudes,

    I think you are both confusing a couple of issues here. NT setup will not create a partition bigger than 2GB. Even an NTFS partition is created as a FAT and then converted to NTFS. Another limitation is that the system partition (the one that contains the files necessary to boot the system, naturally. The boot partition holds the systems files . . . But I ramble) can't be more than about 8GB.

    Goofy, huh (I support NT for a living)
  • Ugh!

    I was trying to do that here for our training department, and had terrible experiences.

    I could get NT, or Linux, or whatever, loaded onto a bootable Jaz disk, and it'd run really great, just like a hard disk. But the minute I tried to do any kind of mass duplication of the data (using DD, mostly), I'd start having problems.

    Specifically, I'd get media errors up the wazoo--SCSI problems, disk problems, etc. We replaced at least three drives, but even then at least 30% (closer to 50%) of our 2G Jaz disks simply didn't work. We eventually trashed the whole setup and now use removable IDE drives and multicast Ghost images.

    I asked for help multiple times on USENET, but all I ever got back was "Jaz drives suck. Try something else." Same response from just about every other person I spoke with. Don't get me wrong, I love Jaz for file storage and archiving, but for dumping an OS onto it repeatedly and using it as boot device--I dis-recommend it completely.


    Just my thoughts....


    david.


  • With BootPart [winimage.com], the NT boot loader can load pretty much anything.
  • I did something simillar, but I used a Linux root/boot floppy, and dd'd the image too and from tape. I used this for a number of OS's, including Linux, Win/NT.

    Luckily I had access to a number of spare tapes that were surplus to requirements.

    The system broke down when I needed to install Banyan VINES - vines needed the IDE drive parameters modifying. Then someone at work stole my tape drive whilst I was out of the office.
  • I have a very similar setup using system commander myself. It's the perfect tool for the task.
  • Im going to assume that you want both versions of NT4 (Srv & Ws) as well as 98 & 95. Cinch. There is the minor issue of calling 9X a 32 bit OS, but Ill save that cynicism for later) Do a bit of planning beforehand, such as what you want the directory names to be. I.e.
    Win9X C:\Windows
    NTSrv C:\NTServer
    NTWS C:\NTWorkSt

    Well, almost. The kicker isn't getting NT and 9X to play well together, it's getting 95 and 98 to play together that is hard. The easiest option is to drop one, and live with 98, Server, and Workstation. it won't involve any LILO'ing of the drive or nuthin'.

    Create a FAT16 partition of full size (2 gig If you are using the Win98 FDISK.EXE, say NO to the 'enamble large drive support' when asked, or it will be fat32( :( ) If you are using Win95 FDISK, say YES (which will enable LBA, needed for >512MB drives) Install the Win9X OS of choice, using 'C:\Windows\' (default) as the install directory, and make sure to reboot a few times after it is installed so it is nice and stable for you.

    next, grab either one of the NT install disks and install away on the same partition. Accept the defaults were you can. Make certain to use the NT directory you decided on earlier.

    Then install the other NT install disks, and install to it's own directory as well.

    You WILL be sharing the Program files directory, but this isn't usually too big of a problem since the main items in mine are WinAMP and WinZip (can be run in either OS).

    If you make the mistake of either
    1. SYS'ing C: from DOS
    2. (Re)installing Win9X after NT is installed, grab the install disks, choose the Rescue option, and follow the directions to inspect the Boot sector. Put in the rescue disk when asked (You DID make the rescue disk, didn't you? :) and it will replace the boot sector correctly.

    The NT OS loader will detect the Windows installation, and make it an option in your boot up. Whne done, it should look like :

    NT Server 4.0
    NT Server 4.0 [VGA Mode]
    NT Workstation 4.0
    NT Workstation 4.0 [VGA Mode]
    Microsoft Windows

    Now, if you really, absolutely MUST have all four OS's, things get tricky.

    Follow the steps above to get the initial three OS's going. After it is done, pop in your (We'll assume 95) 95 startup disk. Run Fdisk to create another Fat16 partition, but NOT an extended nor logical. A regular partition. Set it as ACTIVE (very important). Install Win95 as normal. From here, you have option about how to switch between OS's.

    1. Run FDISK from a boot floppy and set the Primary partition to active if you want NT or 98, or set the Secondary part as active if you want 95.
    2. Add a line like D:\='Windows 95' to your boot.ini on C:, and set C: to active. NOTE: This may not work, my Boot.ini info is rusty.
    3. Set C: to active. Make a lilo.conf (You comfy w/ Linux? :) to choose /dev/hda1 for 98 or NT, and /dev/hda2 for 95. install LILO to /dev/hda. (modify accordingly is using SCSI)
    4. Set C: to active. Make a lilo.conf to boot straight to /dev/hda2. put the loader on a floppy. You can use the floppy to boot 98, or remove to boot nt/98. You could also dd the boot sector from the floppy hand it to NT and edit the boot.ini to boot from it is Win95 is chosen from the boot menu. See the NT+Linux HOWTO for more info on this.

    Phew. See, the installation is easy, once you realize the only common FS between all of these OS's is FAT16. Selecting which one to boot it the kicker. There are many options available, but I tried to stick w/ NT Loader since you WILL have to use it if you have NT. LILO is much more powerful though, and learning to use it is VERY handy, even if the system doesn't run Linux.

    Toodles
  • I run Win311, Win95, and Winnt Workstation 4.0 all on a single partition in a classroom environment. The trick is to install NT last and use a utility called bootpart (written by Gilles Vollant) to make configuring the NT bootloader a piece of cake. You can find it here:

    http://ourworld.compuserve.com/homepages/gvollan t/bootpart.htm

    I expect you will have a problem with Win95 and Win98 playing nice... msdos.sys, config.sys, autoexec.bat, and some other win95 root files will be replaced by the 98 install. I suggest installing 98 on a separate partitition. (In fact you need to install all three on separate partitions unless you don't mind sharing the "Program Files" folder) Before you run the 98 install use fdisk to change the partition to active ... that way the Win98 install will place the root files in that partition. You can also attempt to use bootpart to save a boot image for each os... you can actually do this many different ways, the key is to use bootpart, it's an invaluable tool.

    Why do you need all of these os's on one machine? Testing? Training? Anyway I'd really be interested to see how you do it, and if you need any help, email:

    NOSPAMpinche@prontomail.com
    (rip out the NOSPAM)

    P inche G onzales
  • I've used the info in the Linux+NT-Loader mini-HOWTO, and I had nothing but problems.

    I had Win95 on a FAT16 partition, WinNT on an NTFS partition, and RedHat 6.0 on an ext2 partition, all being loaded through NT's boot manager via the instructions in that mini-HOWTO doc.

    Whenever I loaded NT, did whatever work I had to do, and loaded back into Linux, my ext2 partition would be corrupt beyond belief.

    Whenever I loaded Linux and did whatever work I had to do and loaded back into NT, my NTFS partition would also be corrupt.

    I used to have a triple boot system with LILO and had no problem. So I'm assuming that NT's boot manager is doing something funky. I would not recommend it.
  • NT should have a problem with this setup. At one time I had DOS and NT on one disk and 95 on another. I don't know if you could make it work with just separate partitions. NT should handle it ok but 95/98 only know how to install to the first partition of the first disk. What I did to make it work was install DOS(for you 95 or 98) to a clean disk. Then I put another clean disk into the primary master position, and installed 95. Then I installed NT onto that same partition as one of the other OS's, but you can use a different partition of drive. When NT's bootloader came up, it had an entry for DOS(or whatever is on the first partition of the first disk). I think I had to add the second OS into the boot.ini manually, but it'd be the same line as for the first with only the disk/partition references changed. I think the only restriction DOS/95/98 have to be on separate disks because they boot from the root partition, whereas NT boots from anywhere you tell it. It's been a while since I did this so I may not have remembered everything accurately, so if you run into problems, "oops"
  • WinNT will sometimes get upset (BSOD) if a portion of its partition crosses the first 2GB of the disk. To make it worse, NT requires a pagefile at least the same size as your RAM. If you use the default pagefile settings which put it in C:\ then your partition may be too big to fit all the other OS partitions within the 2GB limit. The pagefile doesn't need to be inside the first 2GB, so put the pagefile on a logical drive within an extended partition. Use FAT16 and 32K cluster size to improve performance. You can use Partition Magic to set the cluster size.

    It's a good idea to setup the NT pagefile like this anyway. Much faster. You can also use the same pagefile for multiple NT installations.
  • I have tried to do this. When I did it, it was a horrendous mess. Windows doesn't work like you'd think it would. Each OS installs the same code into the MBR. Be it Win95, 98, or NT. (I'm not sure about 3.1 but it would make sense...)

    So anyway what this generic MS MBR does is looks for the "active" partition. This can be set from within dos's FDISK or NT's Disk Administrator. So, what I'm saying is that you'd need, somehow, to regulate the flag for the active partition to do this. Maybe I'm wrong, just trying to help.

    Gotta go to school now. Bye
  • id use lilo. its really trustworthy.
    to do a cheap and quick lilo install grab a linux cd and a linux boot disk, skip everything until you get to the boatloader setup. and just do it from there. SuSE is especially easy to do this with, im not even sure if you need a suse cd, just a suse boot disk.
    i believe by default win* does a
    fdisk /mbr
    when it installs. i used to linux/win98 dual boot this machine and everytime i reinstalled windows (about 100 times more often than linux) it did the same stuff.
    system commander is ok i hear for win* partitions but ive heard it isnt too linux friendly until you work at it a little.
  • System Commander (about $50) will do this for you perfectly. We've got a box here that will boot all the Win32 flavors & MSDOS from one partition, and Linux (RH 6) from another partition, all via System Commander.

    No, its not Free or Open Source - you have to buy it.
  • Here goes:

    Make sure that all your OS information can fit into ~8GB (this translates to cylinder 1024 for most HDs) of space.

    Create FreeBSD install floppies (probably 3.3-RELEASE is a good one)

    Start the FreeBSD install, ignore the kernel config (if you don't have special hardware), then choose "Custom" from the initial menu. Then choose "Partition" to partition your drive.

    Create 2 partitions (you choose the size (~250MB each)), for Win95 and Win98 (3 partitions if you want Win98SE also). They should be created as FAT partitions (can't recall the number, but I think it will tell you).

    Type "W" (can't see this menu choice, but it's there). It will warn you, but write the changes anyway.

    Reboot and use a Win95 boot floppy

    Open FDisk and verify that the two partitions are there. If they aren't, you did something wrong, try again with step 2. If they are, then format drive C: and run the Win95 Setup.

    Reboot _2_ times after the Win95 install is done (you should only need one, but try 2 anyway)

    Reboot with a Win98 setup disk and format drive D:. Then run Win98 Setup.

    Reboot _2_ times after Win98 install is completed (again, one should do, but do it twice)

    Repeat last two steps for Win98SE if desired. (Exchanging D: with E:)

    Reboot with WinNT boot disks (WKS or SVR)

    Run through the WinNT install creating a brand new partition (in the "Unpartitioned Space")for each installation of WinNT SVR/WKS. Note: These partitions should also be ~250MB each, and You don't have to have the same size pagefile as RAM, you'll need at least 2MB of pagefile on the boot drive and that's it.

    Reboot a few times and ensure that NT is working.

    Now Reboot with FreeBSD installation disks again. This time run through the Entire Install creating a brand new FreeBSD partition after all the others (make sure that it stays within the first 8GB of space). When it asks you to provide a boot manager, choose the "BootEasy" choice.

    Commit all the changes (If you so choose, you can even abort the FreeBSD installation after the drives have been formatted and the stuff downloads ( I've never actually aborted it at this point, but I believe the MBR has been written at that point ).)

    Congratulations, you now have a working multi-OS setup. When the computer reboots, you should just choose the OS you want to run (keep in mind that Win9x will show up as DOS in the menu, and I think NT shows up as ??, so it would be a good idea to write down which OS's correspond to which F? keys. Hint: It goes in the order that the partitions are, so partition 1 is F1, partition 2 is F2, etc...

    Linux users will be happy to know that you can also install Linux before FreeBSD and FreeBSD's bootloader will catch them all (not sure how Linux shows up in the BootEasy menu, I can't remember).

  • I use an Adaptec 2940 and specify my 2G Jaz drive as the boot drive. All you need is one cartridge per OS. I have Linux Mandrake, NT, 98, and 95 OSR2, each on its own disk. Hope that helps!
  • At one job, not all that long ago, I had somewhat similar requirements. The main difference, however, was that I needed to have nearly virgin installs of Win 3.1, Win 95, Win 98 and Win NT (4.0 Workstation) that I could recreate quickly. (The reason being that I needed to test the installation of a certain [microsoft.com] package and uninstalling all of the installed components and then trying an install again generated different results and was therefore not a useful test. Or at least not a test on a "like virgin" system anymore.)

    Solution: two hard drives. Drive 0 (/dev/hda, C: in windows, whatever) was a 512MB drive (yes, nearly a throwaway, but all that was required for the OS and single piece of software) and Drive 1 (/dev/hdd, actually, IIRC -- slave on secondary with CD as master on secondary -- just to keep the two hard drives on separate IDE channels) was, I think, a 4 gig drive. You'll note that this is all very easy to scale up.

    Anyways. Then I installed Linux (RedHat 6.0, minimal install) on the entire second drive (I don't even recall if I gave Linux any swap or not...) and created a boot floppy at the appropriate point.

    Process:
    1. Zero out first drive, "dd if=/dev/zero of=/dev/hda"
    2. Create appropriate single FAT partition, format, etc.
    3. Install appropriate OS (Win 3.1 was most difficult -- you'd be surprised how hard it was to scare up good installation media for MS-DOS 6)
    4. Do anything with OS that would "render it typical" -- maybe play solitaire for five minutes, change colors around and reboot the OS a few times. (some of the OS's do something different on first boot or second boot from subsequent boots)
    5. Stick in Linux boot floppy and reboot machine.
    6. Copy entire first drive to a backup file: "dd if=/dev/hda of=win95-virgin-19980912.img" (or some filename appropriate like that for my purposes). Optionally gzip it (or gzip later). (which is why zero-ing it earlier can help.)
    7. Repeat from step one with different OS.

    Then, later, I would just "dd if=whatever.img of=/dev/hda", reboot and do whatever damage to that OS that I wanted, without having to worry about it. Then any states that I needed saved I could easily backup via Linux.

    If you just use a Linux rescue disk and a *really* small Linux partition you could back up just the MBRs. The magic dd command line for that is like this: "dd if=/dev/hda of=MBR.img bs=512 count=1". For whatever reason, the LILO documentation reccomends something like "dd if=MBR.img of=/dev/hda bs=446 count=1" when you actually want to write the saved MBR back onto a drive.

    More realistically, once you've installed each OS onto a separate partition and saved the MBR for it (do NT last), you can copy the MBR file onto the root of NT's boot drive (even if you have to do it via a floppy) and then:
    "attrib -s -r boot.ini"
    Edit boot.ini -- add a line like:
    C:\MBR95.IMG="Win95"
    Then be sure to "attrib +s +r boot.ini" afterwards. After that, NT should present you with the additional boot options when it starts up.

    Look in the LILO documentation and "Linux+NT-Loader" mini-HOWTO for more info on that kind of strange trickery.

"What man has done, man can aspire to do." -- Jerry Pournelle, about space flight

Working...