#721016 grub-pc: on using mbr from second SSD: error: disk ',gpt2' not found

Package:
grub-pc
Source:
grub2
Description:
GRand Unified Bootloader, version 2 (PC/BIOS version)
Submitter:
Martin Steigerwald
Date:
2013-08-27 08:24:06 UTC
Severity:
important
#721016#5
Date:
2013-08-27 08:21:26 UTC
From:
To:
Dear Maintainer,

I added a 30 GB mSATA SSD to my system some time ago and yesterday moved my
Debian GNU/Linux Sid installation to it.

First I tried UEFI which failed like in 720513. I will add my findings there.

Then I told gdisk to make a hybrid MBR, then deleted the GPT partition and
well redid all other partitions so the start from partition one and told
gdisk to zap all GPT structures.

Then I installed grub-pc 2.00-17 from chroot for both /dev/sda and /dev/sdb.

On reboot I got:

Welcome to GRUB!
error: disk ',gpt2' not found.
Entering rescue mode...
grub rescue> help
Unknown command 'help'
grub rescue> insmod help
error: disk ',gpt2' not found.

At this point I consider its not worth trying anything else to get the
system to boot.

I booted into GRML 2013.2 64-Bit and reinstalled GRUB. I also remade
device.map once via grub-mkdevicemap I think. I grepped to ,gpt2 in
grub configuration – all to no avail.

Finally I disabled the new mSATA SSD in BIOS.

Then it booted from the MBR of the old Intel SSD 320 and it used my new
GRUB configuration from the system I copied to the mSATA SSD.

Today I upgraded to 2.00-18. And I made sure its on both disks:

merkaba:~> grub-install /dev/sda
installation beendet. Keine Fehler aufgetreten.
merkaba:~> grub-install /dev/sdb
installation beendet. Keine Fehler aufgetreten.
merkaba:~> grub-install "(hd0)"
/usr/sbin/grub-bios-setup: Fehler: Laufwerk »hd0« wurde nicht gefunden..
merkaba:~#1> grub-mkdevicemap
merkaba:~> grub-install /dev/sda
installation beendet. Keine Fehler aufgetreten.
merkaba:~> grub-install /dev/sdb
installation beendet. Keine Fehler aufgetreten.
merkaba:~> grub-install "(hd0)"
installation beendet. Keine Fehler aufgetreten.
merkaba:~> grub-install "(hd1)"
installation beendet. Keine Fehler aufgetreten.
merkaba:~>


martin@merkaba:~> cat /boot/grub/device.map
(hd0)   /dev/disk/by-id/ata-INTEL_SSDSA2CW300G3_SERIAL-OF-INTEL-SSD-320
(hd1)   /dev/disk/by-id/ata-INTEL_SSDMCEAC030B3_SERIAL-OF-MSATA-SSD

hd0 is old Intel SSD 320 (300 GB)
hd1 is new Intel mSATA SSD (30 GB)


Result:

GRUB doesn´t boot if mSATA SSD appears before old Intel SSD 320 in boot
order. Its fails with aforementioned error message.


Expected result:

GRUB just boots. No matter which MBR the BIOS will take.


Any idea?

I just use LVM on the Intel SSD 320. On the mSATA SSD I just use partitions.

merkaba:~> lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                         8:0    0 279,5G  0 disk
├─sda1                      8:1    0     4M  0 part
├─sda2                      8:2    0   191M  0 part
├─sda3                      8:3    0   286M  0 part
└─sda4                      8:4    0   279G  0 part
  ├─merkaba-swap (dm-0)   254:0    0    12G  0 lvm  [SWAP]
  ├─merkaba-debian (dm-1) 254:1    0  18,6G  0 lvm
  └─merkaba-home (dm-2)   254:2    0 243,5G  0 lvm
sdb                         8:16   0    28G  0 disk
├─sdb1                      8:17   0   200M  0 part
├─sdb2                      8:18   0   300M  0 part /boot
└─sdb3                      8:19   0    20G  0 part
sr0                        11:0    1  1024M  0 rom


merkaba:~> fdisk -l /dev/sdb

Disk /dev/sdb: 30.0 GB, 30016659456 bytes
255 heads, 63 sectors/track, 3649 cylinders, total 58626288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      411647      204800   ef  EFI (FAT-12/16/32)
/dev/sdb2          411648     1026047      307200   83  Linux
/dev/sdb3         1026048    42969087    20971520   83  Linux


Thanks,
Martin