[Bug 1272664] Re: Installing UEFI boot entry on Hyper-V gen 2 corrupts VM configuration, making the VM unuseable
Abhishek Gupta
abgupta at microsoft.com
Fri Mar 7 02:57:33 UTC 2014
The problem appears to be in the following UEFI structures:
typedef struct {
UINT8 Type; ///< 0x01 Hardware Device Path.
///< 0x02 ACPI Device Path.
///< 0x03 Messaging Device Path.
///< 0x04 Media Device Path.
///< 0x05 BIOS Boot Specification Device Path.
///< 0x7F End of Hardware Device Path.
UINT8 SubType; ///< Varies by Type
///< 0xFF End Entire Device Path, or
///< 0x01 End This Instance of a Device Path and start a new
///< Device Path.
UINT8 Length[2]; ///< Specific Device Path data. Type and Sub-Type
define
///< type of data. Size of data is included in Length.
} EFI_DEVICE_PATH_PROTOCOL;
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
///
/// Describes the entry in a partition table, starting with entry 1.
/// Partition number zero represents the entire device. Valid
/// partition numbers for a MBR partition are [1, 4]. Valid
/// partition numbers for a GPT partition are [1,
NumberOfPartitionEntries].
///
UINT32 PartitionNumber;
///
/// Starting LBA of the partition on the hard drive.
///
UINT64 PartitionStart;
///
/// Size of the partition in units of Logical Blocks.
///
UINT64 PartitionSize;
///
/// Signature unique to this partition:
/// If SignatureType is 0, this field has to be initialized with 16
zeros.
/// If SignatureType is 1, the MBR signature is stored in the first
4 bytes of this field.
/// The other 12 bytes are initialized with zeros.
/// If SignatureType is 2, this field contains a 16 byte signature.
///
UINT8 Signature[16];
///
/// Partition Format: (Unused values reserved).
/// 0x01 - PC-AT compatible legacy MBR.
/// 0x02 - GUID Partition Table.
///
UINT8 MBRType;
///
/// Type of Disk Signature: (Unused values reserved).
/// 0x00 - No Disk Signature.
/// 0x01 - 32-bit signature from address 0x1b8 of the type 0x01 MBR.
/// 0x02 - GUID signature.
///
UINT8 SignatureType;
} HARDDRIVE_DEVICE_PATH;
It is our guess that HARDDRIVE_DEVICE_PATH is not packed in the Ubuntu source tree. Please confirm.
Thanks,
Abhishek
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to efibootmgr in Ubuntu.
https://bugs.launchpad.net/bugs/1272664
Title:
Installing UEFI boot entry on Hyper-V gen 2 corrupts VM configuration,
making the VM unuseable
Status in “efibootmgr” package in Ubuntu:
Confirmed
Bug description:
Installing Ubuntu on a generation 2 Hyper-V VM corrupts the
configuration of said VM, so the VM cannot be loaded by the VM manager
any more and the VMs settings are no longer accessable.
I narrowed the cause of the bug down to the creation of the boot
loader entry in the VMs UEFI.
Steps to repoduce:
* Create a new generation 2 VM in Hyper-V
* Use a Alpha 2 (or newer) image of 14.04 to install (X-)Ubuntu (Kernel 3.13 or newer is required for the generation 2)
* After the successful installation try to access the VMs settings menu -> No longer accessaible, Hyper-V returns an error
* Check the Hyper-V Manager -> The corrupted VM is no longer in the list of VMs.
Additional it can be confirmed afterwards by doing:
* Create a new generation 2 VM using the same virtual hard drive file (*.vhdx) used before.
* Boot into the live session.
* Create the UEFI boot entry again
-> VM is again corrupted and shows the same symptoms as above.
This bug breaks Ubuntu on Hyper-V generation 2. That is a serious
issue, as the generation 2 offers a lot of improvements over the
generation 1.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: grub-efi-amd64-signed 1.27+2.00-22
ProcVersionSignature: Ubuntu 3.13.0-5.20-generic 3.13.0
Uname: Linux 3.13.0-5-generic x86_64
ApportVersion: 2.13.1-0ubuntu1
Architecture: amd64
CasperVersion: 1.336ubuntu1
Date: Sat Jan 25 12:25:12 2014
LiveMediaBuild: Xubuntu 14.04 LTS "Trusty Tahr" - Alpha amd64 (20140121.1)
ProcEnviron:
LANGUAGE=en_US
TERM=xterm
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: grub2-signed
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/efibootmgr/+bug/1272664/+subscriptions
More information about the foundations-bugs
mailing list