Linux Tips, Xen

Citrix XEN VM Boot Error code: INVALID_SOURCE Unable to Boot from CD/DVD

_

You have installed Citrix Xen Cloud Platform (XCP) and configured it (including network, templates, OS ISO’s etc.; even you have created your first VM with the help of documentation provided by Citrix but when you try to boot your VM for first time it throws following error as Citrix is not able to boot the VM from CD/DVD drives which are attached to it.

[root@xcp1-slave2 iso]# xe vm-start uuid=5ce47d4e-227c-9d1e-4710-21b7c998318e
Error code: INVALID_SOURCE
Error parameters: Unable to access a required file in the specified repository: file:///tmp/cdrom-repo-vIHKIE/install.amd/xen/vmlinuz., ,

The problem here is the boot order for the VM is not properly set (through Template) at the time of VM creation and VM remains Halted

[root@xcp1-slave2 ~]# xe vm-list uuid=5ce47d4e-227c-9d1e-4710-21b7c998318e
uuid ( RO) : 5ce47d4e-227c-9d1e-4710-21b7c998318e
name-label ( RW): test
power-state ( RO): halted

To fix this error first we need to check the boot sequence for the VM. Use following command to check it

[root@xcp1-slave2 iso]# xe vm-param-list uuid=5ce47d4e-227c-9d1e-4710-21b7c998318e | grep HVM-boot
HVM-boot-policy ( RW):
HVM-boot-params (MRW):

The above output shows that boot order is not set (“HVM-boot-params (MRW)” is blank) for the VM. Now, execute following command to set boot sequence of the VM

[root@xcp1-slave2 iso]# xe vm-param-set uuid=5ce47d4e-227c-9d1e-4710-21b7c998318e HVM-boot-policy=”BIOS\ order” HVM-boot-params:order=”dc”

Verify the boot order now.

[root@xcp1-slave2 iso]# xe vm-param-list uuid=5ce47d4e-227c-9d1e-4710-21b7c998318e | grep HVM-boot
HVM-boot-policy ( RW): BIOS order
HVM-boot-params (MRW): order: dc

We can see that boot order (HVM-boot-params (MRW)) is set to “dc” i.e. CD/DVD

Thats it!!! You should able to start the VM and boot it from ISO you have mounted.

[root@xcp1-slave2 iso]# xe vm-list uuid=5ce47d4e-227c-9d1e-4710-21b7c998318e
uuid ( RO) : 5ce47d4e-227c-9d1e-4710-21b7c998318e
name-label ( RW): test
power-state ( RO): running

NOTE: In this post “5ce47d4e-227c-9d1e-4710-21b7c998318e” is the UID of the VM and it will different in your case. So, make sure to change the UID before executing the commands.

14 Comments

  1. Thank you very much for this information.

    I have already installed dozens of XenServers, any versions. Any I saw that this only happens when I install the Domain-0 OS using an external USB-DVD-Drive.

    When I did the past instalations using a SATA dvdrom, I havnt this problem, even removing the sata dvdrom after install.

    Maybe it´s related to the boot order configured on the mainboard.

    Whatever, now it works, thanks man!

  2. Hello Rafael,

    Thanks for your comment and good to hear that everything is good now.

    Regards,
    Milind

  3. Davide

    Thank you very much, this tip is very useful.

    I find a error in xe vm-param-set instruction:
    BIOS order parameter must write with quotes

    Regards,
    Davide

  4. Thanks Davide for your comment and I am glad that my post helped you.

    Regarding vm-param-set instructions, thanks for bringing it in notice. I have corrected it :)

    Thanks again

  5. gosvaz

    Thanks! It’s pretty clear now.
    It’s my first attempt to install a VM with XEN and i was a little lost.

  6. Hello Gosvaz,

    Thanks for the comment and I am glad this posted helped you.

  7. Larry Liu

    Hi there.

    Good notes but xencenter or xl console can no longer interact with the VM’s console any more. No matter what I try on my keyboard, there’s no response on the DVD booted up screen. Any idea?

  8. Hello Larry,

    Try to restart the Xencenter or login to node and restart toolstack using command “xe-toolstack-restart”. If it doesn’t help can you please contact me using Contact us page?

  9. Mitter

    I did what has written on this page.

    but while starting vm it says : Cannot start here [HVM not supported]

    [root@xenserver dev]# xe vm-start uuid=c8508d90-a1c2-0616-2fe1-fb0eef888f38
    There are no suitable hosts to start this VM on.
    The following table provides per-host reasons for why the VM could not be started:

    xenserver : Cannot start here [HVM not supported]

    There were no hosts available to complete the specified operation.
    [root@xenserver dev]#

    Please help.

    How to get rid of this error. xenserver : Cannot start here [HVM not supported]

    Thanks!
    Mitter S. Thakur.

  10. Hello Mitter,

    Please check if hardware virtualization is enabled in BIOS.

  11. Mitter

    Hello Milind,

    Thanks for your reply.

    Virtualization is enabled in host’s BIOS.

    Can you please specify where exactly I need to enable virtualization? In my host pc or in vmware workstation?

    Please see my scenario :

    On host PC I have installed Windows7 -> on windows 7 I have installed VMware workstation 7.1.0 -> and on Vmware workstation 7.1.0, I have installed XenServer 6.2.0.
    and on same windows 7, I have installed XenCenter to manage XenServer but while trying to install/start guest(Centos 6.4 64 bit) on this xenserver it says : Cannot start here [HVM not supported]

    Please share steps in detail.

    Thanks!
    Mitter S. Thakur

  12. It need to be enabled on Host level but as you are using one more layer of virtualization i.e. vmware workstation, you will have to check if workstation provide any such feature (as per my knowledge its not possible). I would recommend you to install xenserver on a raw server of system.

  13. Under the bonnet, what the xe command changes is the Xen guest’s (domU’s) mode from PV to PVHVM. Same mode as when you choose other media when creating a Linux VM.

    Keep in mind that PVHVM is NOT officially support on XenServer 6.2 and prior by Citrix (in most cases it just works fine). PV Linux has its limitations e.g. upgrading the kernel and release upgrade etc. It is support from XenServer 6.5 anyway.

  14. Thanks, this fixed my issue trying to boot a new Ubuntu 12.04 virtual machine. This works directly through XenServer, now I need to work out how to do the same within CloudPlatform… The problem is that the virtual machine goes into an error state pretty quick before I can determine the host it’s on and run the vm-param-set, once in that state it can only be deleted from CloudPlatform and not started again.

Leave a Reply