VOGONS


GRUB4DOS help needed to boot NT4 from DOS - SOLVED

Topic actions

First post, by feipoa

User metadata
Rank l33t++
Rank
l33t++

GRUB4DOS available here: http://grub4dos.org/

I have a TI 486SXL2-66 system. It has a SCSI2SD "hard drive" setup as 3 physical hard drives with 3 different SCSI ID's. Refer to attachment.

SCSI.jpg
Filename
SCSI.jpg
File size
300.84 KiB
Views
1449 views
File license
Fair use/fair dealing exception

SCSI ID 1 = DOS 6.22/ Win3.11
SCSI ID 2 = Win95c
SCSI ID 3 = WinNT4

Each operating system on each virtual hard drive was setup not knowing of the other's existence by disabling the other SCSI ID's in software. I've since enabled all SCSI ID's as shown in the above photo. All the drives are FAT, 2 GB, including the the NT4 drive.

The SCSI host controller boots the lowest SCSI ID. There is no option I can see in the SCSI BIOS to change this. I would like to use GRUB4DOS to boot first boot to SCSI ID 1, then have the option to boot to SCSI ID 2 (win95c) and SCSI ID 3 (winNT). In DOS, the drives are

C:\ = DOS/Win3.11
D:\ = Win95c
E:\ = WinNT4
F:\ = Temp (logical secondary partition (2 GB) on SCSI ID 1)
G:\ = CD-ROM

I need to boot into DOS first so that I can setup the CPU registers of the SXL CPU and setup the PS/2 mouse function. Apparently GRUB4DOS allows this, but I cannot figure out how to make it work.

My config.sys and autoexec.bat files for C:\ are as follows:

CONFIG.SYS

NUMLOCK=ON
DOS=HIGH,UMB
LASTDRIVE=E
STACKS=9,256

DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:Off /V

DEVICE=C:\Adaptec\ASPI4DOS.SYS /P134
DEVICE=C:\Adaptec\ASPIBUF.SYS
REM ASPIBUF applies to systems with more than 16 MB when using 1540

DEVICEHIGH /L:1 =C:\DOS\DISPLAY.SYS CON=(EGA,,2)
DEVICEHIGH /L:1 =C:\WINDOWS\IFSHLP.SYS
DEVICEHIGH /L:2 =C:\Adaptec\ASPICD.SYS /D:ASPICD0
DEVICE=C:\DOS\SETVER.EXE

SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:1024 /P

AUTOEXEC.BAT

LH /L:2 C:\DOS\MSCDEX.EXE /D:ASPICD0 /M:12 /L:D
C:\WINDOWS\ESSCFG.EXE /A:220 /I:5 /D:1 /B:330 /J:E
C:\WINDOWS\ESSVOL.EXE /V:8 /L:8 /W:8 /M:0 /C:8 /S:8 /A:8
CYRIX -f -r -cd -i1
c:\ps2suppc.com
LH /L:2 c:\mouse.com
DRAM 40
@echo off
C:\WINDOWS\NET START
PROMPT $p$g
PATH C:\WINDOWS;C:\MOUSE;C:\DOS
SET DIRCMD=/P /A
SET TEMP=C:\TEMP
SET TMP=C:\TEMP

I have GRUB4DOS saved in C:\GRUB4DOS. When I run GRUB.EXE, I receive the following error:

GRUB_fails_to_load.jpg
Filename
GRUB_fails_to_load.jpg
File size
91.1 KiB
Views
1449 views
File license
Fair use/fair dealing exception

So I then bypass my startup files by pressing F5.

Bypass_DOS_start_files.jpg
Filename
Bypass_DOS_start_files.jpg
File size
290.04 KiB
Views
1449 views
File license
Fair use/fair dealing exception

I realise that I don't have my desired SXL and PS/2 mouse drivers loaded, but I just want to see if GRUB will even work to load NT4. So I then run GRUB.EXE and receive:

GRUB_Menu.jpg
Filename
GRUB_Menu.jpg
File size
269.15 KiB
Views
1449 views
File license
Fair use/fair dealing exception

I select "find and load NTLDR of Windows NT/2K/XP" and receive this screen over the course of a minute as it is apparently "searching" for NT4 drives:

Result_of_selecting_find_and_load_NTLDR.jpg
Filename
Result_of_selecting_find_and_load_NTLDR.jpg
File size
214.94 KiB
Views
1449 views
File license
Fair use/fair dealing exception

My 5.25" and 3.5" drives make a lot of noise during this process. But alas, NT4 is not loaded. I receive the following "BASH"-like prompt and have no idea what to do.

Last edited by feipoa on 2019-09-27, 20:04. Edited 2 times in total.

Plan your life wisely, you'll be dead before you know it.

Reply 1 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++
GRUB_Bash.jpg
Filename
GRUB_Bash.jpg
File size
112.95 KiB
Views
1448 views
File license
Fair use/fair dealing exception

Is anyone familiar enough with GRUB4DOS to walk me through what needs to be done? The idea to try GRUB4DOS for loading DOS drivers to set CPU registers prior to loading NT4 came from this thread, Any way to run a DOS TSR program before loading Windows NT 4.0?

I looked through the GRUB4DOS readme, but cannot seem to follow its instruction. I found this GRUB4DOS tutorial, but I'm unable to view it, even after registering: http://www.boot-land.net/forums/showforum_66.html

Plan your life wisely, you'll be dead before you know it.

Reply 2 of 75, by Caluser2000

User metadata
Rank l33t
Rank
l33t

Try another boot loader. https://www.thefreecountry.com/utilities/mult … -managers.shtml XOSL was quite popular.

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 3 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Do you know if it can be loaded from a DOS prompt?

XOSL installs itself into a dedicated partition (which you have to create yourself)

I'm guessing that it wants to be the first item booted. But can it work like this XOSL---boots DOS---boots back to XOSL---boots to NT? I'm guessing not.

I think GRUB4DOS might work if could figure out how to tell it where the NT4 drive was, e.g. (hd2,0).

Last edited by feipoa on 2019-09-14, 20:07. Edited 1 time in total.

Plan your life wisely, you'll be dead before you know it.

Reply 4 of 75, by Caluser2000

User metadata
Rank l33t
Rank
l33t

Have a gander at this http://www2.arnes.si/~fkomar/xosl.org/

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 5 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Looked thru there, but didn't see any heading indicating that it can be loaded from DOS. If you know of the particular section that I missed, please point it out. Thanks. Also, see above cross-post-edit.

Plan your life wisely, you'll be dead before you know it.

Reply 8 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Thank you. I will try these commands tonight. Then to boot the Win95 drive, I'd type set root=(hd1,0)?

Plan your life wisely, you'll be dead before you know it.

Reply 9 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

When I try set root=(hd2,0) the system returns: Error 27: Unrecognized Command. Photo attached.

chainloader +1 returns no error

boot simply boots C:\, which contains DOS 6.22+Win3.11.

Any idea what I can try next?

Grub_unrecognised_command.jpg
Filename
Grub_unrecognised_command.jpg
File size
146.45 KiB
Views
1295 views
File license
Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.

Reply 11 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

ls lists the contents of the C:\ drive only. Seems W95c drive and NT4 drive are excluded from ls. Refer to image.

ls.jpg
Filename
ls.jpg
File size
499.87 KiB
Views
1274 views
File license
Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.

Reply 12 of 75, by ShovelKnight

User metadata
Rank Oldbie
Rank
Oldbie

Ah, I think now I understand.

I suspect you need to copy NTLDR and NTDETECT.COM to your DOS drive and configure BOOT.INI to search for Windows NT on your WinNT drive. Refer to https://docs.microsoft.com/en-us/windows-hard … e-boot-ini-file

Reply 13 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

This looks a lot like using the NT4 boot loader to boot between DOS, Win95c, and NT4 - e.g. creating a copy of the boot sector of each drive, and placing it in boot.ini I'm pretty sure I can do this, but does it help in the goal of having DOS boot up first, then have grub boot NT4?

Also, it is not necessary to copy NTLDR and NTDETECT.COM to the DOS boot drive. I could set the NT4 partition to ID1 (so it boots first), then change the DOS SCSI ID to 3. Which method do you prefer? And which is best for booting DOS first, loading the CPU configuration registers, then booting in NT4 without resetting?

Plan your life wisely, you'll be dead before you know it.

Reply 14 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I also enabled a 4th SCSI ID for NT 3.51, which I've already installed. Any SCSI ID can be enabled or disabled via USB through the configuration software. Here's what the system looks like now when I view it from my XP system.

SCSI2SD_SCSI_IDs_to_drives_viewed_thru_USB_with_XP.jpg
Filename
SCSI2SD_SCSI_IDs_to_drives_viewed_thru_USB_with_XP.jpg
File size
302.86 KiB
Views
1250 views
File license
Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.

Reply 15 of 75, by ShovelKnight

User metadata
Rank Oldbie
Rank
Oldbie

I honestly don't know which method is better, but if you need to boot DOS first, then I think you have to use GRUB4DOS.

To be honest, I'm not that familiar with GRUB4DOS, but I have some experience with configuring normal GRUB. It seems documentation for GRUB4DOS is nonexistent 😒

Reply 17 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Here's an excerpt from the readme on usage. Perhaps it makes more sense to you than me.

Usage:
GRUB [--bypass] [--time-out=T] [--hot-key=K] [--config-file=FILE]

The FILE, for example, can be (hd0,0)/menu.lst

In CONFIG.SYS, the line looks like:

install=c:\some\where\grub.exe --config-file=FILE

If no options present, GRUB.EXE simply uses

(hd0,0)/menu.lst

as the configure file, if it exists. (Notice! We finally
changed the default file from (hd0,0)/boot/grub/menu.lst to
(hd0,0)/menu.lst) (Changed 2006-12-23. See Update 3 below.)

The partition (hd0,0) can be of a Windows partition or a Linux
partition, or any other partition type supported by GRUB.

Only GRUB-style filename is acceptable here for FILE. A DOS
filename won't work(it is certain we should use GRUB-style
filenames because DOS-filenames won't access a file in a
Linux ext2 partition for example).(See Update 2 below)

Update: FILE can be the contents of a menu. Use semi-colon
to delimitate the embedded commands here in FILE. The FILE
can be enclosed with a pair of double-quotes. For example:

GRUB --config-file="root (hd0,0);chainloader +1"

This command will boot the system in (hd0,0).

Another example:

GRUB --config-file="reboot"

This command will reboot the machine.

One more example:

GRUB --config-file="halt"

This command will halt the machine.

if --bypass is specified, GRUB will exit to DOS when
timeout reached.

The option `--time-out=T' specifies the timeout value in
seconds. T defaults to 5 if --bypass is specified and defaults
to 0 if --bypass is not specified.

The default hot key value is 0x3920(for space bar). If this
key is pressed, GRUB will boot normally. If another key is
pressed, GRUB will terminate immediately and return back to
DOS. See "int 16 keyboard scan codes" below.

Each option can be specified only once at most.

Update 2: DOS filenames have been supported(patched by John
Show last 24 lines
		Cobb). If the beginning two characters of FILE are "#@", then
the rest of FILE is taken as a DOS filename. Example:

GRUB --config-file="#@c:\menu.lst"

Only the beginning 4KB of the DOS file will be used. The file
should be an uncompressed text file.

Note: You may also use the `direct DOS file access' with the
SHELL or INSTALL line in CONFIG.SYS, but should not use it
with the DEVICE line. The DOS document said that a DOS device
driver should not call the `open file' DOS call.

Update 3(2006-12-23): By default, GRUB.EXE will locate its
config file in the following order:

(DOS file) .\menu.lst, the MENU.LST in the current dir.

(DOS file) \menu.lst, the MENU.LST in the root dir of
the current drive.
(GRUB file) /menu.lst, the MENU.LST in the root dir of
the boot device.

The default boot device is still (hd0,0).

Followed by various Update notes that span dozens of pages.

Plan your life wisely, you'll be dead before you know it.

Reply 18 of 75, by ShovelKnight

User metadata
Rank Oldbie
Rank
Oldbie

Aha, it seems the syntax is a bit different to that of "normal" grub.

Run grub from DOS command line: grub --config-file="root (hd2,0);chainloader +1"

Does it boot Windows NT in this case?

Reply 19 of 75, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Thank you. Attached is the result. Did I type it in correctly?

Grub_config.jpg
Filename
Grub_config.jpg
File size
118.66 KiB
Views
1186 views
File license
Fair use/fair dealing exception
Grub_config_result.jpg
Filename
Grub_config_result.jpg
File size
62.22 KiB
Views
1186 views
File license
Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.