Himem.sys, EMM386.EXE, and WinXP Problem

By Falcon
Apr 10, 2002
Topic Status:
Not open for further replies.
  1. Well.. I have an interesting problem. Essentially, the "problem" is that when I run some decompressing programs using the command prompt in XP (I'd call it the dos shell, but with xp there is not dos) I get an error:

    ERROR: An Extended Memory Manger is already installed.
    XMS Driver not installed.

    Now.. I upgraded from 98, so there were some himem and emm386 lines in my config.sys which stayed after the upgrade.
    However, I removed them, AND ran the XP install fix thing.. essentailly installing it again. All to no avail. As well, if I delete himem.sys, it respawns :p (EMM386 doesn't exist).
    XP should have no need of it, not having dos and all, yet I can't get rid of it, or turn it off.
    I believe it may be loading from IO.sys but I have no idea how to change that..
    Anyway.. any comments would be appreciated...

    Thanks,
    Jeremy.

    FYI: Sys specs: 40gb western digital HD on onboard promise ata100 controller. asus a7v133 MB. Asus 50x cdrom and 16x dvd on primary IDE. 256MB pc133. AMD TB 1000MHz. Network card. SB Live Value. Voodoo 5 5500.
  2. Nodsu

    Nodsu Newcomer, in training Posts: 9,431

    Sorry about my bad memory, but there is some configuration file in
    Windows or System32 folder, that sets the options used for DOS
    emulation such as himem.sys and SB emulation :blush: .
    Maybe someone with XP can look it up.

    It could be that your decompressing software is incompatible with Windows XP. Also, some software has command line switches that regulate usage of XMS and EMS.

    PS this post should really be in Windows OS section
  3. Rick

    Rick TechSpot Staff Posts: 6,304   +52 Staff Member

    When you boot into safe mode.. I assume this problem is not present?

    Try using MSCONFIG and/or SYSEDIT under Start/Run to eliminate any DOS-based drivers or software that might be loading at startup. Typing MSCONFIG in the RUN prompt will allow you to change startup items. It also allows you to edit some system files.
    SYSEDIT allows you to manually edit your system files.. Just use whatever you feel more comfortable with.
  4. Mictlantecuhtli

    Mictlantecuhtli TechSpot Evangelist Posts: 4,916   +9

    himem.sys probably "respaws" because of Windows File Protection. If the file is in %windir%\system32\dllcache, delete it also from there.
  5. Falcon

    Falcon Newcomer, in training Topic Starter

    Hmm.. I've pretty much tried all these things, though the imput is appreciated.
    I can find nothing in sysedit which might cause the problem, and himem.sys appears to only be locared in the win/system32/ folder, so I have no idea why is respawns.. :p
    Anyway.. any other suggestions would be appreciated.


    Jeremy
  6. Mac_Bug

    Mac_Bug Newcomer, in training Posts: 62

    himem.sys has always been a critical file of Windows 9x. Windows 98 functions perfectly without config.sys and autoexec.bat, but it always loads himem.sys. I presume XP MIGHT still utilize that as well.

    As for your problem, what kind of program exactly are you running?

    Windows has its own compatibility mode emulation for DOS, you can right click the file you want to launch select properties, and configure the memory settings for it.
  7. TS | Thomas

    TS | Thomas Newcomer, in training Posts: 1,327

    Himem.sys is meant to be there. I have it installed also, clean install of XP Pro. It's probably there for compatibility.
    Why not get WinRAR/Winzip/WinAce for decompressing instead.
  8. Nodsu

    Nodsu Newcomer, in training Posts: 9,431

    I looked it up, finally...

    config.sys is meaningless in Windows XP, there is a file named 'config.nt ' in
    Windows\System32 which shows what kind of environment is initialized when
    a DOS program is run. Just REM out the lines you don't want, there are also
    instructions in the beginning that say what kind of things you can define there.

    And, you can define in the properties of a DOS executable, which files to use to
    set up the environment for that specific program.
  9. Falcon

    Falcon Newcomer, in training Topic Starter

    Hmm.. well, for starters thanks guys for all the suggestions.. The last couple were usefull even if they didn't solve my problem.
    So.. himem.sys is indeed supposed to be there, we assume for compatibility, and config.sys is not used with WinXP. I had assumed the latter simply because any changes I made seemed to have no effect and a clean install leaves it blank (info via my friend).
    So.. I tried editing my config.nt file. Useful, but doesn't solve my problem. I still get the error (An EMS installed... XMS driver not) when I run the program.
    Just FYI someone asked why I didn't use WinZip or whatever... It's because the extractor and compressed file were both specifically coded for each other.. It's not a zip or ace etc.
    I'm actually running a batch file which decompresses and deletes and so on.
    So... the problem.. I actually haven't tried the compatibility function with XP yet.. I will now, but I was looking for a more permanent solution. The problem is more universal; when I type "mem" from the command window I get a error as well.
    C:\mem
    Bad command or file name
    Bad command or file name

    65536 bytes convertional... and the usual.

    So... any ideas guys?

    Thanks for all the help,
    Jeremy
  10. Nodsu

    Nodsu Newcomer, in training Posts: 9,431

    The "bad command..." suggests that something is run before the
    mem command itself.
    This very same 'config.nt' might contain some bad commands.
    I think there were some other ways to configure the DOS environment e.g. an equivalent to autoexec.bat.
    I've got to look it up again, it was a long tima ago when I messed around with XP DOS emulation.

    Which command prompt are you using, anyway? There are two of them in Windows XP. Command.com is for DOS compatibility and cmd.exe is XP native.

    Have you looked inside these batch files? Maybe they are trying to load their own memory manager that you don't really need?

    If you're really in trouble, make a bootable floppy for DOS 6.22. If the files involved are big, you'll need a FAT partition too.
  11. Ravenga

    Ravenga Newcomer, in training

    dude when u r upgradeing from ANY Win9x O/S to an NT based one it is recommented that u do a clean install
    This stops weird errors like this from poping up.
    9x and NT are well quite different and i would definitly recommend a clean install on a NTFS partition
  12. Th3M1ghtyD8

    Th3M1ghtyD8 TechSpot Paladin Posts: 794

    I would not recommend installing on an NTFS partition, especially if you are dual booting, or are new to NT based operating systems.

    What if you lock yourself out of your computer, or damage windows files so that it will not boot etc. , you can't simply copy the files off from within a dos disk, or from win9x can you?

    I made this mistake when I tried to dual boot 98 and XP Pro, i was "tweaking" my boot.ini file, (I won't go in to details why) and made Windows XP unbootable, I couldn't fix it from the recovery console or use any system restores etc. and so had to remove my win98 installation and install a 2nd copy of winXP, just to recover my files from the NTFS partition.
  13. Justin

    Justin Newcomer, in training Posts: 1,595


    Make XP Bootdisks and use the recovery console, or the emergency console.


    Having an NT based OS such as XP/NT/2k on a FAT32 partition is really dumb, IMO, and NTFS is vastly superior in so many ways. And if for some reason you do have to boot to a 9x OS or non-NTFS/FAT OS (such as linux/freebsd/etc) there are PLENTY of 3rd-party tools that enable them to read NTFS partitions. NTFS is more secure then FAT32, has many functions within that FAT32 does not, and of course is a little safer in the long run.
     
  14. Falcon

    Falcon Newcomer, in training Topic Starter

    Ok... more sane, relevant, and usefull posts - still no solution.
    Where to start...
    Ok... yes... A clean install would be a _great_ idea. I obviously would if I could. I don't really have the option yet. I have several gigs of mp3's on my HD as well as other software, docs, etc. I don't want to lose, and if you saw my sys specs I don't have a burner :(
    So, upgrade it was.
    Hmm.. so, the "mem" command. Yes, one would think it would be running other commands to the the "bad command" lines. However, it's _just_ the mem command which always just shows the memory stats.
    There's an error in my setup somewhere.
    I looked in the config.nt (thanks for that info) and saw some stuff which might have been affecting it, but I rem'd it all out. Still no good.
    As I said before, I read that the IO.sys loads the himem driver first, so it may be there.
    I also tried using the compatibility feature. No good. Either the same error or the extractor wouldn't run right.
    I also looked in the batch file.. no commands related to memory managers, just extracting, moving, deleting.. and so on.
    Hmm..
    Is that all you guys talked about? :p
    Sorry for my lenghy replies.. trying to give you all the relevant info.

    Thanks yet again for the posts,
    Jeremy
  15. Falcon

    Falcon Newcomer, in training Topic Starter

    Oh... :p
    PS.. I believe it's running in the cmd window.. I could try making it run in the command window from config.nt yes?
    I'll give that a go..

    :)
  16. Justin

    Justin Newcomer, in training Posts: 1,595


    You dont have to format at all to do a clean install :)

    As long as you have about 2 gigs of free space, you can do a clean install easily, even easier if you are still using FAT32.


    First, make sure you have a set of XP boot disks, or that your computer can boot off of CD.

    Second, boot from a DOS/w98 boot disk.

    Change to the C drive, and under the windows root (since you did an upgrade it is most likely \Windows) rename the WIN.COM file to something else.

    Then, use the MOVE command to rename the \Windows folder to something else.

    Then, either boot from the XP cds and begin setup off XP cd, or boot from the XP CD, and do an install, and do NOT select format when it give you the opportunity. XP setup also allows you to convert your drive to NTFS if you wish, or you can do this after the install.

    In case you aren't sure how to do that, here's how it works:

    Reboot machine with DOS boot disk
    After boot and once you get the A:\> prompt, Type the following:

    C: [enter]

    CD WINDOWS [enter]

    RENAME WIN.COM WIN.MOC [enter]
    (or whatever you want)

    CD ..

    MOVE C:\WINDOWS C:\OLDWIN

    It should say "ok". If it does, everything is A.O.K.


    After that, reboot from the XP boot disks or off the XP cd and bewm, you can do a clean install of XP.


    ** NOTE: You may want to rename the "Documents and Settings" folder to something else also before hand, so you don't lose any documents saved in there. To do this, before you boot into XP setup, from the C:\> prompt, use

    MOVE C:\DOCUME~1 C:\OLDDOCS

    Now, once XP has booted, your old documents will be under either the \OLDWIN or the \OLDDOCS folder on your root. Once you've found and moved everything you want out of those, you can safely delete both.

    AND - If anything goes horribly wrong, you can return to your old install by reversing the above process, assuming you didn't convert to NTFS.
  17. boeingfixer

    boeingfixer Newcomer, in training Posts: 1,245

    Here is an article I found at MS about 16 bit programs. Don't know if it will help but may be worth the read.

    MS Support
  18. Falcon

    Falcon Newcomer, in training Topic Starter

    Ah yes, I'm stupid. I did that (clean install) when I went for 95 to 98. Well.. perhaps I'll just do that when I get the time then.

    Thx,
    Jeremy
  19. Nodsu

    Nodsu Newcomer, in training Posts: 9,431

    I found the autoexec.bat equivalent for Windows XP, its in
    Windows\System32 and is called... 'autoexec.nt' (duh!, I'm really ashamed :eek: )

    The mem command is a DOS program, so XP will initialize DOS environment by parsing the config.nt and autoexec.nt files. If you upgraded from Windows 9x then the install probably copied your autoexec.bat to autoexec.nt. The 'bad command' errors are probably coming from some things that used to exist in the old Windows installation, but not any more.

    For cmd.exe, there are AutoRun entries in registry that are run on every invocation of cmd.exe, see 'cmd.exe /?' for details.

    How about posting your config.nt, autoexec.nt and these compressing/decompressing batch files here?
  20. Falcon

    Falcon Newcomer, in training Topic Starter

    I finally fixed it! Much thanks to you all, Nodsu especially.
    Anyway, I was being an ***** really.
    I was told earlier, I believe, that the autoexec.bat was .nt with XP but I cleaned my autoexec out before I upgraded, so I didn't expect any problems there.
    Anyway.. there were two conflicting sound card lines and some "mode con page" commands (which I do believe were the culprit).
    That being said, I think I'll still reinstall XP clean.. after exams.
    All the info was great though.. it's good to learn.
    Thanks guys,
    Jeremy.
    :)
Topic Status:
Not open for further replies.


Add New Comment

TechSpot Members
Login or sign up for free,
it takes about 30 seconds.
You may also...


Get complete access to the TechSpot community. Join thousands of technology enthusiasts that contribute and share knowledge in our forum. Get a private inbox, upload your own photo gallery and more.