taliesins / packer-baseboxes

Templates for packer to build base boxes
221 stars 93 forks source link

Windows could not apply the unattend answer file's <DiskConfiguration> setting. #9

Open Metaspace2 opened 7 years ago

Metaspace2 commented 7 years ago

I get this when attempting to create a vmware-iso using packer build -force -only vmware-iso .\vmware-windows-2016-serverstandard-amd64.json.

I attach VMWare to the packer VM "windows2016", where I see a Windows setup window, and a dilaog box displaying the error message from the subject. Packer itself hangs while "Waiting for WinRM to become available...".

I am running on a Windows 8.1 machine, VMWare 11.1.4.

This is the packer output: ==> vmware-iso: Downloading or copying ISO vmware-iso: Downloading or copying: http://care.dlservice.microsoft.com/dl/download/1/6/F/16FA20E6-4662-482A-920B-1A45CF5AAE3C/14393.0.160715-1616.RS1_RELEASE_SERVER_EVAL_X64FRE_EN-US.ISO ==> vmware-iso: Creating floppy disk... vmware-iso: Copying files flatly from floppy_files vmware-iso: Copying file: ./windows/windows-2016-serverstandard-amd64/autounattend.xml vmware-iso: Copying file: ./windows/windows-2016-serverstandard-amd64/sysprep-unattend.xml vmware-iso: Copying file: ./windows/common/variables.ps1 vmware-iso: Copying file: ./windows/common/set-power-config.ps1 vmware-iso: Copying file: ./windows/common/microsoft-updates.ps1 vmware-iso: Copying file: ./windows/common/win-updates.ps1 vmware-iso: Copying file: ./windows/common/run-sysprep.ps1 vmware-iso: Copying file: ./windows/common/run-sysprep.cmd vmware-iso: Copying file: ./windows/common/enable-winrm.ps1 vmware-iso: Copying file: ./windows/common/enable-winrm.task.ps1 vmware-iso: Copying file: ./windows/common/fixnetwork.ps1 vmware-iso: Copying file: ./windows/common/elevate.exe vmware-iso: Copying file: ./windows/common/sdelete.exe vmware-iso: Copying file: ./windows/common/sdelete.ps1 vmware-iso: Copying file: ./windows/common/Set-ClientWSUSSetting.ps1 vmware-iso: Copying file: ./windows/common/Set-ClientWSUSSetting.task.ps1 vmware-iso: Done copying files from floppy_files vmware-iso: Collecting paths from floppy_dirs vmware-iso: Resulting paths from floppy_dirs : [] vmware-iso: Done copying paths from floppy_dirs ==> vmware-iso: Creating virtual machine disk ==> vmware-iso: Building and writing VMX file ==> vmware-iso: Starting HTTP server on port 8433 ==> vmware-iso: Starting virtual machine... vmware-iso: The VM will be run headless, without a GUI. If you want to vmware-iso: view the screen of the VM, connect via VNC with the password "PCiPGfIH" to vmware-iso: vnc://127.0.0.1:5924 ==> vmware-iso: Waiting 5s for boot... ==> vmware-iso: Connecting to VM via VNC ==> vmware-iso: Typing the boot command over VNC... ==> vmware-iso: Waiting for WinRM to become available...

Please find the packer log file attached: Log.zip

I saw that in the windows\windows-2016-serverstandard-amd64\Autounattend.xml file there is a commented-out Non-UEFI ; I tried to use that in place of the commented-in UEFI compatible, but with the same result.

I also tried to use "scsi0.virtualDev": "lsisas1068", instead of "scsi0.virtualDev": "pvscsi" in the json file (fixing this error message for other packer scripts), but no effect. I combined this two measures, no effect.

Help would be appreciated!

taliesins commented 7 years ago

Did you connect to the machine on: vmware-iso: The VM will be run headless, without a GUI. If you want to vmware-iso: view the screen of the VM, connect via VNC with the password "PCiPGfIH" to vmware-iso: vnc://127.0.0.1:5924 (I think you can use Windows RDP to 127.0.0.1:5924)

Or I think you can turn headless mode off when building.

This should make it obvious what the problem is.

Metaspace2 commented 7 years ago

I was not able to connect using RDP - but I did turn "headless" off. Unfortunately, I did not gain any additional information. I see the VM booting up, then a dark blue screen with white text "Setup is starting", followed by a white setup window; this is followed after about a second by the dialog described above, giving the error message.

I would assume that Microsoft's Windows answer file format has changed since you created the AutoUnattend.xml file. Unfortunately, I have no expertise there whatsoever...

jdizon commented 6 years ago

I also just tried the vmware 2012 R2 build and got this error message.

Windows could not apply the unattend answere file's setting.

mpoliako commented 6 years ago

same problem when I tried to install vmware 2012 R2 Windows could not apply the unattended answers file's setting

taliesins commented 6 years ago

It might be related to the vmware drivers that are placed on installation disk. Try changing them to the latest.

I think a dodgy xml file throws a more useful message.

I had this problem with Windows 10. The only fix that worked for me was a new iso.

binarywaves commented 6 years ago

I have the same problem too.

elvarb commented 6 years ago

What worked for me was to run the update-variables.ps1

Amdingo commented 6 years ago

@elvarb could you detail exactly what you're saying here?

BongoEADGC6 commented 5 years ago

From a techNet article: https://social.technet.microsoft.com/Forums/en-US/5cde56ac-dd88-487d-9d9c-f90d77fde781/windows-10-v1809-unattended-diskconfiguration?forum=ConfigMgrCBOSD

if you check the documentation from MS

the order for the wipe is


<DiskConfiguration>

  <Disk wcm:action="add">
    <DiskID>0</DiskID>
    <WillWipeDisk>true</WillWipeDisk>
    <CreatePartitions>

https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-setup-diskconfiguration-disk-willwipedisk

If you move the DiskID and Wipe settings to the top,it will work.

jdchaiken commented 4 years ago

I am having the same problem. I think the issue may be that the pvscsi driver is not installed at the point when autounattend.xml is read.

The error that shows up in the x:\windows\panther\setuperr.log is Failed to query disk [0] status. Error code is [0x80042405][gle=0x000036b7]

Further, when I load diskpart on that system, LIST DISK shows "There are no fixed disks to show."

It appears for me at least, that changing the PnPCustomizationsWinPE section to use the a:\ drive fixed the issue for me.

I'm using vsphere-iso to connect directly to my vCenter, so this may be a little different from the expereince of others.

Paradoxis commented 2 weeks ago

For anyone running into this issue with QEMU + Packer: I was using disk_interface = "virtio" in my packer config, resulting in no drivers being loaded, hence Windows was unable to identify the disk on load. Changing it to ide fixed it.