Oneiric upgrade, boot hangs at error: symbol not found: grub_divmod64_full

Bug #836378 reported by Nick Semenkovich
32
This bug affects 18 people
Affects Status Importance Assigned to Milestone
Software Updater
Invalid
Undecided
Unassigned
grub2 (Ubuntu)
Invalid
High
Unassigned

Bug Description

Upgraded from Natty to Oneiric on a machine with a two-drive RAID 1 md0 using do-release-upgrade -d

The upgrade went fine, but on reboot, the machine simply hangs at:
error: symbol not found: 'grub_divmod64_full'.
grub rescue>

Trying to recover and grab logs now.

Revision history for this message
Nick Semenkovich (semenko) wrote :

[The md device was checked before the upgrade via sync_action]

grub rescue> ls
(md1) (hd0) (hd0,msdos1) (hd1) (hd1,msdos1)

grub rescue> ls (md1)/boot
[ Shows boot dir]
grub rescue> ls (hd0,msdos1)/boot
[ Shows boot dir]
grub rescue> ls (hd1,msdos1)/boot
[ Shows boot dir]

grub rescue> insmod linux
error: symbol not found: `grub_divmod64_full`

Revision history for this message
Nick Semenkovich (semenko) wrote :

grub rescue> set
prefix=(md1)/boot/grub
root=md1

grub rescue> insmod normal
error: symbol not found: `grub_divmod64_full`

Revision history for this message
Nick Semenkovich (semenko) wrote :
Revision history for this message
Nick Semenkovich (semenko) wrote :
Revision history for this message
Nick Semenkovich (semenko) wrote :
Revision history for this message
Nick Semenkovich (semenko) wrote :

Recovered by reinstalling grub via Oneiric netinst mini.iso image.

$ apt-cache policy grub grub-common grub-pc-bin grub2 grub2-common
grub:
  Installed: (none)
  Candidate: 0.97-29ubuntu62
  Version table:
     0.97-29ubuntu62 0
        500 http://mirrors.mit.edu/ubuntu/ oneiric/main amd64 Packages
grub-common:
  Installed: 1.99-11ubuntu1
  Candidate: 1.99-11ubuntu1
  Version table:
 *** 1.99-11ubuntu1 0
        500 http://mirrors.mit.edu/ubuntu/ oneiric/main amd64 Packages
        100 /var/lib/dpkg/status
grub2-common:
  Installed: 1.99-11ubuntu1
  Candidate: 1.99-11ubuntu1
  Version table:
 *** 1.99-11ubuntu1 0
        500 http://mirrors.mit.edu/ubuntu/ oneiric/main amd64 Packages
        100 /var/lib/dpkg/status
grub2:
  Installed: (none)
  Candidate: 1.99-11ubuntu1
  Version table:
     1.99-11ubuntu1 0
        500 http://mirrors.mit.edu/ubuntu/ oneiric/universe amd64 Packages
grub-pc-bin:
  Installed: 1.99-11ubuntu1
  Candidate: 1.99-11ubuntu1
  Version table:
 *** 1.99-11ubuntu1 0
        500 http://mirrors.mit.edu/ubuntu/ oneiric/main amd64 Packages
        100 /var/lib/dpkg/status

Changed in grub2 (Ubuntu):
status: New → Confirmed
Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Severe impact on small proportion of users -> High

Changed in grub2 (Ubuntu):
importance: Undecided → High
Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Looks like the symbol is used in a bunch of places:

affs.mod
    13: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
afs_be.mod
    12: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
afs.mod
    12: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
biosdisk.mod
    12: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
btrfs.mod
    13: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
bufio.mod
     8: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
ls.mod
    16: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
lvm.mod
    14: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
nilfs2.mod
    13: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
ntfs.mod
    13: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
pxe.mod
    15: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
raid.mod
    14: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
scsi.mod
    13: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
xnu.mod
    26: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full
zfs.mod
    15: 00000000 0 NOTYPE GLOBAL DEFAULT UND grub_divmod64_full

and from the source should come from kernel.img I think (grub-core/kern/misc.c).

That changed in ~April - used to be grub_divmod64 and is now inlined and calls the _full.

Dave

Revision history for this message
Dave Jones (dgjones) wrote :

I'm similarly affected, on a fresh install of 11.10 using the alternate cd (which has been successfully used to install on another machine) at boot up I get the same error message.

The machine has various drives:-

1) Sata 80Gb, partitioned as 25Gb ext4 /home, 4Gb swap, balance as ext4 /home
2) Sata 300Gb partitioned as 100gb ext4 Data and 200Gb ext4 Data
3) Pata 320Gb partitioned wholly as ext3 Data

Both Sata drives were formatted on install.

Machine itself is a Dell Optiplex 210L

Talking on irc, it was suggested that a copy of /boot could help with solving the bug.

Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Well Dave Jone's tar looks kind of sane; I can see grub_divmod64_full in the kernel.img

Dave

Revision history for this message
sigdrifa (sigdrifa) wrote :

I had the same problem, a little bit of googling brought me to this article: http://sahd.lamafam.org/?p=1866

Even though in my case the problem occurred after a distribution upgrade and not after adding a new HD I still decided to check the boot priority settings in BIOS (after re-installing grub several times didn't make a difference). The settings hadn't changed, although the slots of my internal USB memory card reader were listed between the DVD drive and the first hard disk. That was never a problem before, but I still decided to put the boot hard disk in second place. That seems to have solved the problem. Why, I don't know. There was no memory card in the card reader.

Hope this helps.

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

I'm afraid that this is due to a local misconfiguration. Specifically, this problem occurs when the grub-pc package has not been configured to install GRUB to the location where it's actually being booted from, so it thinks it's successfully upgraded but you actually end up booting from an old version of the GRUB core image, which is now incompatible with the modules in /boot/grub/. I wrote up a summary of similar problems on my blog a while back (http://www.chiark.greenend.org.uk/ucgi/~cjwatson/blosxom/debian/2010-06-21-grub2-boot-problems.html); my comments about work being done to improve matters are now dated but the basic summary is still accurate.

Unfortunately, the PC architecture is such that we can't detect this misconfiguration automatically; I think I've now done all I can do along those lines without annoying people with questions on every single update.

The problem should be visible in the output of this command:

  sudo debconf-show grub-pc | grep install_devices

To fix your configuration, run 'sudo dpkg-reconfigure grub-pc'. Just press Enter at all the questions apart from "GRUB install devices:". At the "GRUB install devices:" prompt, it is normally correct to select the boot record(s) on all your hard disk(s). People with specialised boot loader requirements may need to do something slightly different.

Changed in grub2 (Ubuntu):
status: Confirmed → Invalid
Changed in update-manager:
status: New → Invalid
Revision history for this message
Colin Watson (cjwatson) wrote :

(Invalid is the best status I can come up with; maybe Won't Fix would be better, but I think it's actually Can't Fix Any Better Than I Already Have.)

Revision history for this message
Jeremy Brown (jeremybrown-home) wrote :

I encountered this problem in Ubuntu 11.10 when applying the latest Software Update. The updater reported "Grub Upgrade failed" and offered only a reboot now button. When the laptop rebooted, there was the grub-rescue prompt.

This is a single-drive machine with only Ubuntu installed. I hadn't made any changes to the drive configuration or to Grub.

From a user's point of view, this is devastating. Luckily I have another machine so I was able to find the boot repair tool via a google search, but considering that Ubuntu is being marketed as an OS for unsophisticated users, it is just wrong to brick the PC during a routine software update.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Related questions

Remote bug watches

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