Dual-Booting Vista and MS-DOS 6.22

#1
Greetings all, I just installed MS-DOS on my computer (had to uninstall Vista first to do so), and then re-installed Vista. However, Vista didn't recognize MS-DOS when it install and add it to the boot menu like I hoped it might. So I did some searching and found EasyBCD 1.7.1. It looks like it should be a lot easier, but I don't see an MS-DOS option (though from what I've read it appears to support MS-DOS and OS/2, which I might add on later).

Whenever I try to add a boot sector called "MS-DOS 6.22" from the Windows 95/98/ME Windows section, I get an error that bootsect.dos could not be located on my hard drive (though MS-DOS 6.22 does appear on the entries list). It's my best guess that this error means it wouldn't work if I tried it.

Also downloaded NeoGrub from its section, but it didn't appear to do anything other than add its own bootloader - if possible I'd like to keep it to just one bootloader.

Information:

Drive C:\ (according to DOS before I installed Vista) is FAT(16) and 2 GB.
Drive C:\ (according to Vista after I installed Vista) is NTFS and 100 GB.
Vista calls the first C:\ "D:\".
47 GB remains unallocated.

Hitachi 7200 RPM, 160 GB hard disk
Core 2 Duo T7500 processor
nVIDIA GeForce 8600M GT DDR2 graphics card
2 GB RAM at 667 MHz
Vista Home Premium, fresh install
MS-DOS 6.22, fresh install (worked fine except for the bootloader not appearing on boot after Vista install/presumably not having DOS in the bootloader)

Eventually I plan to upgrade to Windows 3.11 and Windows 98. But I had to install DOS first because my Windows 98 disk is an upgrade disk, and thus I needed 3.11 (and thus DOS) first. The computer they originally ran on is all but dead, and none are OEM, so no license issues.

If there's a way to disable Vista's consistency check feature, it'd be nice to have that as well, it's rather annoying having it appear all the time.

Thanks,

Quintillus
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#2
How did you get DOS to install? You are way over the limit for the system resources. Same thig for Windows 95, 98SE. The CPU and RAM are way over the limit that they can handle. 95 can only handle like 32MB of RAM. You have 2GB. The installer shouldnt even start.
 
#3
I made bootable CD's from images of the MS-DOS floppies (made them a few months ago on my desktop), put the first disk in, and restarted. DOS setup came up, I had to wipe the hard drive (had already backed up my data) and give all the hard drive space to the DOS partition (not a problem - only 2 GB thanks to FAT16 limitations). From there I just switched the CD's to 2 and 3 and it installed fine (apparently it considered the CD drive A:\ since I don't have a floppy drive on my laptop).

DOS bootup from the harddrive worked perfectly. Took a few seconds for the memory test, but everything seemed to work. Tried a few commands just to make sure things were OK and didn't hit any problems (don't know enough of DOS to test it really thoroughly). It recognized my flash drive with no problems, was lightning-fast at everything.

DOS might not be built to handle modern specs, but apparently it doesn't rule out working on them either. No problems with install or DOS working :grinning:. Just have to figure out how to get it onto the boot menu.
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#4
Well the boot menu you will have to wait for Guru. He created EasyBCD and will know if it is even possible. But i think you treck for Windows 95 and 98 will be short. Sadly i know that they will not be able to isntall. Just looking at some quick stories on the net adn i see that Windows 95 wont work with more than 480MB of RAM.

The Old New Thing : Windows 95 doesn't boot with more than 1GB of RAM

Windows 98 has a 1GB limit on it. I think DOS installed cause it isnt GUI based. It is strictly comman line and therefor the limits dont really affect it. So before you continue your treck i would consider this as you will fall short of your goal of Windows 98 installed.

Also i have several Windows 98 SE discs. I am surprized someone actually wants to dual boot 98 with Vista. Just a surpise to me that is all.
 
#5
It was originally because my favorite game was having significant problems with Vista, and I knew it ran fine on Win98. But it didn't seem to like running in a VM, so booting Win98 natively was the solution. Didn't get around to actually trying it back then, though.

Fortunately, said game has been working fine for nearly 7 weeks now with Vista (after two reinstalls to get it working) *crosses fingers*, so now it's just to see if I can actually do it that I'm trying to install Win98. And I suppose it would allow me to play at least one old game that didn't work with XP/Vista.

I've read a bit about changing the vcache settings to get old operating systems to boot. Might try that. Vista can easily boot with 900 MB, so it's certainly a possibility to try limiting it that way if it doesn't work.

Of course there's still the issue of getting 3.11 to work correctly...hopefully that doesn't hit an insanely low RAM restriction *crosses fingers again*.

Ah, did just find this Microsoft article on it for Win95/98 - might help a bit. 3.11 is still a mystery though.
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#6
Well i certainly hope you the best. After doing some searching i see htat 3.11 has a very low limit to RAM and such. Hopefully you can get it working.

I thought that sharing abandonware was legal though?
 

mqudsi

Mostly Harmless
Staff member
#7
OK, here're the facts:
1) EasyBCD does support dual-booting with DOS
2) It isn't easy.

You need to create a bootsect.dos file (no, I haven't gotten around to writing that documentation yet :X) and stick it in the root of your boot partition.

Instructions on creating bootsect.dos can be found here:
Reconstructing BOOTSECT.DOS

They're not that great though - I've just upped the DOS documentation on my (too long) list of priorities though.

For what it's worth - I booted into DOS 6 back when I was first writing EasyBCD via the bootsect.dos method; so it'll work.... in the end.
 
#8
Well, I tried the Microsoft instructions. Part 1 (Sys C:smile: went well. But then the Vista install CD didn't recognize anything to fix in the boot record. And when I restarted, the computer booted to DOS with no option for Windows. I tried System Restore from the Vista install as well, but to no avail. The boot record was decidedly DOS. The "verify boot files on your C: drive" option never appeared, just Repair Boot Process, which didn't work.

So I installed another installation of Vista on the remaining space I'd left on the hard drive (figured leaving 45 GB unallocated would pay off someday). That restored the boot record to Windows, and gave me a "Windows Vista" or "Windows Vista" choice, and now my original install works fine. But DOS isn't an option yet.

I think my next step is to create a virtual floppy drive and create a Vista boot floppy, and then move that to CD, and see if it has the NT "Verify boot files on your C: drive" option. I doubt an NT boot floppy would help given all the changes since then.

I didn't extract the bootsect.dos file - would that have been a good idea? It seems like I need to meld the two MBR's into one, which is the hard part. I'm still getting the error "EasyBCD could not locate a copy of bootsect.dos on your hard drive" when I try to create a Win95 entry from D: (where DOS is installed). But when I was running DOS, I didn't see a file "bootsect.dos" which I could copy to my flash drive.

It's back to square one, but at least Windows is working again.


Addendum:


I found a MS-DOS utility (http://www.thpc.info/dual/bootsectdos.html) that runs off a MS-DOS boot disk and is supposed to copy the master boot record. But I don't think it worked quite right.

bootsect.vst (renamed from .dos to distinguish it was the NT one) said:
ë<MSDOS5.0 @ ø ? ÿ ? �*ú? €)Z …7MS-DOS_6 FAT16 3ɎѼð{ŽÙ¸ ŽÀü½ |8N$}$‹Á™è<rƒë:f¡|&f;&�*Wüu€ÊˆV€Ãsë3É�*F˜÷fFVFÑ‹v`‰Fü‰Vþ¸ ÷æ‹^ÃH÷óFüNþa¿ èæ r9&8-t`±¾¡}ó¦at2Nt ƒÇ ;ûræëÜ�*û}´}‹ð¬˜@tHt´» Íëï�*ý}ëæ�*ü}ëáÍÍ&‹UR°» è; rè[�*V$¾|‹üÇFð=}ÇFô)}ŒÙ‰Nò‰NöÆ–}Ëê ¶Èf‹FøfFf‹ÐfÁêë^¶ÈJJ�*F
2ä÷âFüVþëJRPSjj‘‹F–’3Ò÷ö‘÷öB‡Ê÷v�*ò�*èÀÌ
̸€~u´B‹ô�*V$Íaar@uB^IuøÃA» `fj ë°BOOTMGR
BOOTMGR is missingÿ
Disk errorÿ
Press any key to restart
¬ÁÎUª
Might this have something to do with MS-DOS not being able to read my NTFS drive? The FAT16 drive was created first, Vista of course is on the NTFS one (technically the second NTFS one now). The boot manager, contrary to this file, is not missing and does work correctly (choosing between my now-two Vista installs).

It looks like I still need to run Sys C: to get a MS-DOS boot record - and I'm not confident this bootsect.vst will restore it (nor indeed how to restore it).

The btsect25.bat program included in the download did say,

btsect25.bat said:
To enable a WinXP/2000/NT boot (and for dual-boot),
-boot from its CD, press R (and C for 2K) to run Recovery Console.
-Type FIXBOOT, and then BOOTCFG /REBUILD (NT users: boot Setup Disks, and select "Inspect Boot Sector").
This is all well and good except that I couldn't find a Recovery Console or any other method to restore Vista to the MBR from the Vista install CD. Surely there must be some way.

Right now it looks like I have to run Sys C: from within DOS to get a bootsect.dos from DOS, but then I can't add that in using EasyBCD until I get into Vista...and there doesn't seem to be a way to install Vista to the MBR again without a reinstall, even if my bootsect.vst is correct. I suppose I could run Sys C:, run btsect25 to copy bootsect.dos, and reinstall Vista again, but it's getting a bit old reinstalling the OS.

edit: Whoa, pretty neat automagic merging feature.
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#9
Thanks :smile:

Back to your problem :lol::

Petri has some instructions on the subject: Install Windows 98 after Windows XP

Important thing is to use a Windows 98 startup disk and not a Windows NT one.
You can grab that here: http://www.bootdisk.com/

So basically - carry out the first part of Petri's instructions. (up to where he says insert the XP CD)
Attempt to reboot.
If it doesn't work, stick your Vista DVD in the drive and recover the bootloader.

You should now have a C:\Bootsect.dos file.
 
#10
Success! Thank you very much. Restructuring bootsect.dos proved to be key, and Easy BCD made the final part much easier. Google, as usual, proved a friend in the process.

I'm writing up a guide on how I did this to add to this post. It should be up by midday tomorrow (GMT).
 

mqudsi

Mostly Harmless
Staff member
#11
That would be awesome. I'll stick it right up in the wiki when it's done :smile:
 
#12
Guide: Dual-Booting MS-DOS 6.22 and Vista

OK...Here's what I did to get the dual-boot (efficient version below). But it's rather convoluted because I wasn't sure exactly what to do at the time, and thus there was a good bit of experimenting before I got stuff right. I'll post an addendum to this with instructions should result in a slightly easier process. But here's what I did:

1. Backed up all my data.

2. Create floppy images of the MS-DOS startup disks on CDs/DVDs (I used a combination of both). Three disks in all.

3. Install MS-DOS from the CD's (which it accepted as floppies, and were assigned the A: drive thanks to their being virtual floppies). Worked flawlessly.
*NOTE: MS-DOS insisted on formatting my C: partition to install (it can't install to NTFS). Hence why step one was backing up my data.

At this point, you have an MS-DOS computer with 2 GB of FAT16 allocated hard drive space.

4. Install Windows Vista. I left 47 GB of the 147 GB I had left after the MS-DOS 2 GB unallocated - which was to prove fortunate. Create and NTFS partition to install it on, and then let it install.

At this point you have a computer that boots into Vista, but not MS-DOS. Essentially you're where you were before you started, except without your data on the hard drive and with 2 GB of a FAT16 drive with MS-DOS on it.

5. This is where it gets tricky. I downloaded btsect25.zip from this site, and added the three files in the ZIP to the floppy-CD I had made (given that I was using images, this involved creating a new image with WinImage and re-burning from CDBurnerXP). I now had my MS-DOS install disk one with these additional three files on my floppy-CD.

6. Reboot with the MS-DOS install disk one floppy-CD in the CD drive. MS-DOS setup will begin. Press F3 twice after it loads up to exit setup. This will take you to an A: prompt - but you can freely access C:.

7. Revert the boot sector to the MS-DOS version by typing "Sys C:" at the A: prompt.

If you restart at this point, with the MS-DOS disk not inserted, you will boot up to MS-DOS.

8. Run btsect25.bat from the MS-DOS floppy-CD you created. This stores a copy of the current bootsect.dos on the root directory of the C: drive (MS-DOS C: drive; will appear as D: in Windows).

9. Now it is time to get Windows booting again. Insert the Microsoft Windows Vista CD and reboot. Load into Windows Setup.

10. Choose Repair Installation, and choose Command Prompt from the list of choices. Boot repair, unfortunately, does not actually fix this problem.

11. Type "E:" at the command prompt, where E is one greater than the number of partitions you have on your hard disk (in this example, you only have C: and D:smile:. Any flash drives or CD's attached will start above this phantom partition in letter.

12. Type "cd boot" from the E:\ prompt.

13. Type "bootsect /nt60 C:" to restore the NT boot manager as the boot device of the C: partition. This should result in the computer booting up to the Vista bootloader (may boot directly into Vista if you only have one Vista installation - I messed up and had two already so I'm not sure). If it doesn't work, repeat steps 10-13, except with "bootsect /nt60 D:" in step 13. I did both at the same time, but I think C: is the one that was effective.

14. Restart into Windows. Start up EasyBCD. Add a Windows entry on drive D: with Windows 95/98/ME selected as the operating system. It should find the bootsect.dos on the root directory of your MS-DOS drive (appearing as D: from within Windows) and add the entry successfully. At the next reboot, you should have your choice of MS-DOS or Windows.


Addendum:

GUIDE: HOW TO DUAL-BOOT MS-DOS 6.22 and VISTA

1. Back up all your data.

2. Download btsect25.zip from this, and create as MS-DOS startup disk one with all the files from the original MS-DOS floppy as well as the three extracted from this ZIP file. I used WinImage to create the MS-DOS floppy image (you can extract from images as well), and CDBurnerXP to burn the floppy-CD's. Then also burn the MS-DOS floppy-CD's two and three with only the original files on them. Note that you should label the first disk "Disk 1" (that's six spaces), and the subsequent ones "Disk 2" and "Disk 3" so they pass the MS-DOS disk check during install. Labeling can be done from within CDBurnerXP - just rename the disk below the burn button before burning.

3. Install MS-DOS from the CD's (which it accepts as floppies, and were assigned the A: drive thanks to their being virtual floppies).
*NOTE: MS-DOS will insist on formatting your first partition to FAT16 - which means it will wipe your hard drive. Hence why step one is to back up your data.

At this point, you have an MS-DOS computer with 2 GB of FAT16 allocated hard drive space.

4. Reboot with the MS-DOS install disk one floppy-CD in the CD drive. MS-DOS setup will begin. Press F3 twice after it loads up to exit setup. This will take you to an A: prompt - but you can freely access C:.

5. Run btsect25.bat from the MS-DOS floppy-CD you created. This stores a copy of the current bootsect.dos on the root directory of the C: drive.

6. Now it is time to get Windows installed. Insert the Microsoft Windows Vista CD and reboot. Install Windows Vista to a new NTFS partition (making sure you do not alter the FAT16 DOS partition).

After install, your computer will boot into a fresh install of Windows, with nothing installed (so long as your backup disk provider was kind enough not to include bloatware on the OS disk, at least).

7. Enter Windows. Download and start up EasyBCD. Add a Windows entry on drive D: with Windows 95/98/ME selected as the operating system. It should find the bootsect.dos on the root directory of your MS-DOS drive (appearing as D: from within Windows) and add the entry successfully. At the next reboot, you should have your choice of MS-DOS or Windows.

Note that I have not actually tested this exact sequence; however, I believe it is the efficient way to accomplish the method.
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#13
Awesome job, thanks Quintillus!!

I think I have a workaround for the FAT16/data-loss thing: can't you use a partition manager to create the active, primary partition as FAT16 yourself, thereby manually saving the rest of your data?

Anyway, thanks so much for this, it would've taken me days to get that done!
 
#14
Awesome job, thanks Quintillus!!

I think I have a workaround for the FAT16/data-loss thing: can't you use a partition manager to create the active, primary partition as FAT16 yourself, thereby manually saving the rest of your data?

Anyway, thanks so much for this, it would've taken me days to get that done!
Thanks!
As to the question, I'm not sure. I'm not too familiar with exactly what "active" or "primary" partition means. Perhaps creating a new FAT16 partition and making it the "active" and "primary" partition would work? On the other hand it might insist on installing at the beginning of the drive, in which case Windows would have to be offset by a few megabytes at least. All I know for sure is that it won't create a partition away from the beginning of the hard drive itself - I had 49 GB of unallocated space after my Windows Vista install when I first attempted to install MS-DOS.

Here's what my current hard disk situation is:



G: is my flash drive. The other five are all hard disk partitions. All are primary. I thought there was a maximum of four primary partitions on one physical hard drive, but apparently I was able to create five.

The first, unlabled drive is my Ubuntu swap file drive in ext3 format. The second, also in ext3, is Ubuntu 7.10 (Gutsy Gibbon). I haven't yet read up on how to get Ubuntu booting beyond Grub, but that I ought to be able to figure out with a bit of reading (no need for explanation here - at least yet). Windows reports them as all unused space, but Ubuntu is installed - Windows doesn't seem to do well at all with ext3 partitions. Ubuntu currently uses 637 KB of RAM - like Bill Gates said, who needs more than 640KB :grinning:?

C: is Windows Vista SP1, my primary operating system. I'm currently using the Vista bootloader, which I assume is on C: and is why this is the "boot" partition.

F: is Windows Vista RTM, which I installed after I initially messed up the Vista boot with MS-DOS in order to search the Web to figure out how to fix it. Currently has almost nothing else installed.

D: is MS-DOS 6.22. It is both the system and active partition, despite the fact that Vista SP1 is my currently running system.

The drive letters get all switched when I boot another OS. Vista RTM and MS-DOS both refer to their own drive as C:, and MS-DOS cannot read the NTFS drives. MS-DOS can however read my USB flash drive perfectly well (I'm guessing it's FAT16), and refers to it as D:.

---------------

My latest adventure, rather than trying to get Ubuntu working, is getting Windows 3.11 working. At first I wasted a good deal of time trying to install from floppy-CD's as I did with MS-DOS. For some reason MS-DOS (and thus setup.exe for Win3.11) didn't refresh the CD's contents when I put a new one in (even given time) and thus I could never get past disk 1. However, a tip to put all Windows 3.11 files in one directory and to setup from there worked. I put all 462 files in one directory on my flash drive (just under the 512 file eight-dot-three limit if that applies to non-root directories), and the install went perfectly, without even prompting for a new disk.

However it doesn't work quite so perfectly. I have to run Windows in Standard Mode (rather than 386 Enhanced) or it suddenly goes blank when the Windows 3.11 splash screen is up and start beeping quite loudly if I press too many keys. It also doesn't display a mouse cursor, which somewhat impairs mobility. I'm not sure how much Standard Mode affects performance - the mouse is a more immediate concern - but I might be back later with a report on my success or lack thereof. If I can get it working correctly I'll add to the MS-DOS guide.

Still not sure why MS-DOS likes my USB flash drive - thought Win98 was the first with USB support - but I'm not complaining if something works better than it's supposed to.
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#15
Ext2 IFS For Windows

Try that. It should allow the ext2 partitions to be recognized in Windows. :wink:
 

mqudsi

Mostly Harmless
Staff member
#16
Just be careful with that - it used to BSOD Windows Vista when I last tried it (maybe Dec. 06?). I don't know if it's been verified Vista compatible since.
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#17
It doesnt show Vista. Jsut XP and 2003. Hopefully they will update it soon though.
 
#18
Hallo,
Here how I boot DOS from se7:
- The idea is quite simple, it should work for everybody:
vista bootloader --> xp bootloader --> bootsect.dos

Notes
- Actually I did it by experimenting with se7, but there is no difference with vista.
- I used a new laptop with sata disk

Preparation
I made few years ago an image from my DOS drive, containing already all what I need, that keeps things quite simple. The partition should be primary and the first one on the disk, (HD0,0).
It contains also a bootsect.dos, a file containing the first 512 bytes of the partition. I copied elsewhere this file for future use.
You can do now the same thing by installing dos on your blank hd and saving the partition image.
After making my disk again blank, I made a partition for vista leaving unpartitioned the disk begin, let say the first 200 or 500 Mb.

I installed se7 on the partition, after that I copied in the root dir an xp bootloader and a bootsect.dos.
Finally I restored the dos image on the unpartitioned space on the begi of my disk.
I made a very liberal use of restarting windows.
DONE!

Actually my vista is my first partition, (HD0,0) and dos the second one, (HD0,1) but (HD0,1) is on the begin of the hd.

Configuration:
- EasyBCD

Entry #1
Name: Windows 7
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

Entry #2

Name: DOS
BCD ID: {576621b4-8cf9-11de-9f04-edcbde44c3b5}
Drive: C:\
Bootloader Path: \NTLDR

- boot.ini

[boot loader]
timeout=0
default=C:\bootsect.dos
[operating systems]
C:\bootsect.dos = ""
multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows NT Unknown version (on Volume 1)"

- config.sys and autoexec.bat on the dos drive:

configure them according with your needs and have fun!
 

Terry60

Knows where his towel is.
Staff member
#19
Thanks for the tutorial Capo, I'm sure it will be a useful reference for future enquiries.