locked
VM config file corruption because of UEFI+Ubuntu RRS feed

  • Question

  • I have now finally managed to install Linux in a generation 2 VM: Ubuntu 14.04 http://cdimage.ubuntu.com/ubuntu-server/daily/20140226/

    After the installation, the system reboots and works just fine. But as soon as I shut it down, it disappears from the Hyper-V-Manager. It's still visible in PowerShell's Get-VM, but in the OffCritical state.

    This state is really strange: Start-VM in PowerShell just complains about the VM's state and exits. Hyper-V's monitor application (vmconnect), however, can still be used to launch the VM (I can only start and stop it, if I try to enter the VM's settings I get an error message about an object that could not be found) and then it will work just fine - except that it still doesn't show up in the Hyper-V-Manager and that it's still in the OffCritical state according to PowerShell.

    If i stop the Hyper-V service, remove the nvram-section from the VM config file (or just set map_max_index to 0) and start the service again, the VM reappears (in the Off state). But obviously it won't boot then because the UEFI BIOS doesn't know how it should boot the system, so that doesn't fix the problem.

    This part in the config file seemed particularly strange:

            <index0 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CBoot0000</index0>
            <index1 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CBootOrder</index1>
            <index10 type="string">937FE521-95AE-4D1A-8929-48BCD90AD31A00155D026B03</index10>
            <index11 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CBoot0002</index11>
            <index12 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CBoot0001</index12>
            <index13 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CBoot0003</index13>
            <index14 type="string">FAB7E9E1-39DD-4F2B-8408-E20E906CB6DEHDDP</index14>
            <index2 type="string">4C19049F-4137-4DD3-9C10-8B97A83FFDFAMemoryTypeInformation</index2>
            <index3 type="string">9FB9A8A1-2F4A-43A6-889C-D0F7B6C47AD5ClientId</index3>
            <index4 type="string">EB704011-1402-11D3-8E77-00A0C969723BMTC</index4>
            <index5 type="string">378D7B65-8DA9-4773-B6E4-A47826A833E1RTC</index5>
            <index6 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CLang</index6>
            <index7 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CPlatformLang</index7>
            <index8 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CConIn</index8>
            <index9 type="string">8BE4DF61-93CA-11D2-AA0D-00E098032B8CConOut</index9>
    

    So there are several GUIDs concatenated with names. Because there seems to be a tag in the nvram-section for each of these GUIDs, I removed the text after the GUIDs, just to see what would happen. Result: The Hyper-V service goes crazy (100% on a single CPU core) and has to be stopped from the task manager. I don't think that I should be able to break Hyper-V so easily. But that's not my problem.

    My problem is: How can I make the VM show up in the Hyper-V manager without destroying the boot configuration?

    If you need it, here is the entire VM config file: https://ghostbin.com/paste/qk45y

    Somebody else created this (https://bugs.launchpad.net/ubuntu/+source/efibootmgr/+bug/1272664) ubuntu bug report for this issue, however a VM really shouldn't be able to corrupt its own config file, right? So I believe that this might be a Hyper-V bug, not a bug in linux/ubuntu.

    • Moved by BrianEhMVP Thursday, February 27, 2014 4:38 PM
    Thursday, February 27, 2014 2:45 PM

Answers

All replies

  • Hi junpq, Please could you tell me exactly which file did you use from http://cdimage.ubuntu.com/ubuntu-server/daily/20140226/ ? I tried creating a Generation 2 VM but the keyboard hangs for me. Let me know and I can help you investigate this further.

    Thanks,

    Abhishek

    Thursday, February 27, 2014 9:41 PM
  • Yes, the ubuntu server installer doesn't include the Hyper-V drivers, so the keyboard doesn't work. I injected the drivers into the initrd and added the insmod commands to the init script to install the system. I'm not sure, but I think that you should be able to start the installation from a live disc (http://cdimage.ubuntu.com/daily-live/current/, 64-bit PC desktop image) without doing all that. Then it won't be ubuntu server, but I doubt that it makes a difference for this problem.
    • Edited by junpq Saturday, March 1, 2014 4:31 PM
    Friday, February 28, 2014 6:04 PM
  • Hi junpq, I am following up with Ubuntu to have this resolved. I would need probably all of next week to fix this issue. Please hold until then.

    Thanks,

    Abhishek

    Saturday, March 1, 2014 5:07 PM
  • Hi junpq, Minor update. This is an Ubuntu 14.04 specific issue and is now being tracked through the following public bug: https://bugs.launchpad.net/ubuntu/+source/efibootmgr/+bug/1272664

    Please track it until fix is released.

    Thanks,

    Abhishek

    • Marked as answer by junpq Wednesday, March 12, 2014 5:21 PM
    Friday, March 7, 2014 10:28 PM
  • ~~

     This is an Ubuntu 14.04 specific issue and is now being tracked through the following public bug:https://bugs.launchpad.net/ubuntu/+source/efibootmgr/+bug/1272664

    Please track it until fix is released.

    ~~

    Look like, problem will be fixed on 2014-03-12

     {=

    this will be included in the daily build for tomorrow - March 12 :

    https://bugs.launchpad.net/debian/+source/efibootmgr/+bug/1272664/comments/11

    ==
    #11 Launchpad Janitor (janitor)  wrote  on 2014-03-11:                       

    This bug was fixed in the package efibootmgr - 0.5.4-7ubuntu1

    ---------------
    efibootmgr (0.5.4-7ubuntu1) trusty; urgency=medium

      * Remove device path padding on non-Itanium (LP: #1272664).
    ==



    Thursday, March 13, 2014 2:04 PM