Print View

"Unable to determine Guest Operating System" when using coldclone.iso to virtualise a physical server

Issue

When starting the conversion process from the VMware Converter cold clone CD the following error appears:

Unable to determine Guest Operating System

The log files have the following information:

vmware-converter-0.log
[#2] [YYYY-MM-DD HH:MM:SS.SSS 'App' 320 verbose] [attachedDiskWin32,150] QueryDosDevice: ret=0 size=1024 err=122
[#2] [YYYY-MM-DD HH:MM:SS.SSS 'App' 320 verbose] [attachedDiskWin32,150] QueryDosDevice: ret=0 size=2048 err=122
[#2] [YYYY-MM-DD HH:MM:SS.SSS 'App' 320 verbose] [attachedDiskWin32,150] QueryDosDevice: ret=3620 size=4096 err=0
[#2] [YYYY-MM-DD HH:MM:SS.SSS 'App' 320 warning] [attachedDiskWin32,480] Warning: no attached disks were detected.
[#2] [YYYY-MM-DD HH:MM:SS.SSS 'App' 320 error] [slave,334] No local disks were detected, so no local host config info.
[#2] [YYYY-MM-DD HH:MM:SS.SSS 'App' 1276 error] [importSource,335] Unable to read OS info from system disk: vmodl.fault.SystemError
[#2] [YYYY-MM-DD HH:MM:SS.SSS 'App' 1276 error] [imageProcessingTaskImpl,552] VmiQuerySourceInfoTask::task{1}: Image processing task has failed with MethodFault::Exception: sysimage.fault.UnableToDetermineGuestOs


Resolution

This can be cause caused by the mass storage driver not being present in the WinPE image, missing NIC drivers or trying to virtualise a GPT disk. Other causes include iLo/RSA/DRAC virtual devices causing issues in identifying the boot device.

The mass storage driver can be added from a floppy disk by pressing F6 on the startup screen or by injecting the drivers into the .ISO image using peTool.exe. In the below example all driver files are located in the PERC5i directory.

C:\> peTool.exe -i coldclone.iso -d PERC5i
Log: checking options ...
Log: checking file existence ...
load ISO image ...
load ISO image succeeded
load boot image ...
load boot image succeeded
extract boot image ...
extract boot image succeeded
Log: adding storage driver PERC5i
Log: adding driver name PERC5I
Log: adding driver name succeeded
Log: adding storage driver PERC5i succeeded
load ISO image ...
load ISO image succeeded
Log: pack image file back ...
pack the ISO image ...
  load source directory & boot image file ...
  load source directory & boot image file done
  write system reserved sector ...
  write system reserved sector done
  write primary volume descriptor ...
  write primary volume descriptor done
  write boot record ...
  write boot record done
  write volume descriptor set terminator ...
  write volume descriptor set terminator done
  write boot image ...
  write boot image done
  write path tables ...
  write path tables done
  write directory record and files ...
0%.........10%.........20%.........30%.........40%.........50%.........60%.........70%.........80%.........90%.........100%
  write directory record and files done
pack ISO image succeeded
Log: pack image file back succeeded
Log: clean up ...
Log: clean up succeeded


The PERC5i directory is now visible in <CD>:\i386\system32\drivers\PERC5i in the .ISO image.

NOTE: This can also be caused by not having a valid NIC driver.

vmware-converter-agent-0.log
[#1] [2012-05-22 18:56:21.093 'App' 1104 verbose] [attachedComputerWin32,552] Found volume with name "\\?\Volume{5d5c7ba4-a43f-11e1-8680-806e6f6e6963}"
[#1] [2012-05-22 18:56:21.093 'App' 1104 verbose] [attachedComputerWin32,552] Found volume with name "\\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}"
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,648] [GetVolumesForComputer] volume \\?\Volume{5d5c7ba4-a43f-11e1-8680-806e6f6e6963}\ corresponds to \Device\CdRom0 device name.
[2012-05-22 18:56:21.109 'App' 1028 info] [stub,42] error [Windisk_CheckNonFixedMediaDevice] Failed to retrieve media type for \\?\Volume{5d5c7ba4-a43f-11e1-8680-806e6f6e6963}\: Incorrect function (1)
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,678] [GetVolumesForComputer] Checking if volume \\?\Volume{5d5c7ba4-a43f-11e1-8680-806e6f6e6963}\ exists on any disk in the computer using volume extents.
[#1] [2012-05-22 18:56:21.109 'App' 1104 warning] [attachedComputerWin32,715] [GetVolumesForComputer] Windisk_GetVolumeDiskExtents failed for \\?\Volume{5d5c7ba4-a43f-11e1-8680-806e6f6e6963}\ with error code 1
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,725] [GetVolumesForComputer] Retrieving \\?\Volume{5d5c7ba4-a43f-11e1-8680-806e6f6e6963}\ volume's device number as an alternative to retrieving volume extents typically for NT4 sources or to filter out cdrom devices.
[#1] [2012-05-22 18:56:21.109 'App' 1104 warning] [attachedComputerWin32,758] [GetVolumesForComputer] Windisk_GetVolumeDeviceNumber for \\?\Volume{5d5c7ba4-a43f-11e1-8680-806e6f6e6963}\ returned with error code 0 and device type 2
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,648] [GetVolumesForComputer] volume \\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}\ corresponds to \Device\HarddiskVolume1 device name.
[2012-05-22 18:56:21.109 'App' 1028 info] [stub,42] error [Windisk_CheckNonFixedMediaDevice] Failed to retrieve media type for \\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}\: Incorrect function (1)
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,678] [GetVolumesForComputer] Checking if volume \\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}\ exists on any disk in the computer using volume extents.
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,692] [GetVolumesForComputer] Windisk_GetVolumeDiskExtents returned 1 extents for \\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}\
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,702] [GetVolumesForComputer] extent # 1 of \\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}\ exists on \\.\PhysicalDrive0
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,167] [GetVolumeInfo] Successfully retrieved \\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}\ volume's legacy partition info. The partition number is 1
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedVolumeWin32,191] Volume \\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}\ correspond to device \Device\HarddiskVolume1
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [attachedComputerWin32,772] Mapping a recognized format volume \\?\Volume{5d5c7ba6-a43f-11e1-8680-806e6f6e6963}\ with ID attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [diskSet,191] 1 volumes found
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [diskSet,358] Volume: idx=0 sysId=7 active=Y
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [diskSet,198] 1 potential active volumes found
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [diskSet,587] Populating OS from volume attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}
[#1] [2012-05-22 18:56:21.109 'App' 1104 verbose] [extendedOsInfo,456] Just about to open the BCD Hive... 
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [disposable,69] Registering disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [disposable,80] Associating disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD with session id=30D2BB17-2607-4B67-91D5-4BF9C61F9CF5
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [extendedOsInfo,462] Opened the BCD Hive... successfully... 
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [disposable,122] object explicitly disposed: fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD
[#1] [2012-05-22 18:56:21.125 'App' 1104 info] [extendedOsInfo,501] SwagNTInfoFromString has Microsoft Windows Server 2008
[#1] [2012-05-22 18:56:21.125 'App' 1104 info] [extendedOsInfo,230] Returning OS as winLonghornGuest
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [diskSet,621] OS version found: 6.0
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [extendedOsInfo,456] Just about to open the BCD Hive... 
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [disposable,69] Registering disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [disposable,80] Associating disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD with session id=30D2BB17-2607-4B67-91D5-4BF9C61F9CF5
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [extendedOsInfo,462] Opened the BCD Hive... successfully... 
[#1] [2012-05-22 18:56:21.125 'App' 1104 verbose] [disposable,122] object explicitly disposed: fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD
[#1] [2012-05-22 18:56:21.140 'App' 1104 info] [extendedOsInfo,501] SwagNTInfoFromString has Microsoft Windows Server 2008
[#1] [2012-05-22 18:56:21.140 'App' 1104 info] [extendedOsInfo,230] Returning OS as winLonghornGuest
[#1] [2012-05-22 18:56:21.140 'App' 1104 verbose] [diskSet,458] Found a candidate system volume at idx=0
[#1] [2012-05-22 18:56:21.140 'App' 1104 info] [diskSet,291] OS resides on partition 1 , disk path \\.\PhysicalDrive0
[#1] [2012-05-22 18:56:21.140 'App' 1104 verbose] [extendedOsInfo,456] Just about to open the BCD Hive... 
[#1] [2012-05-22 18:56:21.140 'App' 1104 verbose] [disposable,69] Registering disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD
[#1] [2012-05-22 18:56:21.140 'App' 1104 verbose] [disposable,80] Associating disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD with session id=30D2BB17-2607-4B67-91D5-4BF9C61F9CF5
[#1] [2012-05-22 18:56:21.140 'App' 1104 verbose] [extendedOsInfo,462] Opened the BCD Hive... successfully... 
[#1] [2012-05-22 18:56:21.140 'App' 1104 verbose] [disposable,122] object explicitly disposed: fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Boot\BCD
[#1] [2012-05-22 18:56:21.250 'App' 1104 verbose] [disposable,69] Registering disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Windows\system32\config\SYSTEM
[#1] [2012-05-22 18:56:21.250 'App' 1104 verbose] [disposable,80] Associating disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Windows\system32\config\SYSTEM with session id=30D2BB17-2607-4B67-91D5-4BF9C61F9CF5
[#1] [2012-05-22 18:56:21.390 'App' 1104 verbose] [disposable,122] object explicitly disposed: fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Windows\system32\config\SYSTEM
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [disposable,69] Registering disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Windows\system32\config\SOFTWARE
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [disposable,80] Associating disposable session object id=fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Windows\system32\config\SOFTWARE with session id=30D2BB17-2607-4B67-91D5-4BF9C61F9CF5
[#1] [2012-05-22 18:56:21.531 'App' 1104 info] [extendedOsInfo,874] ParseNTRegistry FOUND: Windows Server (R) 2008 Standard root:Windows\ SrvPack:2 SMP:1 64:0 Ver:6.0
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [disposable,122] object explicitly disposed: fileRegistry={attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}},Windows\system32\config\SOFTWARE
[#1] [2012-05-22 18:56:21.531 'App' 1104 info] [extendedOsInfo,230] Returning OS as winLonghornGuest
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [NetworkAdaptersInfoEnum,848] Microsoft Windows Version 5.2 Build 3790
[#1] [2012-05-22 18:56:21.531 'App' 1104 error] [NetworkAdaptersInfoEnum,945] Failed to intialize locator to WMI. Err code = -2147221164
[#1] [2012-05-22 18:56:21.531 'App' 1104 error] [NetworkAdaptersInfoEnum,196] Failed to initialize WMI
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [NetworkAdaptersInfoEnum,155] Failed. Use MIB Interface way to get the list of Network Adapters 
[#1] [2012-05-22 18:56:21.531 'App' 1104 warning] [NetworkAdaptersInfoEnum,156] Virtual NICs will not be filtered out
[#1] [2012-05-22 18:56:21.531 'App' 1104 error] [NetworkAdaptersInfoEnum,350] MIB Interface is not supported
[#1] [2012-05-22 18:56:21.531 'App' 1104 error] [NetworkAdaptersInfoEnum,45] Failed to initialize network adapters list
[#1] [2012-05-22 18:56:21.531 'App' 1104 error] [attachedComputerWin32,972] Failed to get list of network adapters
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [disposable,122] object explicitly disposed: computer={8d56326b536472341b75b4f61b479869dbeb1967}
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [diskSet,114] Cleaning up computer's child objects
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [diskSet,130] Unregistring volume id=attVol={computer={8d56326b536472341b75b4f61b479869dbeb1967},1}
[#1] [2012-05-22 18:56:21.531 'App' 1104 verbose] [diskSet,140] Unregistring disk id=disk={9ba2498e79b590fd75d62d8b65fa945c367c0fea}
[#1] [2012-05-22 18:56:21.531 'App' 1036 error] [importSource,369] Unable to read OS info from system disk: vmodl.fault.SystemError
[#1] [2012-05-22 18:56:21.531 'App' 1036 error] [imageProcessingTaskImpl,572] VmiQuerySourceInfoTask::task{0}: Image processing task has failed with MethodFault::Exception: sysimage.fault.UnableToDetermineGuestOs
[#1] [2012-05-22 18:56:21.531 'App' 1036 verbose] [imageProcessingTaskImpl,154] VmiQuerySourceInfoTask::task{0}: SetState to error
[#1] [2012-05-22 18:56:21.562 'App' 1044 verbose] [disposable,122] object explicitly disposed: VmiQuerySourceInfoTask::task{0}
[#1] [2012-05-22 18:56:21.562 'App' 1044 verbose] [imageProcessingTaskImpl,123] VmiQuerySourceInfoTask::task{0} being destroyed
[#1] [2012-05-22 18:56:27.015 'App' 1044 info] Stopped impersonating in session 30D2BB17-2607-4B67-91D5-4BF9C61F9CF5
[2012-05-22 18:56:27.046 'App' 1036 verbose] CloseSession called for session id=30D2BB17-2607-4B67-91D5-4BF9C61F9CF5


To insert a NIC driver use the w2k3/NDIS5 driver and the -n option:
C:\> peTool.exe -i coldclone.iso -n IntelNIC

References

VMware Converter Enterprise BootCD for VirtualCenter
http://www.vmware.com/downloads/downloadBinary.do?downloadGroup=VC250U3&file=VMware-convertercd-4.0.2-u3.zip

Converting a physical blade server fails
http://kb.vmware.com/kb/1000508

Conversion wizards fails with error Can't determine guest OS when converting a source running Windows 2003
http://kb.vmware.com/kb/1001236

VMware Converter is unable to see the disks when converting Windows Operating systems
http://kb.vmware.com/kb/1016992
VMware Converter does not convert GPT disks. For more information about GPT disks and list of operating systems that support GPT, see http://msdn.microsoft.com/en-us/windows/hardware/gg463525.aspx

Error message when you run a program that uses the QueryDosDeviceA function: “ERROR_MORE_DATA”
http://support.microsoft.com/kb/931305

C:\> peTool.exe
Open options:
  -h [ --help ]               produce help message
  -i [ --image ] arg          specify image file
  -b [ --binary ] arg         binary files to add
  -B [ --start_binary ] arg   binary files to add and automatically start
  -v [ --vnc ] arg            vnc package to be added
  -p [ --package ] arg        software package to be added
  -P [ --start_package ] arg  package to be added and automatically start
  -f [ --disable_firewall ]   disable firewall
  -d [ --storage_driver ] arg add storage device driver
  -n [ --network_driver ] arg add network device driver
  -t [ --tmp ] arg            specify a temporary directory

Products

VMware Converter 4.0.2-u3

Created: 15th December 2008
Updated: 22nd May 2012

Print View

© 2005-2024 Jamie Morrison