Opened 7 years ago
Closed 7 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)
Change History (14)
by , 7 years ago
Attachment: | Win2008-64-VM1-2017-11-28-18-01-54.log added |
---|
by , 7 years ago
Attachment: | Win2008-64-VM1-2017-11-28-18-09-38.log added |
---|
comment:1 by , 7 years ago
comment:2 by , 7 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?
follow-up: 4 comment:3 by , 7 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?
comment:4 by , 7 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/
comment:6 by , 7 years ago
@skotti_de
This is not the same issue. Please read the description of the ticket, not just the title.
comment:7 by , 7 years ago
Thank you for the site suggestion. The ISO image causing the problem may be downloaded here:
comment:8 by , 7 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 , 7 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...
comment:10 by , 7 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 , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Summary: | Guru Meditation during virtual machine boot → Guru 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.
If necessary, the ISO file can be provided.