VMware Communities
Mark_Wilson
Contributor
Contributor

SCSI driver issue with Windows XP VM migrated from VMware Server to Fusion

I have a Windows XP VM which I've migrated from VMware Server (Linux version) to VMware Fusion. When I boot it, Fusion warns me that:

"Your guest operating system is Windows XP and you have one or more virtual SCSI devices installed in your virtual machine.

Please be aware that Windows XP does not support the BusLogic SCSI adpater that VMware Fusion currently uses for its virtual SCSI devices. If you have not done so already, you will need to install our driver in the virtual machine. You can download the driver from our Web site at "http://www.vmware.com/info?id=43".

Click OK to continue or Cancel to abort"[/i]

I understand what the message is telling me, but there doesn't appear to be a suitable driver at the VMware Download Center that the link sends me to. Does anybody have any further insight on this?

(If I ignore the message then Windows XP will load, but fails soon after with a BSOD - not surprisingly!)

Reply
0 Kudos
11 Replies
rcardona2k
Immortal
Immortal

>I have a Windows XP VM which I've migrated from VMware Server (Linux version) to VMware Fusion. When I boot it, Fusion warns me that:

By "migrated" did you mean "copy" as-is? Because that's what it should take. Of course if you have a few Linux-dependent device paths like /dev/fd0 those can be edited out of the .vmx file.

If you mean you created a new Virtual Machine in Fusion that referenced your VMDK that you copied over, this would not be necessary.

VMware Fusion supports the same bus adapters as VMware Server so, this message wouldn't normally appear unless the adapter type changed somehow.

Reply
0 Kudos
admin
Immortal
Immortal

Can you post the contents of your .vmx file?

Reply
0 Kudos
Mark_Wilson
Contributor
Contributor

Hi Richard,

Migrated sounds a bit grand... yes, copied "as-is" would be more accurate - so this is the same VM config as the version that works under VMware Server.

(Interestingly, but unrelated to this issue, I used Fusion to create a new VM for XP and that has an IDE disk whereas following the same process to create a new VM for Vista is SCSI, using the LSI Logic driver)

Reply
0 Kudos
Mark_Wilson
Contributor
Contributor

Hi Brian,

Here's the VMX:

#!/usr/bin/vmware

config.version = "7"

virtualHW.version = "3"

scsi0.present = "TRUE"

memsize = "512"

floppy0.fileName = "/dev/fd0"

sound.present = "TRUE"

sound.fileName = "-1"

usb.present = "TRUE"

displayName = "UK090922LT VM"

priority.grabbed = "normal"

priority.ungrabbed = "normal"

tools.syncTime = "TRUE"

scsi0:0.present = "TRUE"

scsi0:0.fileName = "UK090922LT_VM_1.vmdk"

scsi0:1.present = "TRUE"

scsi0:1.fileName = "UK090922LT_VM_2.vmdk"

ide0:0.present = "TRUE"

ide0:0.deviceType = "cdrom-raw"

ide0:0.filename = "auto detect"

ethernet0.present = "TRUE"

ethernet0.addressType = "generated"

ethernet0.generatedAddress = "00:0c:29:c0:71:e3"

ethernet0.generatedAddressOffset = "0"

guestOS = "winxppro"

scsi0:0.redo = ""

scsi0:1.redo = ""

sound.virtualDev = "es1371"

uuid.location = "56 4d 4f 72 18 14 56 23-f3 c4 11 5f 73 de c2 e6"

uuid.bios = "56 4d 4f 25 d0 81 33 0b-41 0a 09 fd b8 c0 71 e3"

scsi0:0.deviceType = "scsi-hardDisk"

scsi0:1.deviceType = "scsi-hardDisk"

ide0:0.startConnected = "FALSE"

sound.autodetect = "TRUE"

ide0:0.autodetect = "TRUE"

usb.autoConnect.device0 = ""

ethernet0.connectionType = "bridged"

annotation = "Fujitsu Services corporate build, P2Ved to Microsoft Virtual Server using PlateSpin PowerConvert and then imported to VMware Server (Windows)."

floppy0.startConnected = "FALSE"

virtualHW.productCompatibility = "hosted"

tools.upgrade.policy = "manual"

Reply
0 Kudos
admin
Immortal
Immortal

Try inserting a line that explicitly says what kind of virtual SCSI adapter your VM was built with: either

scsi0.virtualDev = "buslogic"

or

scsi0.virtualDev = "lsilogic"

I can never remember which one is the default, but the fact that Windows is blue-screening on you suggests that it's the one you don't have.

Don't forget that a VM must be powered off before you edit its .vmx file.

Reply
0 Kudos
Mark_Wilson
Contributor
Contributor

Hi Brian,

Thanks for that suggestion - here's the result.

scsi0.virtualDev = "buslogic" generates the same error as in my original post and crashes the VM after a short while with a STOP: 0x0000008E (0xC0000005, 0x80614A10, 0xF653AB68, 0x00000000) error.

scsi0.virtualDev = "lsilogic" generates new warnings:

The disk connected to the scsi0:0 node has been created for a BusLogic SCSI adapter, but the virtual machine's scsi0 device is a LSI Logic SCSI adapter.

VMware Fusion can change the disk's adapter type to LSI Logic. Use caution; if a guest operating system us installed on this disk, it may not be able to boot. Do you want VMware Fusion to change the adapter type for scsi0:0 disk?[/i]

(and also for scsi0:1)

If I select No to the warning, then the VM continues to load and crashes almost immediately with a STOP: 0x0000007B (0xF8A8F528, 0C0000034, 0x00000000, 0x00000000) error.

If I select Yes to the warning, then I get the following message:

Your guest operating system is Windows XP and you have one or more virtual SCSI devices installed in your virtual machine.

Please be aware that Windows XP does not support the LSILogic SCSI adapter that VMware Fusion currently uses for its virtual SCSI devices. Select OK to continue or Cancel to abort.

The VM then starts to load and then crashes with a STOP: 0x0000007B (0xF8A8F528, 0C0000034, 0x00000000, 0x00000000) error.

So... what can I conclude from this? Basically, from the warnings, it seems that the VM is using a BusLogic SCSI driver and that XP does not support the BusLogic or LSILogic SCSI drivers.

From googling STOP: 0x000007B it seems that this error code means INACCESSIBLE_BOOT_DEVICE and looking at http://support.microsoft.com/kb/324103 it seems reasonable to confirm that the LSILogic driver is causing a device driver issue (that would fit as the VMware Fusion warnings lean towards the VM having a BusLogic SCSI driver).

From googling STOP: 0x0000008E it seems that this error code means KERNEL_MODE_EXCEPTION_NOT_HANDLED - that would seem a lot harder to diagnose but the VMware Fusion warning message does tell me that XP doesn't support this.

Is there any way I can convert the SCSI disks to IDE and/or inject a compatible driver?[/b]

Reply
0 Kudos
rcardona2k
Immortal
Immortal

>Is there any way I can convert the SCSI disks to IDE and/or inject a compatible driver?

Oh my, what a mess. Smiley Happy Here's what I recommend: Go back to your working VMware Server image, verify the controller is BusLogic. If the virtualDev line for scsi0 is not there, add it. Then add a secondary scsi adapter for LSILogic, i.e.

scsi1.present = "TRUE"

scsi1.virtualDev = "lsilogic"

Boot up the image and Windows will PnP discover the second scsi adapter. Install the drivers for LSILogic into the image. Now the image can boot under both adapters. If you want to verify the drivers are working, you can create a small LSILogic disk, attach it on scsi1:0 and make sure it shows up in Storage > Disk Management. You will want to re-install/repair the VMware Tools whenever any new virtual hardware is introduced. Remove the test disk (if added) and the secondary scsi adapter.

Then copy the image back to Fusion with the .vmx file that has busLogic specified in scsi0.virtualDev. You will get the warning that XP doesn't support BusLogic or LSILogic - what it's really warning you is that if you don't have the drivers, XP will blue screen by default. But you have both drivers! If BusLogic still blue screens, change virtualDev to lsilogic. Next time you'll boot, it will warn you about the scsi adapter changing, that's OK because you have LSILogic drivers in there. The image should work with either BusLogic or LSILogic.

FWIW, I have an XP image running with LSILogic drivers.

Reply
0 Kudos
rcardona2k
Immortal
Immortal

One more note: I have a Fusion XP VM that runs successfully on both buslogic and lsilogic scsi adapters. Initially I had trouble finding the right drivers for LSILogic on their website, so I installed with VMware's BusLogic drivers. Then I added the LSILogic drivers to my VM as described above and now the VM is bootable either scsi adapter specification.

It's odd that your VMware Server image would not work but a difference in the default value for the scsi adapter explains that.

Reply
0 Kudos
Mark_Wilson
Contributor
Contributor

Richard, thanks for the posts - I'll give that a try as soon as I get a chance. BTW, do you know where I can find the LSILogic Drivers? I can't see an option to add them to my VM anywhere?

(It's probably worth noting that XP VM has a complex history - it was original a physical build which was P2Ved to Virtual Server, then imported to VMware Server (Windows) before the Windows machine became Linux and now it should be finding it's way to my Mac!

Reply
0 Kudos
rcardona2k
Immortal
Immortal

>Do you know where I can find the LSILogic Drivers?

The Fusion Getting Started[/i] guide has a link to the VMware Guest Operating System installation guide, http://pubs.vmware.com/guestnotes/

The Windows XP section tells you where to download the drivers for LSILogic, of course, from LSI . Unfortunately, there are not virtual floppy (.flp) files for download. LSI has zip files which you would put on a traditional physical floppy. Once you manage to create a virtual floppy it may not universally compatible (i.e. for os installs). It could be compatible for a PnP install of a secondary scsi adapter, I did not try this case.

So...that leaves me back to where I got them: from my company's huge archive of drivers. I can say "best possible" drivers are the LSILogic v1.0.9 for the sym5c3xxxx scsi adapter. My virtual adapter in the VM is called "LSI Logic 1020/1030 Ultra320 SCSI Adapter." Your mileage may vary.

The following thread covered my trial-and-error installing a new copy of XP with LSILogic:

http://www.vmware.com/community/thread.jspa?messageID=499850

Reply
0 Kudos
Mark_Wilson
Contributor
Contributor

Thanks for this - apologies for not RTFMing - as the VM had been running fineon VMware Server, I had no reason to think there was an issue and to read the VMware Server manuals (I thought I'd read the Fusion doco - what there is of it at this early stage in product development - but had somehow missed the link to the guest OS installation guide).

Reading the link you sent me got be seaching the VMware downloads site more closely... under VMware Server, Drivers and Tools (http://www.vmware.com/download/server/drivers_tools.html) is the VMware SCSI driver on an .flp!

As soon as I finish work and back up the VM (I'm using it at the moment), I'll give this a spin. Failing that I'll fall back to your method - spookily enough I'd already read that thread but failed to see the similarities as my VM seems to have defaulted to using BusLogic - and finally, if all else fails, I could see if Ghost works inside a VM to move it all to an IDE disk!

I'll post my results when I have some.

Reply
0 Kudos