Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What config.sys + autoexec.bat to boot DOS 7.1 on system with 4 gb ram?

1,385 views
Skip to first unread message

Human Being

unread,
Aug 9, 2015, 9:00:50 PM8/9/15
to
Smartdrv.exe says that it's not loading because it claims there is no
XMS memory
available to it.

My config.sys is:

DEVICE=C:\DOS\HIMEM.SYS /verbose
DEVICE=C:\DOS\EMM386.EXE NOEMS VERBOSE
DOS=HIGH,UMB,NOAUTO
BUFFERSHIGH=50,0
FILESHIGH=50
STACKSHIGH=32,512
SWITCHES /F /W
BREAK=ON

Autoexec.bat is:

LH C:\DOS\SMARTDRV.EXE A- B- C+ /V 4096 4096 /E:8192 /B:8192

This is DOS 7.1 (the DOS that came with win-98se).

I've reduced config.sys by removing:

BUFFERSHIGH=50,0
FILESHIGH=50
STACKSHIGH=32,512

but smartdrive still doesn't load. The mem command seems to show that
DOS doesn't understand how much XMS ram there is, or doesn't know how to
use it. I don't want to pull any ram out of the system to get this to
work. What other tricks can I try?

Rod Pemberton

unread,
Aug 9, 2015, 9:21:28 PM8/9/15
to
On Sun, 09 Aug 2015 20:59:58 -0400, Human Being <Hu...@being.org> wrote:

> Smartdrv.exe says that it's not loading because it claims there is no
> XMS memory
> available to it.
>
> My config.sys is:
>
> DEVICE=C:\DOS\HIMEM.SYS /verbose
> DEVICE=C:\DOS\EMM386.EXE NOEMS VERBOSE
> DOS=HIGH,UMB,NOAUTO
> BUFFERSHIGH=50,0
> FILESHIGH=50
> STACKSHIGH=32,512
> SWITCHES /F /W
> BREAK=ON
>

Do you have a LASTDRIVE command set?

LASTDRIVE=Z

> Autoexec.bat is:
>
> LH C:\DOS\SMARTDRV.EXE A- B- C+ /V 4096 4096 /E:8192 /B:8192
>
> This is DOS 7.1 (the DOS that came with win-98se).
>
> I've reduced config.sys by removing:
>
> BUFFERSHIGH=50,0
> FILESHIGH=50
> STACKSHIGH=32,512
>
> but smartdrive still doesn't load. The mem command seems to show that
> DOS doesn't understand how much XMS ram there is, or doesn't know how to
> use it. I don't want to pull any ram out of the system to get this to
> work. What other tricks can I try?
>

First, I'd try Smartdrv without so many options with
as few as possible to see if that works.

Next, if it doesn't, I would try commenting out all lines
except HIMEM.SYS, and loading SMARTDRV in config.sys too,
if possible. That's to set a baseline to see if the
combination is working and it's not an insufficient memory
issue.

If it does, then restore your setup and try commenting
out the EMM386.EXE and DOS=HIGH lines with REM . Maybe,
SMARTDRV is trying to use the same HMA region and there
isn't enough available.

If it still doesn't work, try reducing the STACKSHIGH.
I use STACKS=12,512 with Windows 98/SE, and that's probably
excessive. You could try STACKS instead of STACKSHIGH too.

Finally, maybe try an alternate XMS server such as HIMEMX.EXE.

My config.sys is just this:

DEVICE= ; XMS driver
FILES=50
BUFFERS=40
STACKS=12,512
LASTDRIVE=Z

I toggle the DEVICE= line between HIMEM.SYS and HIMEMX.EXE
as needed. I.e., need HIMEM.SYS to install Windows 98/SE,
but use HIMEMX.EXE otherwise.

I use DDL or DEVLOAD to load other drivers vis .bat files.


Rod Pemberton

--
Scientists now say we'll experience a mini-ice in 2030.
So, I guess we need more global warming today ...

Sjouke Burry

unread,
Aug 9, 2015, 10:14:02 PM8/9/15
to
Below a working copy of doc7.1 boot config.sys:

device=himem.sys /testmem:off
device=oakcdrom.sys /D:mscd001

files=10
buffers=10
dos=high,umb
stacks=9,256
lastdrive=z

Human Being

unread,
Aug 9, 2015, 10:43:24 PM8/9/15
to
Config.sys is now this:

DEVICE=C:\DOS\HIMEM.SYS /verbose
DEVICE=C:\DOS\EMM386.EXE NOEMS VERBOSE
DOS=HIGH,UMB,NOAUTO
DEVICE=C:\DOS\smartdrv.exe

Nothing in autoexec.bat. No CD drives in this system.

Here is output from mem /c

Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 24,288 (24K) 24,288 (24K) 0 (0K)
HIMEM 1,120 (1K) 1,120 (1K) 0 (0K)
EMM386 4,320 (4K) 4,320 (4K) 0 (0K)
SMARTDRV 2,976 (3K) 2,976 (3K) 0 (0K)
COMMAND 7,168 (7K) 0 (0K) 7,168 (7K)
Free 660,928 (645K) 612,320 (598K) 48,608 (47K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 645,120 32,800 612,320
Upper 55,776 7,168 48,608
Reserved 0 0 0
Extended (XMS) 3,656,230,4 ? 0
---------------- ----------- ----------- -----------
Total memory 3,656,931,3 ? 660,928

Total under 1 MB 700,896 39,968 660,928

Largest executable program size 612,304 (598K)
Largest free upper memory block 28,656 (28K)
MS-DOS is resident in the high memory area.

Smartdrv appears to be loaded (or some stub of smartdrv is loaded) but
when issued from the command prompt, smartdrv says it's not loaded due
to insufficient XMS memory.

himem.sys, emm386.exe and smartdrv.exe are all from win-98se (4/23/99).

I've heard of himemx before - I'm pretty sure I've even used it on a
win-98se system with 1 gb ram. I'm going to try that next.

Human Being

unread,
Aug 10, 2015, 12:58:06 AM8/10/15
to
Human Being wrote:

> I've heard of himemx before - I'm pretty sure I've even used it on a
> win-98se system with 1 gb ram. I'm going to try that next.

With himemx replacing himem.sys, I get this:

============
Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 14,080 (14K) 14,080 (14K) 0 (0K)
HIMEMX 2,128 (2K) 2,128 (2K) 0 (0K)
EMM386 4,320 (4K) 4,320 (4K) 0 (0K)
SMARTDRV 2,976 (3K) 2,976 (3K) 0 (0K)
COMMAND 10,064 (10K) 0 (0K) 10,064 (10K)
Free 667,232 (652K) 621,520 (607K) 45,712 (45K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 645,120 23,600 621,520
Upper 55,776 10,064 45,712
Reserved 0 0 0
Extended (XMS) 67,052,064 67,052,064 0
---------------- ----------- ----------- -----------
Total memory 67,752,960 67,085,728 667,232

Total under 1 MB 700,896 33,664 667,232

Largest executable program size 621,504 (607K)
Largest free upper memory block 28,656 (28K)
MS-DOS is resident in the high memory area.
================

Smartdrv.exe still is not happy:

There is insufficient XMS memory to load SMARTDrive.

I try the /X2MAX32 switch - it does nothing.

I then do this:

DEVICE=C:\DOS\HIMEMX.EXE /MAX=512000

Smartdrv.exe is ok with that - but I learn that after invoking it.
Because it doesn't seem to start from config.sys, but instead it starts
from autoexec.bat.

Here is mem/c report:

=================
Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 14,064 (14K) 14,064 (14K) 0 (0K)
HIMEMX 2,128 (2K) 2,128 (2K) 0 (0K)
EMM386 4,320 (4K) 4,320 (4K) 0 (0K)
SMARTDRV 24,016 (23K) 15,808 (15K) 8,208 (8K)
COMMAND 10,064 (10K) 0 (0K) 10,064 (10K)
Free 646,192 (631K) 608,688 (594K) 37,504 (37K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 645,120 36,432 608,688
Upper 55,776 18,272 37,504
Reserved 0 0 0
Extended (XMS) 67,052,064 ? 519,274,496
---------------- ----------- ----------- -----------
Total memory 67,752,960 ? 519,920,688

Total under 1 MB 700,896 54,704 646,192

Largest executable program size 608,640 (594K)
Largest free upper memory block 28,656 (28K)
MS-DOS is resident in the high memory area.
========================

Before I got smartdrive working, I was not able to install XP. After 3
hours I wasn't sure if XP was hung during the text "DOS" phase of file
copying. Turns out it was probably still copying files (even though it
was installing from a directory on the hard drive).

(used nLite to graft the SATA driver into the XP-CD source directory in
case you're wondering. Did that while the drive was slaved to an XP
desktop system)

With smartdrive working, I started the XP install process again, and
sure enough it flew through the file copying and did not hang. So I can
now dual-boot into DOS and XP, and XP is installed on a 50 gb FAT32
partition with 4kb cluster size (courtesy of Western Digital Lifeguard
tools booted from a floppy). So when I want to tinker with the file
system, I have full command-line access to it without resorting to some
wierd-ass ubuntu or recovery console bullshit.

Here's a picture of the system:

http://www.technikaffe.de/anleitung/zotac_zbox_id18_mit_xbmc_2.jpg

It has Intel Celeron 1007U (dual core, 1.5 ghz, 17 watts power).
Passmark CPU-Mark score of 1421 (about 1/2 the performance of a Core
i5-2410M @ 2.30GHz, and also half the power).

Picked it up new, on sale for $130. Comes with no ram or hard drive.
Picked up a 4 gb SODIMM stick for $26, 500 gb WD hard drive for $55.
Used one of my XP-SP3 System Builder CD's (I have a few dozen unused
product keys at my disposal). The Zotac driver CD came with all drivers
for XP, including USB-3.

Human Being

unread,
Aug 11, 2015, 8:28:43 PM8/11/15
to
So here's the scoop:

If you're booting dos (my idea of DOS is the one that came with win-98,
aka DOS 7.1 - because what's the point of using an earlier version?)
where was I ...

Oh yea. If you're booting dos, and your config.sys includes emm386,
then you're going to have to include the "/numhandles" parameter on your
himem.sys line if the system has more than 2 gb of ram.

When it comes to emm386 and himem.sys, there's version 2 function calls
and version 3 function calls. Himem.sys supports version 3, emm386
supports version 2. Version 2 handles support up to 64 mb per handle.
Himem.sys defaults to something like 40 handles unless you specify
differently. Under version 2, that works out to something like 2.5 gb.

Now emm386 is cracked because when invoked it allocates all XMS memory
and then releases most of it. But if a system has more than 2.5 gb then
a "no more handles" error happens (which it doesn't report) and then it
doesn't release any XMS memory, and hence smartdrv complains about
having no XMS memory when it loads.

So there's 2 ways around this. One is to double the number of handles
to, say, 80 by adding "/numhandles=80" argument to himem.sys, or just
not invoke emm386 in the config.sys.

One more thing. Some say smartdrv.exe has a bug that can corrupt
partitions larger than 128 gb. I've had many FAT32 volumes MUCH larger
than 128 gb (on SATA drives) attached to various systems that boot dos
occasionally and I know that smartdrv was part of the boot and I've
never experienced any such corruption.

And another thing. Installing an NT-based OS on a system by pre-loading
a FAT32-formatted hard drive with the CD-image of the installation CD
and making the drive DOS bootable is an often overlooked way of
installing Windows. When it comes to NT4 and Win-2k, not having
smartdrv loaded as part of the dos boot will make the windows install
take a few extra minutes. However, with XP and higher, the dos or
"text" phase of windows install will take HOURS because of the insane
number of small read/writes that winnt.exe does.

And since most systems these days will have 4 or more gb of ram, it's
important to boot with smartdrv if you're doing this sort of install.

Rod Pemberton

unread,
Aug 12, 2015, 1:56:51 AM8/12/15
to
On Tue, 11 Aug 2015 20:28:02 -0400, Human Being <Hu...@being.org> wrote:

> Some say smartdrv.exe has a bug that can corrupt
> partitions larger than 128 gb.

smartdrv and doublespace are two things I seriously avoid.

I've experienced problems with smartdrv. I don't know
what the cause was. It seemed like it would lose tracks
or not flush data. This would occur during heavy use,
e.g., install Windows 98/SE, copy entire drive, running
scandisk.exe etc.

> I've had many FAT32 volumes MUCH larger than 128 gb
> (on SATA drives) attached to various systems that
> boot dos occasionally and I know that smartdrv was
> part of the boot and I've never experienced any such
> corruption.

I currently have a 130GB FAT32 partition with Windows 98/SE
and MS-DOS v7.1. I'm not sure what the maximum size is for
FAT32. Of course, I've updated 98/SE over the years with
MS updates and unofficial updates from MGDX website and
KernelEx. So, it's possible I have an updated fdisk,
format, etc to allow the large partition.

> And another thing. Installing an NT-based OS on a system
> by pre-loading a FAT32-formatted hard drive with the CD-image
> of the installation CD and making the drive DOS bootable is an
> often overlooked way of installing Windows. When it comes to
> NT4 and Win-2k, not having smartdrv loaded as part of the dos
> boot will make the windows install take a few extra minutes.
> However, with XP and higher, the dos or "text" phase of windows
> install will take HOURS because of the insane number of small
> read/writes that winnt.exe does.

Yes, there is some utility that comes with XP to convert
DOS partitions to NTFS, and a method that can be used to
install XP from DOS. I've not used this, but can find it
if you're not already familiar with this process.

There is also a way to merge service pack updates directly
into an updated XP install cd-rom. I've not done that
either, i.e., don't have XP.

> And since most systems these days will have 4 or more
> gb of ram, it's important to boot with smartdrv if
> you're doing this sort of install.

If you're going to boot Windows 98/SE, you need to limit
found memory to 1GB. Windows can't use it unless you
have some patched system files. To limit Windows to 1GB,
you'll need to adjust MaxPhysPage and MaxFileCache
appropriately to the XMS manager being used:

https://groups.google.com/d/msg/comp.os.msdos.misc/NiGUawoy9ZA/iT9h32DeApMJ

Rod Pemberton

unread,
Aug 12, 2015, 2:50:12 AM8/12/15
to
MDGx website has patches and updates for Windows.
You probably want NUSB, native USB drivers,
and the Unofficial Windows 98 SE Service Pack 2
from MDGx. VBEMP are universal high resolution
video drivers for 9x and NT. KernelEx extends
Windows 98/SE to run apps from newer Windows.
Kext allows additional apps to work with KernelEx.
ImportPatcher is some tool used with KernelEx.
Vogon's is a DOS gaming website. DOS Ain't Dead
is for DOS programmers as is comp.os.msdos.programmer.


MDGx 98 patches and updates
http://www.mdgx.com/upd98me.php
http://www.mdgx.com/web.htm#98SE

KernelEx
http://kernelex.sourceforge.net/

Kext
http://www.msfn.org/board/topic/157173-kext-diy-kernelex-extensions/

ImportPatcher
http://www.msfn.org/board/topic/154868-importpatcher41-find-and-fix-dependency-problems/?p=986100#entry986100

VBEMP 9x (via Wayback archive)
http://web.archive.org/web/20140906142127/http://www.bearwindows.boot-land.net/vbe9x.htm

VBEMP NT (via Wayback archive)
http://web.archive.org/web/20140830145520/http://bearwindows.boot-land.net/vbemp.htm

Vogon's
http://www.vogons.org/index.php

DOS ain't dead
http://www.bttr-software.de/forum/forum.php

Human Being

unread,
Aug 12, 2015, 10:24:13 AM8/12/15
to
Rod Pemberton wrote:

> I currently have a 130GB FAT32 partition with Windows 98/SE and
> MS-DOS v7.1. I'm not sure what the maximum size is for FAT32.

The size limit for a FAT32 volume is 2 TB, because of the ultimate limit
on the number of clusters.

> Of course, I've updated 98/SE over the years with
> MS updates and unofficial updates from MGDX website and
> KernelEx. So, it's possible I have an updated fdisk,
> format, etc to allow the large partition.

Yea, I've got all those updates too. There's even a patch for a vxd
that allows 98 to see and use more than 1 gb ram.

I'm pretty sure that the format.com that came with win-98 can handle up
to 2tb FAT32 volumes. One of the drives in my system right now is a 1.5
tb drive - formatted as a single FAT32 volume.

Fdisk, on the other hand, has seen many updates and mods over the
years. I think fdisk that came with 98 works only up to 512 gb drive
size, but displays screwy information (strange number formatting) on any
drive over 64 gb.

MS put out an updated fdisk.exe in the year 2000 (look for may 2000 in
the file-date). I think that fixed the strange number formatting - up
to 128 gb drive size.

There seems to be a large fdisk depository here:

http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/fdisk/old/

I myself use fdisk121 for the past 5 years on large drives. It works
correctly on all drives up to 2tb. There is fdisk131 but it doesn't run
on my system (not sure why).

http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/fdisk/

> > Installing an NT-based OS on a system by pre-loading a FAT32-
> > formatted hard drive with the CD-image of the installation CD
> > and making the drive DOS bootable is an often overlooked way
> > of installing Windows.
>
> Yes, there is some utility that comes with XP to convert
> DOS partitions to NTFS

When it comes to my own use, or when I install XP on systems for other
people that I ultimately have to manage, I install XP onto
FAT32-formatted volumes. NTFS is a pile of crap because of a lack of
command shell environment free of OS interference.

Formatting FAT32 using custom cluster size (like 4kb) takes away the
argument that many people use that FAT32 wastes space for small file
storage compared to NTFS. NTFS is overly complex and "busy" for the
average home or soho user. FAT32 is fully documented and there are way
more free recovery tools for it compared to NTFS. FAT32 is probably
faster because of the lack of overhead of journalling, and I think FAT32
is a better file system for SSD's compared to NTFS.

> and a method that can be used to install XP from DOS.

Boot DOS (and make sure himem.sys and smartdrv.exe are running) and
access the XP installation image (whether on a real CD or a CD image
copied to the local hard drive), change to the i386 directory and run
winnt.exe from there.

> I've not used this, but can find it if you're not already familiar
> with this process.

Um, that's what I've been describing throughout this entire thread.

The complicating fact or twist using this method that I've discovered is
that if the system has more than 2 gb ram, and the config.sys included
emm386, then smartdrv will not load, and smartdrv MUST load or the XP
installation will take HOURS.

> There is also a way to merge service pack updates directly
> into an updated XP install cd-rom. I've not done that
> either, i.e., don't have XP.

I have several original XP-SP3 cd's right from microsoft (with
holographic image). These were purchased as XP "System Builder"
versions. I also have older "system builder" CD's with SP2 and SP1
(aka "2002 version").

> > And since most systems these days will have 4 or more
> > gb of ram, it's important to boot with smartdrv if
> > you're doing this sort of install.
>
> If you're going to boot Windows 98/SE, you need to limit
> found memory to 1GB.

We're not talking about booting windows. Only DOS - to start the XP
installation from the hard drive from a pre-loaded copy of the XP
installation CD.

> Windows can't use it unless you have some patched system files.

Like I said, there's a patch for one of the VXD's that allows win-98 to
see and use something like 3.5 gb of system ram. I know about tweaking
the system files if you don't have the patch - doing that I can get
something like 1.125 gb of ram visible to 98.

Rod Pemberton

unread,
Aug 13, 2015, 12:23:30 AM8/13/15
to
On Wed, 12 Aug 2015 10:23:37 -0400, Human Being <Hu...@being.org> wrote:

> Rod Pemberton wrote:

>> [...] and a method that can be used to install XP from DOS.
>> I've not used this, but can find it if you're not already familiar
>> with this process.
>
> Um, that's what I've been describing throughout this entire thread.
>

Well, I was referring to this process:

-boot PC using MS-DOS v7.10 bootdisk from Windows 98/SE
-use FDISK from Windows 98/SE to create a FAT32 partition
-use XP's OFORMAT to align format the partition
-use XP's CVTAREA to reserve contiguous space in the partition
for NTFS metadata
-use OPK version of XP to install WinXP to FAT32 partition
-use XP's CONVERT to convert the FAT32 partition to NTFS

It appears you'd need an OPK (OEM Preinstallation Kit) version
of XP with SP3 to do that ...

>> Windows can't use it unless you have some patched system files.
>
> Like I said, there's a patch for one of the VXD's that allows win-98 to
> see and use something like 3.5 gb of system ram. I know about tweaking
> the system files if you don't have the patch - doing that I can get
> something like 1.125 gb of ram visible to 98.
>

Well, I seem to recall getting about 1.125GB of my 4GB too, but
I found that over 1GB is somewhat unreliable. Of course, I had
KernelEx installed at the time, so, YMMV.
0 new messages