grub2-signed doesn't support removable drive.

Bug #1087653 reported by Shih-Yuan Lee
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
Fix Released
High
James M. Leddy
Precise
Fix Released
High
James M. Leddy
grub2 (Ubuntu)
Fix Released
High
Colin Watson

Bug Description

* Package Versions
grub2-signed=1.9~ubuntu12.04.1+1.99-21ubuntu3.5 in precise-proposed
grub2-signed=1.9+2.00-7ubuntu11 in quantal.

* Reproduce Steps
1. Generate a bootable USB drive by the following commands:
$ sudo grub-install --removable --uefi-secure-boot --root-directory /media/username/UsbStick /dev/sdb1
$ cp /boot/grub/grub.cfg /media/username/UsbStick/boot/grub/
2. Use this USB drive to boot on UEFI BIOS.

* Expected Result
We can see the GRUB menu.

* Actually Result
We can not see the GRUB menu comparing to the USB drive made by the following commands:
$ sudo grub-install --removable --no-uefi-secure-boot --root-directory /media/username/UsbStick /dev/sdb1
$ cp /boot/grub/grub.cfg /media/username/UsbStick/boot/grub/

description: updated
description: updated
Kent Lin (kent-jclin)
Changed in oem-priority:
importance: Undecided → High
Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

I can manually input the following commands in grub2-signed=1.9~ubuntu12.04.1+1.99-21ubuntu3.5 and grub2-sign=1.9+2.00-7ubuntu11 on USB drive to show GRUB menu.

search.fs_uuid 4B61-C71D root hd1,msdos1
set prefix=($root)/boot/grub
configfile $prefix/grub.cfg

So the problem seems to be that it will not read grub.cfg under the (hd1,msdos1)/EFI/BOOT/ by default.

Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

When I put grub.cfg under the (hd1,msdos1)/EFI/ubuntu/, it works.

summary: - grub2-signed doesn't support vfat file system on USB drive.
+ grub2-signed doesn't support removable drive.
Revision history for this message
Colin Watson (cjwatson) wrote :

<FourDollars> cjwatson: grub2-signed will only read (hd1,msdos1)/EFI/ubuntu/grub.cfg but not (hd1,msdos1)/EFI/BOOT/grub.cfg .
<cjwatson> FourDollars: grubx64.efi reads from /EFI/ubuntu/; gcdx64.efi reads from /EFI/BOOT/
<cjwatson> they're intentionally configured differently per the UEFI specification
<cjwatson> so grub-install --removable probably needs to remember to use gcdx64.efi

affects: grub2-signed (Ubuntu) → grub2 (Ubuntu)
Colin Watson (cjwatson)
Changed in grub2 (Ubuntu):
assignee: nobody → Colin Watson (cjwatson)
importance: Undecided → High
status: New → Fix Committed
Revision history for this message
Colin Watson (cjwatson) wrote :

I'm not going to create a precise task on this bug, because it's simply a mistake in the set of secure boot changes currently undergoing SRU and is not yet actually a bug in precise; but I will backport the fix.

Revision history for this message
Colin Watson (cjwatson) wrote :

(As discussed on IRC, this also requires creating /.disk/info - contents irrelevant - on the removable device, and depending on grub.cfg may require copying /usr/share/grub/unicode.pf2 to /media/UsbStick/boot/grub/unicode.pf2 if you want a pretty menu.)

Changed in oem-priority:
assignee: nobody → James M. Leddy (jm-leddy)
Steve Magoun (smagoun)
Changed in oem-priority:
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.00-7ubuntu14

---------------
grub2 (2.00-7ubuntu14) raring; urgency=low

  * When installing to removable media with UEFI Secure Boot, install
    gcdx64.efi.signed rather than grubx64.efi.signed (LP: #1087653).
  * Make gcdx64.efi.signed fall back to sourcing $prefix/grub.cfg if
    $prefix/x86_64-efi/grub.cfg is missing, as is likely when using
    'grub-install --removable'.
 -- Colin Watson <email address hidden> Mon, 10 Dec 2012 11:29:04 +0000

Changed in grub2 (Ubuntu):
status: Fix Committed → Fix Released
Changed in oem-priority:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.