[Libguestfs] Fwd: virt-v2v creating image that does not install guest agent on first boot

Lee Garrett lgarrett at rocketjump.eu
Thu Sep 21 16:24:40 UTC 2023


On 21.09.23 18:08, Richard W.M. Jones wrote:
> On Thu, Sep 21, 2023 at 04:50:26PM +0200, Lee Garrett wrote:
>> After testing it again today, the guest agent is still not
>> installed, however this time the C:\Program
>> Files\Guestfs\Firstboot\log.txt exists:
>>
>> starting firstboot service
>> running "C:\Program Files\Guestfs\Firstboot\scripts\5000-0001-wait-pnp.bat"
>>          1 file(s) moved.
>> Wait for PnP to complete
>> .... exit code 0
>> running "C:\Program Files\Guestfs\Firstboot\scripts\5000-0002-install-qemu-ga-x86_64-msi-ps1.bat"
>>          1 file(s) moved.
>> Removing any previously scheduled qemu-ga installation
>> ERROR: The system cannot find the file specified.
>> Scheduling delayed installation of qemu-ga from qemu-ga-x86_64.msi
>> SUCCESS: The scheduled task "Firstboot-qemu-ga" has successfully been created.
>> .... exit code 0
>> running "C:\Program
>> Files\Guestfs\Firstboot\scripts\5000-0003-uninstall-VMware-Tools.bat"
>>          1 file(s) moved.
>> uninstalling VMware Tools
>> .... exit code 0
>> uninstalling firstboot service
>> Service uninstalled successfully
>>
>>
>> The folder scripts is empty, all scripts are in scripts-done. The
>> contents of the folder are:
>> 5000-0001-wait-pnp.bat
>> 123 5000-0001-wait-pnp.log
>> 5000-0002-install-qemu-ga-x86_64-msi-ps1.bat
>> 5000-0003-uninstall-VMware-Tools.bat
>> 5000-0003-uninstall-VMware-Tools.log
>>
>> Note that the .log is missing for qemu-ga.
> 
> This is what we'd expect, except maybe the missing log for qemu-ga.
> It's a little odd that it is missing, but it's also possible that the
> log file doesn't get written if there's no output.
> 
>> At least today I could twice provision the windows 11 VM, and in
>> both cases the main log.txt was generated by the time I checked. How
>> are the services scheduled? Could it be that they were delayed by >
>> 1h?
> 
> Yes, we do actually try to delay qemu-ga installation.  It should only
> be delayed for about 120 seconds (not 1 hour).
> 
> https://github.com/libguestfs/libguestfs-common/blob/e70d89a58dae068be2e19c7c21558707261af96a/mlcustomize/inject_virtio_win.ml#L580
> 
> However there have been timezone bugs with this in the past (and maybe
> there still are), see the sordid history in these two links:
> 
> https://github.com/libguestfs/libguestfs-common/blob/e70d89a58dae068be2e19c7c21558707261af96a/mlcustomize/inject_virtio_win.ml#L558

I see. That's not reassuring. :(

> 
> Which TZ are you in?

The host machine is UTC+2 (Berlin summer time), however the Windows 11 trial 
vmware image itself defaults to UTC-8 (Pacific Time US & Canada).

After a little bit of digging this indeed seems to be the issue.

`schtasks.exe /Query` gives:

PS C:\Users\User> schtasks.exe /Query

Folder: \
TaskName                                 Next Run Time          Status
======================================== ====================== ===============
Firstboot-qemu-ga                        9/21/2023 4:04:00 PM   Ready
[...]

which is ~7 hours in the future. Btw, running 
`.\5000-0002-install-qemu-ga-x86_64-msi-ps1.bat` by hand works just fine. So it 
definitely is just the scheduling issue that's preventing it from running.

> 
> Rich.
> 
>> On 11.09.23 21:29, Richard W.M. Jones wrote:
>>>
>>> If we suspect that the whole firstboot mechanism might not be working
>>> with the new version of Windows, one way to test it (on this one, or a
>>> freshly installed Windows VM) would be:
>>>
>>>    $ virt-customize -a windows.img --firstboot-command 'echo hello'
>>>
>>> and see if "hello" is written in some form to the log.txt file inside
>>> the guest after it boots.
>>>
>>> If that doesn't work then it's likely some change in Windows which is
>>> breaking firstboot support.
>>>
>>> Rich.
>>>
>>
>> Regards, Lee
> 

Regards, Lee



More information about the Libguestfs mailing list