error: no such partition. grub-pc fails to detect mdraid partitions
Bug #987354 reported by
TJ
This bug affects 3 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Debian) |
New
|
Unknown
|
|||
grub2 (Ubuntu) |
Invalid
|
High
|
Unassigned |
Bug Description
After upgrading Oneiric to Precise on a 32-bit server that has md-raid mirrored boot drives using:
do-release-upgrade -d
On reboot GRUB2 totally fails to find its 2nd stage files. It reports:
error: no such partition
This also happens when entering the rescue command-line and trying to do operations such as:
grub> ls
error: no such partition
Initial inspection of the grub environment indicates the UUIDs and grub prefix are as they were prior to the update.
It is not possible to do anything with GRUB2 that requires it to find/load second stage files - which puts most of its command-line tools out of reach.
Changed in grub2 (Ubuntu): | |
assignee: | nobody → TJ (intuitivenipple) |
status: | New → In Progress |
summary: |
- [Oneiric -> Precise upgrade] error: no such partition + error: no such partition. grub-pc fails to detect mdraid partitions |
description: | updated |
Changed in grub2 (Debian): | |
status: | Unknown → New |
Changed in grub2 (Ubuntu): | |
importance: | Undecided → High |
To post a comment you must log in.
This is caused when the existing GRUB configuration is incorrect and GRUB only 'knows' about one disk in the MD RAID set.
In this instance there is a RAID-1 mirror array of two disks on the first two IDE PATA controller ports (both as masters).
When the system boots BIOS does not know anything about software RAID devices so it reads the grub bootloader files from one drive. If that drive hasn't been updated by 'update-grub' then it will have older binary files on it.
When the GRUB package changes enough that the Application Binary Interface (ABI) changes it means that the older binaries cannot load grub's support libraries since the entry points and function signatures have changed.
A work-around to get the system booted is to enter the BIOS set-up and change the order of the disks in the DM RAID array so the disk with the updated master boot record is read first. This is easy to figure out if it is a 2-disk mirror.
Once the system is started do:
dpkg-reconfigure grub-pc
and ensure all disks the system might boot from are selected.