VMware Communities
dave_ewart
Contributor
Contributor

VMware workstation A -> sysprep -> VMware workstation B = "Stop: 0x0000007B"

I have VMware workstation 5.5. I created a 'reference' Windows XP installation as a VM. I installed sysprep in it, in order to use this as a deployable image to physical PCs. This works. The sysprep-ed images, created on the VM, deploy fine to real PCs.

However, the sysprep-ed images do not deploy into a fresh VM running under the same VMware Workstation 5.5. I get the error shown in the attached image, the main error message of which is "Stop: 0x0000007B", The VM is not bootable.

Given that I've seen related issues discussed elsewhere, I assume this is a HAL-related problem of some sort. However, surely the reference XP installation in VMware and the target XP VMware machine must have the same HAL?!?

Any tips to get this working?

Thanks...

Tags (3)
0 Kudos
12 Replies
rsa911
Virtuoso
Virtuoso

Stop 7B usually means the disk controller used is not present in windows critical devices list

meaning, windows can't load the driver for the disk controller defined

when you created your reference VM, did you used IDE disk or SCSI ?

can you post the VM config file ? (.vmx file)

dave_ewart
Contributor
Contributor

Thanks for the reply, rsa911. Smiley Happy

Reference VM (and also the target VM) use IDE disks.

The reference image vmx:

#!/usr/bin/vmware

config.version = "8"

virtualHW.version = "4"

scsi0.present = "TRUE"

memsize = "256"

MemAllowAutoScaleDown = "FALSE"

ide0:0.present = "TRUE"

ide0:0.fileName = "winxp_reference-000023.vmdk"

ide0:0.writeThrough = "TRUE"

ide1:0.present = "TRUE"

ide1:0.fileName = "auto detect"

ide1:0.deviceType = "atapi-cdrom"

floppy0.fileName = "/dev/fd0"

ethernet0.present = "TRUE"

usb.present = "TRUE"

sound.present = "TRUE"

sound.virtualDev = "es1371"

displayName = "winxp_reference"

guestOS = "winxppro"

nvram = "winxp_reference.nvram"

floppy0.startConnected = "FALSE"

ide0:0.redo = ""

ethernet0.addressType = "generated"

uuid.location = "56 4d 84 cd a2 03 15 26-34 6b d6 2c 8a 7b dd 59"

uuid.bios = "56 4d 84 cd a2 03 15 26-34 6b d6 2c 8a 7b dd 59"

ethernet0.generatedAddress = "00:0c:29:7b:dd:59"

ethernet0.generatedAddressOffset = "0"

sound.startConnected = "FALSE"

ide1:0.autodetect = "TRUE"

The target VM, on which the sysprep-ed images from the above VM cannot be deployed, due to the Stop 7B error, has the following config:

#!/usr/bin/vmware

config.version = "8"

virtualHW.version = "4"

scsi0.present = "TRUE"

memsize = "256"

MemAllowAutoScaleDown = "FALSE"

ide0:0.present = "TRUE"

ide0:0.fileName = "xptest1.vmdk"

ide0:0.writeThrough = "TRUE"

ide1:0.present = "TRUE"

ide1:0.fileName = "/home/davee/iso/KNOPPIX_V5.1.1CD-2007-01-04-EN.iso"

ide1:0.deviceType = "cdrom-image"

floppy0.fileName = "/dev/fd0"

ethernet0.present = "TRUE"

usb.present = "TRUE"

sound.present = "TRUE"

sound.virtualDev = "es1371"

displayName = "xptest1"

guestOS = "winxppro"

nvram = "xptest1.nvram"

ide0:0.redo = ""

ethernet0.addressType = "generated"

uuid.location = "56 4d 6d a3 f4 7d 1b 8b-3f 9c 80 4b 1b 13 3f 20"

uuid.bios = "56 4d 6d a3 f4 7d 1b 8b-3f 9c 80 4b 1b 13 3f 20"

ethernet0.generatedAddress = "00:0c:29:13:3f:20"

ethernet0.generatedAddressOffset = "0"

floppy0.startConnected = "FALSE"

sound.startConnected = "FALSE"

I don't quite understand how the sysprep-ed image doesn't contain the right disk controller. I use a sysprep.inf as follows (an excerpt):

;SetupMgrTag

InstallFilesPath=C:\sysprep\i386

OemPnpDriversPath= {LONG PATH LIST HERE TO VARIOUS VIDEO/SOUND DRIVERS}

EncryptedAdminPassword=NO

OEMSkipRegional=1

LanguageGroup=1

Language=00000809

DistFolder=C:\sysprep\i386

DistShare=windist

JoinDomain=OURDOMAINNAME

InstallDefaultComponents=Yes

BuildMassStorageSection=Yes

This config pulls in all disk controllers, as I understand it. As I said, the deployment works fine to all physical machines that I have available, but not to a target which is a VM.

0 Kudos
rsa911
Virtuoso
Virtuoso

do you have included any 3rd party IDE contoller driver in your sysprep image ?

like intel accelerator or via etc ...

0 Kudos
dave_ewart
Contributor
Contributor

do you have included any 3rd party IDE contoller driver in your sysprep image ?

like intel accelerator or via etc ...

Certainly nothing intentional. The reference image is designed to be completely minimal, precisely to avoid this sort of problem Smiley Wink

The device list includes, under disk controllers in Device Manager: Intel(R) 82371AB/EB PCI Bus Master IDE Controller, Primary IDE Channel and Secondary IDE Channel

I've also just noticed that there is a "SCSI controller" entry, with a yellow exclamation mark by it: can't think which virtual hardware requires that?? Maybe I should try to get rid of that...

(I've also checked the HAL types too: the reference image is using halaacpi.dll, the deployed physical systems using a mixture of halaacpi.dll and halmacpi.dll, which sounds right according to http://support.microsoft.com/kb/309283 )

0 Kudos
dave_ewart
Contributor
Contributor

I've removed the (spurious) SCSI controller from the reference VM image, but it doesn't change the behaviour I get when I sysprep it and attempt to migrate it to a fresh VM.

Are the any other things to try here?

Thanks...

0 Kudos
rsa911
Virtuoso
Virtuoso

I would rather include the two vmware scsi controllers in the sysprep image (LSI logic and buslogic) so if at some point you decide to restore your image in a VM with scsi disk, it will boot without issues

(SCSI emulation is also faster than IDE)

how do you restore your sysprep image from one VM to another ?

dave_ewart
Contributor
Contributor

Thanks for the comment about the SCSI controllers.

Regarding the sysprep-ed image: I usually transfer it using partimage.

However, I noticed yesterday that after running sysprep on VM A, the error I originally described occurs if one boots up VM A immediately afterwards (I don't normally do this, I normally take a VM-snapshot immediately prior to running sysprep and then roll back to it after doing the partimage thing).

So maybe something's getting screwed up in the sysprep process... although, as I said, this works fine for physical machines.

0 Kudos
jgl1975
Expert
Expert

Hello!

You should take a look at this documentation :

http://www.vmware.com/support/v2p/index.html

All the sysprep settings are detailed in it.

Good luck!

0 Kudos
dave_ewart
Contributor
Contributor

http://www.vmware.com/support/v2p/index.html

Thanks for the link; however, I think the sysprep setup is probably correct, given that it works on physical PCs.

Perhaps the problem is that I have used the "BuildMassStorageSection=Yes" option, which helps include (as I understand it) all available mass storage drivers (IDE, SCSI, whatever). Perhaps that doesn't include what's required for VMware?!?

I'm not sure how I'd find out if that's the case or not, to be honest.

0 Kudos
jgl1975
Expert
Expert

You only get the the drivers that are supported by the release of Windows from which you are building your sysprep image !

You surely have to add the drivers needed by the virtual hardware that vmware is using.

0 Kudos
dave_ewart
Contributor
Contributor

You only get the the drivers that are supported by the release of Windows from which you are building your sysprep image !

You surely have to add the drivers needed by the virtual hardware that vmware is using.

Can you explain how?

I'll admit to being confused by this:

When I installed Windows XP into VMware, I didn't need to provide any special drivers in order for it to support (say) the disk controller, so why would I need to do so when building a sysprep-ed image? Doesn't the fact that I was able to install WIndows XP from the installation CD directly into VMware mean that the VMware disk controller is included in the Windows XP distribution?

0 Kudos
jgl1975
Expert
Expert

This makes sense ;-).

You may want to check this website to see if you haven't missed something :

http://www.virtual-strategy.com/article/articleview/1624/1/57/

0 Kudos