Config.Sys Multi-OS Boot

Posted on 2005-04-22
Last Modified: 2013-12-28
I am developing a boot menu for Win98 that will select between two separate items.

I am using the menu commands in Config.Sys to do this.

I am using menuitem, menucolor, and menudefault.

What I need to do is modify the menu title and possibly add a text description between the title and the first menu item.

How can I do this????

Question by:srodolff
    LVL 13

    Expert Comment

    It would be helpful to include your existing code.
    LVL 1

    Author Comment

    Here it is:




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

    device=himem.sys /testmem:off

    LVL 20

    Expert Comment

    -..."What I need to do is modify the menu title and possibly add a text description between the title and the first menu item"

                It's just matter of wording you're going to use in [MENU] section of config.sys file !
    You can just edit the line for the item you want to change and alter the words used in menuitem line pertaining to the configuration you want to alter.
    for instance to change menuitem line :


    to display  word CHANGED instead of SYSTEM , and  DESCRIPTION FOR CHANGED instead of SYSTEM SOFTWARE LOAD
    just remove "SYSTEM,SYSTEM SOFTWARE LOAD"  and edit the line to read:


    so on next reboot menu options  will display words "CHANGED"  for the bootconfiguration
    and "DESCRIPTION FOR CHANGED" as an detailed information ( text description)  for users
    *****NOTE !!! **************************************************************************
    DONT FORGET TO CHANGE  [SYSTEM] section  to reflect the changes you made in menuitem line you edited e.g.:
    [SYSTEM]   section of config.sys file should be reedited to
    Of Course the word "changed" I used here is just an example; you can choose your word that better describes boot configuration option you're about to apply to your config.sys file.

    good luck
    LVL 13

    Expert Comment

    I cannot help you with the dual boot code, but I can give you an idea how to organize the existing statements.

    Windows/dos expects the following as the first two statements:
    device=C:\WINDOWS\himem.sys /testmem:off
    FILESHIGH = 10
    STACKS= 9,256 NOT NEEDED  system default
    Lastdrive = z  Should be the letter past your last drive letter.
    Device = oakcdrom.sys /d:mscd001 Not needed

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

    REMdevice=himem.sys /testmem:off  Not needed

    Here is a dual boot manager that I use for three master drives. Since I do not use partitions, I have not tried to use it on partitions.,fid,22524,fileidx,1,00.asp

    LVL 38

    Expert Comment

    LVL 38

    Expert Comment

    To be perfectly honest, I don't really see the purpose of your new menu.

    Option 1 = Don't test the reliability of the extended memory but load DOS CD-Driver which isn't needed in a Windows Environment anyway.

    Option 2 = Don't test the reliability of the extended memory.

    What exactly are you trying to achieve using the new menu options?
    LVL 20

    Expert Comment

    (@ BillDL)
    I was wondering too why would anybody use different memory configuration via config.sys tweaks .
    I know it works perfectly well in MS-DOS ( up to ver. 6.22)
    I've just tried to privide the answer to the question asked.
    I analised option too and they seem to be unnecesary in Win98 environment . I understoon the config.sys sample just like that an EXAMPLE.
    Client might want to do something in plain MS-DOS environment ( who knows).
    Question was :HOW TO CHANGE THE "TITLE" AND OPTION DESCRIPTION  ("text description")
    And I think my answer does do job.

    good luck
    LVL 38

    Expert Comment

    Yes, I agree.  Your details answer the question perfectly - and more.
    I'm just curious about the configuration settings.  I reckon you are probably right about the alternative Full DOS boot option, given the question title "Config.Sys Multi-OS Boot".
    LVL 1

    Author Comment

    Let me clarify.

    The boot menu is designed to reload a Ghost image onto a laptop.
    That is why I need the CDROM driver so that Ghost 8.0 in DOS mode can see the CD drive where the image is.

    I turned of the testmem off because of speed of boot is preferred (I am booting from a bootable CD).

    I am purely asking how to change the TITLE of the menu.
    The default is "Microsoft Windows 98 Startup Menu"

    As the final image is Win XP, I didn't want to confuse the non-techies with any mention of Win 98.

    The Microsoft site contains the following page:

    If you scroll down to the image, you will notice that the title reads "Brian's Emergency Repair Disk".

    How is this done???

    BTW, thanks for the helpful suggestions. Sorry I wasn't clear enough.
    LVL 1

    Author Comment

    One more point.

    I'm using a bootable DVD. As you may know, making a DVD bootable means copying a floppy image onto the boot sector.
    Without the CDROM driver, you cannot access the DVD other than the boot sector (Drive A).

    The plot thickens......

    LVL 38

    Expert Comment

    Are you sure that you aren't referring to the Windows 98 Startup Menu that shows when you press the F8 Key early in the boot process?

    If so, then this is the one that runs from the following places:

    On a Win98 Boot Floppy:

    menuitem=CD, Start computer with CD-ROM support.
    menuitem=NOCD, Start computer without CD-ROM support.
    menuitem=HELP, View the Help file.


    IF "%config%"=="NOCD" GOTO QUIT
    IF "%config%"=="HELP" GOTO HELP
    LH %ramd%:\MSCDEX.EXE /D:mscd001 /L:%CDROM%

    IO.SYS on the floppy shows the "Microsoft Windows 98 Startup Menu" title and config.sys loads the menu items.  Autoexec.bat is sent back the choice made from the config.sys menu, and jumps to the appropriate label in the batch file (QUIT, HELP, or just continues the flow) where different configuration settings are pre-set.

    In the Windows 98 Boot Process

    I am pretty sure that I am correct in saying the order that the system files are processed at boot is:
    IO.SYS, WINBOOT.INI (if present), MSDOS.SYS, CONFIG.SYS, COMMAND.COM, AUTOEXEC.BAT, so any additional user-specified entries in msdos.sys will be processes before those in config.sys.

    The file C:\IO.SYS (non-editable except in a Hex Editor) loads the "Microsoft Windows 98 Startup Menu" if the F8 key is pressed during boot, OR if the line "BootMenu=1" is detected in the file C:\MSDOS.SYS.  It also detects if any of the following instructions are in MSDOS.SYS, and responds accordingly:

    BootMenuDelay=7 (seconds boot menu waits for user input before choosing default option 1)
    Bootkeys=1 (show legend along bottom of screen and allow respective keyboard shortcuts)
    Logo=0 (don't show Win98 splash logo)

    1. Normal
    2. Logged (\BOOTLOG.TXT)
    3. Safe mode
    4. Safe mode with network support
    5. Step-by-step confirmation
    6. Command prompt only
    7. Safe mode command prompt only
    8. Previous version of MS-DOS

    Option 4 only appears if the line "Network=1" exists in the [Options] section of MSDOS.SYS.

    BootKeys=1 Legend:

    F5=Safe mode Shift+F5=Command prompt
    Shift+F8=Step-by-step confirmation

    Depending on the option selected from the Boot menu, the appropriate


    So, to answer your question directly, the Menu Title "Microsoft Windows 98 Startup Menu" is contained in the file IO.SYS and you have to know how to use a Hex Editor to modify it.

    It actually contains the lines:

    Microsoft Windows 98 Startup Menu

    Enter a Choice:

    and the actual Menu ITEMS are created in between those lines depending on what you set in config.sys.

    "Brian's Emergency Repair Disk"
    "Microsoft Windows 98 Startup Menu"

    Most pieces of advice you will encounter when creating Boot CD's is to avoid any fully-qualified paths to driver files.  In other words, you shouldn't state the drive letter in the path.  Instead you should make it a "relative" path by only specifying the file name relative to the file that is referencing it.

    For instance, "Brian's" config.sys file is intended to create a boot FLOPPY, so it's OK (although unnecessary) to specify:

    device=a:\bpcddrv.sys /d:bpcddrv$

    This points it to the bpcddrv.sys CD-Rom Driver ONLY on the A:\ Drive.

    His autoexec.bat specifies this using the path=a:\ line, so when any command is called, it will look at the A:\ drive if the command references a file quoted without a full path.

    If you are really serious about creating a bootable CD/DVD, then I suggest that you have a read at the following detailed pages:  <------- **

    Perhaps THIS is exactly what you are looking for:

    Bootable Ghost restore CD-Rom "ELGHOST"
    LVL 38

    Expert Comment

    Also read this section:

    "..limit Ghost's capabilities so that your users do not have full access to Ghost's features.
    You can configure the Ghost edition that is stored on the CD ROM to enable only image file restoration, thus removing the possibility of the end users attempting to use the other functions of Ghost. Edit the license file (ghost.env) like this: ...."
    LVL 38

    Accepted Solution

    Other good references:
    Scroll down to the section headed "BEGIN FINDDRV.BAT" and then read just above it and then onwards for details on a batch filer that will return the drive letter of the CD-Rom.
    Also here: and

    Here's a program that seems to be able to modify specific lines in binary files, specifically IO.SYS.
    The process discussed on the page is for the creation of a modified boot floppy for forensic purposes, but the program file XCHANGE.EXE is used:

    Scroll down to the batch file label  :modify and you will see some references to this.

    The program file XChange.exe is included in the download:

    Syntax for Xchange.exe:

    XCHANGE [/i] fspec "[srchstrng][^[x]chr,][...]" ["[replstrng][^[x]chr,][...]"]

    XCHANGE [/i] fspec @scriptfil   or   XCHANGE [/i] fspec "srchspec" @imagefil

    Switch /i = ignore case (can be in any parameter position)

    chr = ASCII.
    Search and replace strings can be any combination of literals and ^-prefixed, comma-delimited ASCII codes (^0 through ^255 or ^x00 through ^xFF).  Double-up a literal ^ or , within a string. Quotes may be omitted if there are no spaces within strings.
    Script file has quoted search and replace string specs on one line; script or image file 65,534 chars max; search string 4,095 chars max.
    ZIP file embedded path change must include highest embedded directory level, and each altered ZIP file must be fixed with PKWare's PKZIPFIX before use.
    For ZIP modification to work, the first zipped file must have the sought path.

    Echoes "Changed" or "Not Changed" to visually indicate outcome.
    Return errorlevels:
    0 = changed,
    1 = not changed
    2 = unable to rewrite/del
    3 = syntax or memory error
    4 = file not found
    5 = error during read/write
    6 = insufficient disk space
    7 = read-only file
    8 = write-protected.

    When wildcards are used, highest level for the file group is returned.

    Phew, that's a mish-mash, so going back to the batch file detailed on the above page, here's the explanation by the author (edited in reference to io.sys only and showing respective command lines):

    1. io.sys is copied to io.fbd

    attrib -h -r -s io.sys
    xcopy io.sys io.fbd

    2. All incidences of "C:\" are changed to "A:\", instances of ".bin" and ".ini" are changed to ".xyz", and "Starting Windows 9x" is changed to "Booting Forensic OS":
    Xchange /i  io.FBD C:\ A:\
    Xchange /i  io.FBD .bin .xyz
    Xchange %1:\io.FBD "Starting Windows 95" "Booting Forensic OS"

    3. Test if modifications worked using the program file SEEK.EXE also included in the download:

    seek io.FBD C:\
    if errorlevel 1 echo *** modification did not work ***
    seek io.FBD "Starting Windows 98"
    if errorlevel 1 echo *** modification did not work ***

    4. If successful, now overwrite io.sys with the modified file io.FBD using the program OCopy.exe (also included in the download.  This program overwrites the existing file using the same storage allocation rather than normal DOS COPY which deletes any existing file of the target name and re-creates the file in a new storage area):

    ocopy io.FBD io.sys
    :: Test for success
    if errorlevel 1 echo *** file overwrite of io.sys failed ***

    5. Cleanup

    attrib +r +s +h io.sys
    if exist io.FBD del io.FBD

    OK, so I've just made a copy of my C:\IO.SYS file to a folder containing XCHANGE.EXE and OCOPY.EXE, and then run the following batch file from the same folder (In a DOS Window - not FULL DOS):

    @echo off
    attrib -h -r -s io.sys
    xcopy io.sys io.fbd
    Xchange io.FBD "  Microsoft Windows 98 Startup Menu" "  Microsoft Windows 98 Startup Menu"
    ocopy io.FBD io.sys
    attrib +r +s +h io.sys
    if exist io.FBD del io.FBD

    This has successfully changed the menu Title from "Microsoft Windows 98 Startup Menu" to "Microsuck Windows 98 Screwup Menu".

    NOTE:  As this title appears in IO.SYS, it seems to have 2 leading blank spaces, so I have included them in the text strings above.

    I have deliberately matched the number of characters because I fear that changing this MIGHT alter the file and corrupt it.

    Here goes, wish me luck :-)
    LVL 1

    Author Comment



    IO.SYS is the answer that I was looking for. I changed 98 to XP (not as creative as and it worked like a charm.


    And Boy! You worked overtime of this one........double points for you!!

    LVL 20

    Expert Comment

    Congrats , BillDL!
    I've been messing arround with my WIn98 laptop to figure it out where "Microsoft Windows 98 Startup Menu" string is located and where is it called from .
    You gave us a good lesson about bootstrap process in WIn98.
    Nice job!
    Thank you!

    LVL 38

    Expert Comment

    Thank you, srodolff and nedvis.

    **** WARNING ****

    I edited my IO.SYS on a friend's Windows 98se boot floppy a long while ago for a laugh (new colours, and a filthy greeting), but I now recall that there was one problem that I encountered while doing this in a hex editor.

    I've just been messing with my C:\IO.SYS file (not recommended but I made a backup I was easily able to reistate from DOS again) and the same old problem reared its head.

    IF you make the Menu Title with any more or any less characters than the original "Microsoft Windows 98 Startup Menu", IO.SYS will NOT load.

    More characters and you get a strange dark red screen with a large border.
    Less characters and it freezes at the cursor with no other screen output.

    I've just decided to leave mine with:
    "Microspoof Windows 98 SE Options:"
    rather than reboot to DOS for the 10th time  :-)

    LVL 5

    Expert Comment

    I like to watch.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    IT, Stop Being Called Into Every Meeting

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    This article The purpose of this article is to suggest some tips for common messed up installations and uninstallations, and related registry entries. If you have a windows machine with reported duplicate programs, phantom (missing) programs, or…
    Windows Mobile Barcode Scanning These days almost every product has a barcode in some way... amongst there are 1D barcodes en 2D barcodes.. From I found some handy definitions and insights. 1D barcodes …
    Windows 8 comes with a dramatically different user interface known as Metro. Notably missing from the new interface is a Start button and Start Menu. Many users do not like it, much preferring the interface of earlier versions — Windows 7, Windows X…
    With the advent of Windows 10, Microsoft is pushing a Get Windows 10 icon into the notification area (system tray) of qualifying computers. There are many reasons for wanting to remove this icon. This two-part Experts Exchange video Micro Tutorial s…

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    15 Experts available now in Live!

    Get 1:1 Help Now