Jump to content
Welcome to our new Citrix community!
  • 0

HyperVisor 8.x needs HVM - how to convert a SLES 12.5 VM from PV to HVM?

Peter VARGA1709157052


The pre-check for the upgrade from 7.6 to 8.1 complains about a VM which is in the PV mode. Google returns some results how to convert PV to HVM but these articles are sometimes more than 8 years old. When I execute the below statements the VM doesn't boot and hangs.

2020-03-17 20:01:13 root@aaeb91:~ => xe vm-list name-label="AAEB-DBA204LD"
uuid ( RO)           : 46b51db7-*
     name-label ( RW): AAEB-DBA204LD
    power-state ( RO): running

2020-03-17 20:33:02 root@aaeb91:~ => xe vm-param-set uuid=46b51db7-* HVM-boot-policy="BIOS order"
2020-03-17 20:34:06 root@aaeb91:~ => xe vm-param-set uuid=46b51db7-* PV-bootloader=""


I had to set the parameters back as they were before the change, now at least the VM is booting/running again:

2020-03-17 20:42:50 root@aaeb91:~ => xe vm-param-set uuid=46b51db7-* HVM-boot-policy=""
2020-03-17 20:43:02 root@aaeb91:~ => xe vm-param-set uuid=46b51db7-* PV-bootloader="pygrub"


Is there a way to convert on a XS 7.6 a VM from PV to HVM, or what is the only possible solution? I don't really want to install the VM from the scratch...

Link to comment

13 answers to this question

Recommended Posts

  • 0
16 minutes ago, Tobias Kreidl said:


The 1st link points to a blog which is very difficult to read as the author didn't use any formatting. It fails to me due to the fact I cannot find this vm.cfg file on the VM/host.

The 2nd link is exactly what I tried and described in the question and it doesn't work.


Yes, I am talking about a Linux VM.

Link to comment
  • 0
1 minute ago, Tobias Kreidl said:

What flavor and version of Linux is this? Not all Linux operating systems use grub as the boot loader.


Oh, of course. I am using SLES 12.5. I show here /etc/default/grub - I don't know if this is what josepablob asked for:


# If you change this file, run 'grub2-mkconfig -o /boot/grub2/grub.cfg' afterwards to update
# /boot/grub2/grub.cfg.

# Uncomment to set your own custom distributor. If you leave it unset or empty, the default
# policy is to determine the value from /etc/os-release
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/xvda1 splash=silent quiet showopts crashkernel=173M,highi video=1280x1024"

# Uncomment to automatically save last booted menu entry in GRUB2 environment

# variable `saved_entry'
#Uncomment to enable BadRAM filtering, modify to suit your needs

# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
# GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
#Uncomment to disable graphical terminal (grub-pc only)

# The resolution used on graphical terminal
#note that you can use only modes which your graphic card supports via VBE

# you can see them in real GRUB with the command `vbeinfo'
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#Uncomment to disable generation of recovery mode menu entries

#Uncomment to get a beep at grub start

# GRUB_INIT_TUNE="480 440 1"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16 crashkernel=173M\<4G"


Link to comment
  • 0
8 minutes ago, Jose Pablo Benavides said:


The XS is running under 7.6 - your link is referring to 8.1. I didn't upgrade the XS yet - I am writing here about the pre-check warnings.

Can we continue with the grub.conf file?

Or, to be more constructive: I don't mind to upgrade the VM from SLES 12.5 to SLES 15.1 - can we then continue and change the VM from PV to HVM?

There is always a solution. So, what do you suggest? Upgrade to 15.1 but this is not supported under XS 7.6.

I have of course a test XS 7.6 with a copy of the real VM where I can try everything before running it on the real system.

Link to comment
  • 0
2 minutes ago, Jose Pablo Benavides said:

do you see this file in your installation?




please paste contents here


As I wrote before:

3 hours ago, Peter VARGA1709157052 said:

Thank you for joining this thread. On the whole VM I cannot find this grub.conf file. Where should it be, or, can it have another name?


Another suggestion?

Link to comment
  • 0

The SLES 12.5 VM with PV is running on my test HyperVisor 8.1 without any problem.


I see it like this:

I shouldn't expect any problems and it's a good idea to create this VM using SLES 15.1 in the near future. Anyway, as now all is shutdown because of Corona I got really enough time to do accomplish it these days.

Apparently Citrix doesn't offer any solution how to convert a VM from PV to HVM. All Google entries are 8-10 years old and don't work [at least to me].


I am also not surprised that the latest HyperVisor version 8.1 doesn't support officially the latest SLES 12 Service Pack 5 version yet [it has been released just 3 months ago].

However, as a user of their free and unpaid version I am not entitled to complain.


I am now running all of my Linux VM with SLES 12.5 on XS 7.6 without any problem since months. According to the Citrix documentation https://docs.citrix.com/en-us/legacy-archive/downloads/citrix-xenserver-7.6.pdf SLES 12.5 isn't listed there but - of course - it works.


I understand it needs always time until a new SP is tested and added to the supported list. But, on the other hand, what should I do? I do it on my own risk and as SLES 12.5 isn't listed in the table I understand nobody supports me. But, once SLES 12.5 will appear in the table, will I really get a support...


I am only curious when Citrix adds SLES 12.5 to the supported Guest operating list for 8.1. For 7.6 I don't expect it anymore.


To make a long story short: Guys, don't bother, apparently there is no way to change it and I will install these 3 VM from scratch using HVM.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...