XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Migrating from XCP-ng Windows guest tools to Citrix

    Scheduled Pinned Locked Moved XCP-ng
    20 Posts 3 Posters 676 Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D Offline
      dinhngtu Vates 🪐 XCP-ng Team @bberndt
      last edited by

      @bberndt Autoreboot works, but one issue is that you don't have policy-based control over when it reboots (unlike Windows Update). If that's important for you I'd recommend applying the guest agent+driver updates during a dedicated patch window, and setting the VMs to autoreboot only during that window.

      I'd very much appreciate having people use the new XCP-ng drivers (which are stable & reliable despite the current lack of Microsoft signatures, and come with a few nice extras) but I get that it's not always possible. Without the necessary Microsoft hardware accounts it's hard to give a concrete timeline, but I'd like to believe it'll happen soon.

      1 Reply Last reply Reply Quote 1
      • B Offline
        bberndt
        last edited by

        Will have to think more on this. We do have a a domian policy for Windows Updates, that mostly works; it never seems to work as intended. In any case, if a Citrix driver is updated, with the registry setting set, it will reboot x number of times? (3 is suggested I believe)
        Wish there was a bomb proof method. Just this morning I came to office to find half the building down, because MS decided to push a Citrix update last night, and the DHCP server was down, until I rebooted the VM from the console once more. ;(

        1 Reply Last reply Reply Quote 0
        • B Offline
          bberndt
          last edited by

          @dinhngtu

          can you please confirm this is as expected.

          Started a new Windows 2019 Eval edition (what I had handy, I assume 2022 is similar)

          installed XCP-ng 8.2.2 open source guest tools.

          ran windows update to get windows up to date.

          Used the xenclean script to remove XCP-ng Tools tools.

          Installed Citirx guest tools : Management agent, drivers version 9.4.0; told to NOT update drivers through agent (installed the older one, so as to see it update on its own)

          set registry value Autoreboot to 3.
          shut down
          Set VM to use Windows Update in XO advanced settings.
          Started VM

          Ran windows update, it found latest drivers. and then -I- rebooted when told to.
          Windows booted as expected. Shortly after -it- rebooted again once more
          (the '3' is a Max reboot?)

          Control panel, software and features still say Xen Tools 9.4.0 (old), but the individual drivers:
          XenServer PV Network Device: 9.1.7.65 (old, and current)
          XenServer PV Storage Host Adapter 9.1.8.79 (old)
          XenServer PV Bus 9.19.105 (old)
          XenServer PV Bus (C000) 9.1.11.115 (current)
          XenServer PV Network Class 9.1.2.101 (old)

          D 2 Replies Last reply Reply Quote 0
          • D Offline
            dinhngtu Vates 🪐 XCP-ng Team @bberndt
            last edited by

            @bberndt Things sound OK to me. Are you looking for an update procedure?

            With Windows Update, some drivers won't be installed automatically but will be available in Optional updates instead.

            B 1 Reply Last reply Reply Quote 0
            • B Offline
              bberndt @dinhngtu
              last edited by

              @dinhngtu We have a Domain Policy that is intended to update and reboot on a set schedule. I didn't see more drivers in Optional Updates. I don't see Optional Drivers at all, as a section in the Windows Updates panel, maybe because its done in the Policy. I -have- seen this in Windows 10/11.

              1 Reply Last reply Reply Quote 0
              • D Offline
                dinhngtu Vates 🪐 XCP-ng Team @bberndt
                last edited by

                @bberndt said in Migrating from XCP-ng Windows guest tools to Citrix:

                XenServer PV Bus 9.19.105 (old)

                Could you confirm which driver/device this was? It didn't look right.
                Also, are you pulling updates through WSUS or something similar? Normally Windows should be able to update all the PV drivers on its own.

                Otherwise, in a fresh Windows installation the drivers gotten from Windows Update are as following:

                • Bus 9.1.11.115
                • Interface 9.1.12.94
                • Network Class 9.1.13.107
                • Network Device 9.1.7.65 (old, but normal; there's been no updates to this driver since)
                • Storage 9.1.9.82

                Rolling back to older drivers then running Windows Update got me the newest drivers as expected.

                B 1 Reply Last reply Reply Quote 0
                • B Offline
                  bberndt @dinhngtu
                  last edited by bberndt

                  @dinhngtu said in Migrating from XCP-ng Windows guest tools to Citrix:

                  XenServer PV Bus 9.19.105

                  Notice the other XenServer PV Bus (C000), this one is the current version compared to Citrix release page. Another test server I set up, and installed the latest Citrix installer 9.4.1, and it has a Xenserver PV Bus (002), and one (C000). We are not using WSUS at all. This is on Server 2019.
                  Screenshot 2025-07-10 152409.png

                  D 1 Reply Last reply Reply Quote 0
                  • D Offline
                    dinhngtu Vates 🪐 XCP-ng Team @bberndt
                    last edited by

                    @bberndt It's normal to have 2 PV Bus devices if you have the "driver via Windows Update" VM option enabled, but I don't expect them to have different driver versions. Is the C000 device the active one? (you can see with View - Devices by connection) Maybe the non-C000 device didn't get the update due to it not having an update-tagged device ID.

                    B 1 Reply Last reply Reply Quote 0
                    • B Offline
                      bberndt @dinhngtu
                      last edited by

                      @dinhngtu
                      Tried to get everyone in the same screen shot here.

                      the 'older' one has the subtree under it,.
                      Screenshot 2025-07-10 153738.png

                      D 1 Reply Last reply Reply Quote 0
                      • D Offline
                        dinhngtu Vates 🪐 XCP-ng Team @bberndt
                        last edited by

                        @bberndt That's really odd. What does Update Driver say? I'll try to ask the XS driver maintainer about it.

                        B 1 Reply Last reply Reply Quote 0
                        • B Offline
                          bberndt @dinhngtu
                          last edited by

                          @dinhngtu
                          says none found, and asks to go to windows update, which says im up to date. Further up in this thread, I tried to recall my exact procedure. I suppose I can't say the group policy isn't doing something, but it just setting the date and time (wednesdays) to run once a week, and the deadline is to reboot Saturdays, 3 days later.

                          D 1 Reply Last reply Reply Quote 0
                          • D Offline
                            dinhngtu Vates 🪐 XCP-ng Team @bberndt
                            last edited by dinhngtu

                            @bberndt Okay, I managed to reproduce your situation. I think it's because the "driver via Windows Update" option was enabled after installing the XS drivers, which caused the drivers to lock onto the non-C000 device and prevent updates from coming in.

                            Normally, XenClean should be able to fix the situation. But if you want to fix things manually, or if things still don't work (C000 is still not active), here's a procedure that should fix the problem:

                            1. Take a snapshot/backup/etc.
                            2. Keep a note of static IP addresses (if you have any; there's a chance those will be lost). You can also use our script here: https://github.com/xcp-ng/win-pv-drivers/blob/xcp-ng-9.1/XenDriverUtils/Copy-XenVifSettings.ps1
                            3. Reboot in safe mode and disable the non-C000 device.
                            4. Reboot back to normal mode; it'll ask you to reboot a few more times.
                            5. The C000 device should now be active and you should be able to get driver updates again.
                            6. (Optional) You can now enable and manually update the non-C000 device (Browse my computer - Let me pick).
                            B 1 Reply Last reply Reply Quote 0
                            • D Offline
                              dinhngtu Vates 🪐 XCP-ng Team
                              last edited by dinhngtu

                              Updated with working procedure. (tl;dr XenClean should fix this)

                              1 Reply Last reply Reply Quote 1
                              • B Offline
                                bberndt @dinhngtu
                                last edited by

                                I did it that way so as to get the old Citrix driver first, and then let it update and watch it reboot. That was my logic anyway.

                                @dinhngtu said in Migrating from XCP-ng Windows guest tools to Citrix:

                                @bberndt Okay, I managed to reproduce your situation. I think it's because the "driver via Windows Update" option was enabled after installing the XS drivers, which caused the drivers to lock onto the non-C000 device and prevent updates from coming in.

                                Normally, XenClean should be able to fix the situation. But if you want to fix things manually, or if things still don't work (C000 is still not active), here's a procedure that should fix the problem:

                                1. Take a snapshot/backup/etc.
                                2. Keep a note of static IP addresses (if you have any; there's a chance those will be lost). You can also use our script here: https://github.com/xcp-ng/win-pv-drivers/blob/xcp-ng-9.1/XenDriverUtils/Copy-XenVifSettings.ps1
                                3. Reboot in safe mode and disable the non-C000 device.
                                4. Reboot back to normal mode; it'll ask you to reboot a few more times.
                                5. The C000 device should now be active and you should be able to get driver updates again.
                                6. (Optional) You can now enable and manually update the non-C000 device (Browse my computer - Let me pick).
                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post