Bug#756253: Upgrade from 2.02~beta2-10 to 2.02~beta2-11 left grub unbootable

Steve McIntyre steve at einval.com
Sun Jan 18 11:37:28 UTC 2015


On Sun, Jan 18, 2015 at 08:16:51AM +0900, Mike Hommey wrote:
>On Sat, Jan 17, 2015 at 05:22:52PM +0000, Steve McIntyre wrote:
>> On Sat, Jan 17, 2015 at 04:16:56PM +0900, Mike Hommey wrote:
>> >On Fri, Jan 16, 2015 at 10:28:51PM +0000, Steve McIntyre wrote:
>> >> Hi Mike,
>> >> 
>> >> Have you seen this again recently? Is it still happening for you?
>> >
>> >As a matter of fact, it hasn't happened recently. That being said, I'm
>> >not upgrading grub that often, but I happen to have upgraded it today,
>> >and a reboot worked. It's too late now to know what the efi boot table
>> >looked like before, but during the package install, efibootmgr
>> >complained like this:
>> >
>> >Installing for x86_64-efi platform.
>> >efibootmgr: Could not set variable Boot0001: No such file or directory
>> >efibootmgr: Could not prepare boot variable: No such file or directory
>> 
>> Oh, that's much more interesting. That suggests your actual problem is
>> below grub - either efibootmgr or your firmware.
>
>Note that I don't think this was being printed when I filed the bug. As
>a matter of fact, message #20 says I had a Boot0001 back then, and I had
>2 Windows boot manager entries, so the gap probably comes from me fixing
>that afterwards.

Hmm, maybe.

>> Adding a CC to the
>> efibootmgr package maintainer too. What versions do you have for
>> libefivar0 and efibootmgr? If you run
>
>ii  efibootmgr                  0.11.0-3           amd64
>ii  libefivar0:amd64            0.15-3             amd64
>
>Now, since the history of the bug says that I filed it in july and had
>it still occur on oct 24, here is another possibly interesting bit of
>data:
>
># zgrep -h upgrade\ libefivar0 dpkg.log* | sort
>2014-07-01 14:31:17 upgrade libefivar0:amd64 0.10-2 0.10-4
>2014-07-15 18:03:11 upgrade libefivar0:amd64 0.10-4 0.10-5
>2014-10-04 09:26:11 upgrade libefivar0:amd64 0.10-5 0.12-1
>2014-10-18 10:44:58 upgrade libefivar0:amd64 0.12-1 0.14-1
>2014-11-03 11:26:54 upgrade libefivar0:amd64 0.14-1 0.15-1
>2014-12-16 08:55:38 upgrade libefivar0:amd64 0.15-1 0.15-2
>2014-12-23 19:23:29 upgrade libefivar0:amd64 0.15-2 0.15-3
># zgrep -h upgrade\ efibootmgr dpkg.log* | sort
>2014-05-07 17:19:09 upgrade efibootmgr:amd64 0.5.4-7 0.6.1-3
>2014-06-20 21:20:34 upgrade efibootmgr:amd64 0.6.1-3 0.7.0-1
>2014-07-15 18:04:01 upgrade efibootmgr:amd64 0.7.0-1 0.7.0-2
>2014-10-04 09:27:00 upgrade efibootmgr:amd64 0.7.0-2 0.9.0-1
>2014-10-18 10:57:25 upgrade efibootmgr:amd64 0.9.0-1 0.9.0-2
>2014-11-03 11:27:20 upgrade efibootmgr:amd64 0.9.0-2 0.11.0-1
>2014-12-16 08:58:39 upgrade efibootmgr:amd64 0.11.0-1 0.11.0-1.1
>2014-12-23 19:23:49 upgrade efibootmgr:amd64 0.11.0-1.1 0.11.0-3
># zgrep -h upgrade\ grub-efi-amd64 dpkg.log* | sort
>2014-04-09 12:11:00 upgrade grub-efi-amd64:amd64 2.00-22 2.02~beta2-8
>2014-04-09 12:11:00 upgrade grub-efi-amd64-bin:amd64 2.00-22 2.02~beta2-8
>2014-06-20 21:20:52 upgrade grub-efi-amd64:amd64 2.02~beta2-8 2.02~beta2-10
>2014-06-20 21:20:53 upgrade grub-efi-amd64-bin:amd64 2.02~beta2-8 2.02~beta2-10
>2014-07-28 08:39:14 upgrade grub-efi-amd64:amd64 2.02~beta2-10 2.02~beta2-11
>2014-07-28 08:39:15 upgrade grub-efi-amd64-bin:amd64 2.02~beta2-10 2.02~beta2-11
>2014-09-24 06:10:56 upgrade grub-efi-amd64:amd64 2.02~beta2-11 2.02~beta2-13
>2014-09-24 06:10:57 upgrade grub-efi-amd64-bin:amd64 2.02~beta2-11 2.02~beta2-13
>2014-10-04 09:28:07 upgrade grub-efi-amd64:amd64 2.02~beta2-13 2.02~beta2-14
>2014-10-04 09:28:08 upgrade grub-efi-amd64-bin:amd64 2.02~beta2-13 2.02~beta2-14
>2014-10-18 10:58:07 upgrade grub-efi-amd64:amd64 2.02~beta2-14 2.02~beta2-15
>2014-10-18 10:58:07 upgrade grub-efi-amd64-bin:amd64 2.02~beta2-14 2.02~beta2-15
>2014-12-16 08:59:19 upgrade grub-efi-amd64:amd64 2.02~beta2-15 2.02~beta2-18
>2014-12-16 08:59:20 upgrade grub-efi-amd64-bin:amd64 2.02~beta2-15 2.02~beta2-18
>2014-12-23 19:23:52 upgrade grub-efi-amd64:amd64 2.02~beta2-18 2.02~beta2-19
>2014-12-23 19:23:53 upgrade grub-efi-amd64-bin:amd64 2.02~beta2-18 2.02~beta2-19
>2015-01-17 11:38:15 upgrade grub-efi-amd64:amd64 2.02~beta2-19 2.02~beta2-20
>2015-01-17 11:38:16 upgrade grub-efi-amd64-bin:amd64 2.02~beta2-19 2.02~beta2-20

There's been quite a lot of activity in efibootmgr and efivar, both
upstream and in Debian, with a lot of bugs identified and fixed.

>>   # strace -f -o strace grub-install
>
>I don't think this would be relevant to the original bug, but here you
>are, attached.
>
>There is a ENOSPC in response to creating a new variable. So in fact, it
>may well be not fixed, but "seems" to be fixed because efibootmgr fails
>to do anything and doesn't break the boot configuration as a result.

The ENOSPC handling has been bad in the past, but it's not clear that
was the cause of your original bug. :-/ *Now* it's a very bad state to
be in, and may cause other problems too. On the Dell machine you have,
I'm not personally aware of workarounds/fixes for it, but I know that
on some machines re-flashing the firmware can force fix this by
forcing cleaning of used space.

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
"This dress doesn't reverse." -- Alden Spiess



More information about the Pkg-grub-devel mailing list