Windows – debug.exe configuration in Windows 10

bioswindows 10

Debug.exe is not working as expected in Windows 10 32-bit.

If I attempt to run debug from a command prompt (CMD.EXE), I get an error:
16 bit MS-DOS Subsystem, NTVDM has encountered a System Error 4001h.

If instead, I press start, type '' and then select from the list, when I attempt to run debug I get: "The system cannot execute the specified program."

If instead I use file explorer to find or debug.exe in the \windows\system32 directory and double-click on them, debug will launch normally.

The final interesting quirk is that even if I get debug to launch, I do not see the BIOS mapped to f000:0. This was a technique I used to pull BIOS information from inside Windows.

My Questions: are there settings or other sorts of configuration that will cause debug.exe to map the BIOS as it used to under Windows XP? Can the failure to launch 16-bit programs from inside CMD.EXE be fixed?

Best Answer

First question: No, the BIOS cannot be read from Windows 10.

Update: under 32-bit Windows 10, the BIOS can be read through a newer API if you know how to use it. The rest of my comment is accurate as far as existing utilities.

Here is an example of the API to fetch the BIOS:

// Query size of BIOS data.
BIOSDataSize = GetSystemFirmwareTable('FIRM', 0xE0000, NULL, 0);

// Allocate memory for BIOS data
BIOSData = (char*) HeapAlloc(GetProcessHeap(), 0, BIOSDataSize);

// Retrieve the BIOS table
bytesRead = GetSystemFirmwareTable('FIRM', 0xE0000, BIOSData, BIOSDataSize);

I found I can see something that looks like a BIOS if I press Start, type 'debug', right-click and select 'Run as Administrator'. This is NOT the actual machine BIOS.

I booted the system with Windows XP and see a completely different BIOS at f000:0. Using XP to read I see "IBM COMPATIBLE IBM IS A ..."

Booting with Windows 10 and launching debug.exe from the start menu, at f000:e000 I see "4504512 SoftPC 4.00 (C)Copyright Insignia Solutions Inc. 1995".

I conclude that the actual BIOS is intentionally unavailable in Windows 10, and there is no way to read it from Windows.

2nd question: no and yes. I have found no way to start debug.exe from a CMD window. The way around that is to create a scheduled task and trigger it. See: Schedule a task with admin privileges without a user prompt in windows 7

Related Question