VirtualBox

Opened 6 years ago

Closed 6 years ago

#17325 closed defect (fixed)

Guru Meditation during virtual machine boot => fixed in SVN

Reported by: Red Owned by:
Component: VMM Version: VirtualBox 5.1.30
Keywords: Cc:
Guest type: all Host type: Windows

Description

Guru Meditation during virtual machine boot. Easy to reproduce. No virtual disk needed. Simply attempting to start the vm by booting from a valid MS-DOS bootable ISO file triggers the problem.

Versions affected: 5.1.31 and 5.2.2 and many other prior versions.

Log files attached for versions 5.1.31 and 5.2.2.

Multiple hosts tested. The problem is consistently encountered.

Attachments (3)

Win2008-64-VM1-2017-11-28-18-01-54.log (238.2 KB ) - added by Red 6 years ago.
Win2008-64-VM1-2017-11-28-18-09-38.log (214.6 KB ) - added by Red 6 years ago.
VBox.log (316.5 KB ) - added by Jörg Skottke 6 years ago.
Probably same issue on Windows 10. Broken since 5.2.2

Download all attachments as: .zip

Change History (14)

comment:1 by Red, 6 years ago

If necessary, the ISO file can be provided.

comment:2 by Socratis, 6 years ago

I for one would love to see a bootable MS-DOS ISO, so yes, if it's a public link please post it. How did this ISO materialize? AFAIK, the only thing that could boot an MS-DOS machine (besides a HD) was a floppy. The provision for CDs was a "hack", let alone for bootable CDs. So if you don't mind could you also tell me how you created that ISO?

comment:3 by Red, 6 years ago

The ISO was created as a Ghost boot CD, by the Ghost program. I've used it for years in both the physical and virtual worlds (ESXi). It seems to boot on almost everything, so it must be fairly simple. I booted a physical copy of it on hardware to verify the version. It said it was PC DOS 7.1. As I understand it, it's the same as MS DOS.

The ISO file is about 28 MB (27.5 MiB) in size. How can I get it to you?

in reply to:  3 comment:4 by Socratis, 6 years ago

Replying to Red:

The ISO was created as a Ghost boot CD, by the Ghost program. I've used it for years in both the physical and virtual worlds (ESXi). It seems to boot on almost everything, so it must be fairly simple.

Aha! So, it's not actually a real MS-DOS bootable disk! It may not be appropriate to use an MS-DOS template in VirtualBox. That's what I want to see (which I suspect it to be the case). Do you know which Ghost version you used to create the CD?

I booted a physical copy of it on hardware to verify the version. It said it was PC DOS 7.1. As I understand it, it's the same as MS DOS.

Close. Not MS-DOS, but compatible. But you might not actually be booting into that.

The ISO file is about 28 MB (27.5 MiB) in size. How can I get it to you?

Something like an anonymous file sharing site. For example, in the following site your file is available for 30 days, limit 5 GB, no registration required: https://uploadfiles.io/

by Jörg Skottke, 6 years ago

Attachment: VBox.log added

Probably same issue on Windows 10. Broken since 5.2.2

comment:5 by Jörg Skottke, 6 years ago

Last edited 6 years ago by Jörg Skottke (previous) (diff)

comment:6 by Socratis, 6 years ago

@skotti_de
This is not the same issue. Please read the description of the ticket, not just the title.

comment:7 by Red, 6 years ago

Thank you for the site suggestion. The ISO image causing the problem may be downloaded here:

https://ufile.io/u5nta

comment:8 by Red, 6 years ago

To answer your question, the ISO file should have been created with Ghost 11.5. If the thing ever boots for you, that's the version of Ghost you should see.

Thank you for investigating this. It would be great if there's a way to boot it. I feel a little sheepish because I thought it was exactly MS-DOS.

comment:9 by Socratis, 6 years ago

Here's what I found:

  • The "ghost_11_5_boot_disk.iso" crashes with a Guru meditation, no matter what I throw at it. No clue why. The 'file' command returns (really strange label):
    ghost_11_5_boot_disk.iso: ISO 9660 CD-ROM filesystem data 'GHBOOTCD                       ' (bootable)
    
  • If I mount the above mentioned ISO, it mounts as a volume called "GHBOOTCD", and it contains a single file; "OSBOOT.IMG", for which the 'file' command returns:
    OSBOOT.IMG: x86 boot sector; partition 1: ID=0x4, active, starthead 1, startsector 63, 48132 sectors, code offset 0xeb
    
  • Mounting the "OSBOOT.IMG" seems to contain parts of a DOS-like installation, in a "disk" called "NO NAME":
    ls -al /Volumes/NO\ NAME/
    total 3470
    drwxrwxrwx@ 1 socratis  staff    16384  1 Jan  1980 .
    drwxrwxrwt@ 5 root      admin      170  7 Dec 12:59 ..
    -rwxrwxrwx  1 socratis  staff      134 17 Nov  2009 AUTOEXEC.BAT
    -rwxrwxrwx  1 socratis  staff       19 17 Nov  2009 CONFIG.SYS
    -rwxrwxrwx  1 socratis  staff    51754 17 Nov  2009 E.EX
    -rwxrwxrwx  1 socratis  staff    56821 17 Nov  2009 E.EXE
    -rwxrwxrwx  1 socratis  staff     1290 17 Nov  2009 E.INI
    -rwxrwxrwx  1 socratis  staff    31198 17 Nov  2009 EHELP.HLP
    drwxrwxrwx  1 socratis  staff      512 17 Nov  2009 GHOST
    -rwxrwxrwx  1 socratis  staff    44656 17 Nov  2009 IBMBIO.COM
    -rwxrwxrwx  1 socratis  staff    42566 17 Nov  2009 IBMDOS.COM
    -rwxrwxrwx  1 socratis  staff  1474560 17 Nov  2009 cddvdimg.bin
    -rwxrwxrwx  1 socratis  staff    53802 17 Nov  2009 command.com
    
  • The most interesting file in there seems to be the "cddvdimg.bin", which the 'file' command returns:
    /Volumes/NO NAME/cddvdimg.bin: DOS floppy 1440k, x86 hard disk boot sector
    

And this is as far as I could go. I haven't dealt with these issues for decades, and I don't even remember how to deal with them. One thing is for certain: this is *not* a DOS image. You may have to ask the Ghost people on how to deal with it.

Sorry I couldn't help you any more...

EDIT: Please let me know if you finally figure out how to deal with that... beast. I'll hang on to the ISO just so that I can try it again if you manage to solve this...

Last edited 6 years ago by Socratis (previous) (diff)

comment:10 by Red, 6 years ago

Ok. Thank you for looking into it. I will pursue it from my end to see if I can get anywhere.

comment:11 by michaln, 6 years ago

Resolution: fixed
Status: newclosed
Summary: Guru Meditation during virtual machine bootGuru Meditation during virtual machine boot => fixed in SVN

The bootable ISO is indeed not MS-DOS, it's PC DOS 7.1, which is not the same as PC DOS 7.01 aka PC DOS 2000. PC DOS 7.1 is a special version of PC DOS with FAT32 support which was never released as a product, but was used in various OEM solutions.

The reason why it crashed was interesting. Ghost uses El Torito hard disk emulation and installs some kind of its own INT13 handler/wrapper. The wrapper executes INT 13h, which of course returns failure code in the carry flag. But the wrapper is buggy and destroys the carry flag because it uses an 'add sp, 20h' instruction.

So when the guest attempts to call extended INT 13h on the emulated hard disk, it fails, but because the guest is buggy, it doesn't notice the failure. So it crashes.

Fixed by implementing INT13X for emulated El Torito hard disks.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use