GRUB >= 2.00 has been unpacked but not yet configured.

Bug #1407790 reported by mca
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
New
Medium
Unassigned

Bug Description

I've upgraded my htpc box several times but only recently i found out im still on the generic 12.04 kernel. So i tried udating grub

root@htpc:/# update-grub
GRUB >= 2.00 has been unpacked but not yet configured.
grub-mkconfig will not work until the upgrade is complete.
It should run later as part of configuring the new GRUB packages.

I then tried the usual: apt-get -f install, reinstallation and removal of grub-pc, but still the error. grub-install works fine

root@htpc:/home/bart# grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

I started digging around a bit in /usr/sbin/grub-mkconfig and found:

if fgrep -qs '${GRUB_PREFIX}/video.lst' "${grub_mkconfig_dir}/00_header"; then
  echo "GRUB >= 2.00 has been unpacked but not yet configured." >&2
  echo "grub-mkconfig will not work until the upgrade is complete." >&2
  echo "It should run later as part of configuring the new GRUB packages." >&2
  exit 0
fi

but GRUB_PREFIX is nowhere defined??? Is this file delivered like that in the distribution? If so, it looks like a pretty silly bug. Anyway, I've added:
GRUB_PREFIX="/boot/grub/i386-pc"
export GRUB_PREFIX
 and now everything works fine.

root@htpc:/# apt-cache policy grub-pc
grub-pc:
  Installed: 2.02~beta2-9ubuntu1
  Candidate: 2.02~beta2-9ubuntu1
  Version table:
 *** 2.02~beta2-9ubuntu1 0
        500 http://nl.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
        100 /var/lib/dpkg/status
     2.02~beta2-9 0
        500 http://nl.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: grub (not installed)
ProcVersionSignature: Ubuntu 3.2.0-63.95-generic-pae 3.2.57
Uname: Linux 3.2.0-63-generic-pae i686
ApportVersion: 2.14.1-0ubuntu3.6
Architecture: i386
Date: Mon Jan 5 21:40:55 2015
InstallationDate: Installed on 2012-12-09 (756 days ago)
InstallationMedia: Ubuntu 12.04.1 LTS "Precise Pangolin" - Release i386 (20120817.3)
SourcePackage: grub
UpgradeStatus: Upgraded to trusty on 2014-05-29 (220 days ago)

Revision history for this message
mca (mca-two) wrote :
Revision history for this message
Phillip Susi (psusi) wrote :

That should not have made any difference since the script is not actually referencing GRUB_PREFIX since it was removed. The script is checking to see if /etc/grub.d/00_header still references it, which it shouldn't as it has been removed. Does your 00_header still reference it? If so something must have gone wrong in the upgrade somewhere. Purge grub-common and reinstall and it should reinstall that file which should no longer reference that variable.

Changed in grub (Ubuntu):
status: New → Incomplete
affects: grub (Ubuntu) → grub2 (Ubuntu)
Revision history for this message
mca (mca-two) wrote :

Thanks for the swift reply. Purging grub-common (and manually removing /boot/grub) following by an install of grub-pc indeed did the trick. Most have gone wrong in one of the previous upgrades as you suggested.

Only one warning remained during install, but that easy to fix:
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Could you please attach /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log if you still have them from the upgrade? This may help figuring out what went wrong.

Changed in grub2 (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for grub2 (Ubuntu) because there has been no activity for 60 days.]

Changed in grub2 (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Catalin Bararu (cbararu) wrote :

Hey, the same thing is happening to me. I saw that @Phillip Susi said that "The script is checking to see if /etc/grub.d/00_header still references it, which it shouldn't as it has been removed". Do you mean that the script has been removed or that the script has changed and is no longer referencing it ?
I am doing an upgrade from 12.04 to 14.04 then to 16.04. From what i saw, the 00_header does not change from 12 -> 14 -> 16.

Catalin Bararu (cbararu)
Changed in grub2 (Ubuntu):
status: Expired → Opinion
Catalin Bararu (cbararu)
Changed in grub2 (Ubuntu):
status: Opinion → New
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.