Kernel panic after converting VM from Parallels to VirtualBox

Anything not about Mac emulation.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Kernel panic after converting VM from Parallels to VirtualBox

Post by mabam »

A very off topic question for the experts here:
After converting a Parallels Snow Leopard Server VM to VirtualBox, when trying to boot it I get

Code: Select all

panic(cpu 0 caller 0x2abf6a): Kernel trap at 0x42c84980, type 6=invalid opcode, registers:
CR0: 0xc001003b, CR2: 0x42bdd000, CR3: 0x00100000, CR4: 0x00040668
EAX: 0x42a6e000, EBX: 0x00000001, ECX: 0x00000000, EDX: 0x00000000
CR2: 0x42bdd000, EBP: 0x42c33c28, ESI: 0x00000000, EDI: 0x0636e000
EFL: 0x00010046, EIP: 0x42c84980, CS:  0x00000008, DS:  0x00000010
Error code: 0x000000000

Does anyone have a clue what is causing this?
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Kernel panic after converting VM from Parallels to VirtualBox

Post by adespoton »

Could be a number of things; I've never had success booting a Parallels VM in VirtualBox.

Could be the fact that Parallels presents a different hardware profile, could be the fact that Parallels presents a different CPU profile. This stuff should be fixable in VBox ExtraData, but I haven't succeeded yet; instead I just create a new VM from scratch and copy stuff over (the VHD mounts just fine).
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: Kernel panic after converting VM from Parallels to VirtualBox

Post by mabam »

Thanks for your response adespoton.

The thing is that I run an app in SL Server whose protection management software ties the license activation to the model name of the system disk. I’ve installed this app in the VM years ago on a host system installed on an HDD. I have moved it on through updates of Parallels Desktop and to new macOS hosts since. But when recognising my host is now running on an SSD, Parallels Desktop changed the model name in the SLS VM from “Snow Leopard Server-0” to “APPLE SSD Snow Leopard Server-0” so the guest would recognise it as an SSD as well. As this invalidated the activation of my old app, I’m using UnSolid.kext on my Hackintosh host so it identifies the SSD as an HDD. I do this since quite a while already though it was meant as a temporary work-around and not a permanent solution. So I’m looking for a way to fix this problem.

After Parallels support turned their back on the subject when trying to sort this out with them, I thought the “nicest” solution would be to hack Parallels Desktop using a hex editor. In the beginning of this year I already spent weeks on trying to locate where I would have to tweak one of the binaries within the bundle. But it doesn’t seem to be that easy.

In VirtualBox, being free software, I can manually define whether a storage device is an SSD or not. In Parallels, which is commercial, there is no such setting.

I don’t want to experiment with activating that old software in a new VM as chances are that doesn’t work anymore while at the same time it might invalidate my existing activation.

Any ideas what else I could try?
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Kernel panic after converting VM from Parallels to VirtualBox

Post by adespoton »

Best bet is likely to create a copy of your VHD and overinstalling the OS on it. Whis way, you get the appropriate hardware names AND appropriate kexts loaded. Worth a try, anyway.
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: Kernel panic after converting VM from Parallels to VirtualBox

Post by mabam »

I’m gonna try that, thanks.

But I figured that VirtualBox is using “VBOX HARDDISK” as HDD model name which I found in /src/VBox/Devices/Storage/DevAHCI.cpp in the source available at https://github.com/mdaniel/virtualbox-o ... vbox-trunk. I’ll substitute that for “Snow Leopard Server-0” in a local clone of the repository and see if I can compile an amended VirtualBox myself. Setting up a VM with the build environment right now.
Post Reply