Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I found a sata drive, a semi-broken hdd power supply and an esata cable lying around, so I decided to install Arch on it.

So I have sda which has the MBR and grub2 (burg) and then another hdd (below). Burg is installed under Ubuntu 12.10.

The drive is formatted with a GPT. Here is parted's output:

(parted) print                                                            
Model: ATA MAXTOR STM316081 (scsi)
Disk /dev/sdd: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  3146kB  2097kB                     bios_grub
 2      3146kB  21,5GB  21,5GB  ext4
 3      21,5GB  160GB   139GB   ext4

grub legacy told me during the Arch install that a 2MB partition (partition 1 above) is required for GPT drives. It doesn't seem to have a filesystem so I can't mount it.

Now I am trying to chainload Arch's grub from grub2 because I could never really get os-prober to work properly with anything.

This is the grub2 menuentry in burg.cfg:

menuentry "Arch Linux (esata hdd, usually /dev/sdd)" --class arch --class os {
    insmod ext2
    set root='(hd3,2)'
    set OS_Boot_config='/boot/grub/grub.cfg'
    multiboot /boot/grub/i386-pc/core.img

The first problem here is that, as far as grub2 is concerned, (hd3,2) doesn't exist. ls in the grub2 console gives (hd0,msdos1) (hd2) (hd3). In other words, grub2 can't see the partitions on sdd. What can I do about this?

The second problem is that grub legacy claims to have installed core.img to the partition 1 (without a filesystem). I don't know how to mount that, so I am using core.img from the root partition. I have no idea if this is correct, should I change this?

share|improve this question

migrated from Oct 29 '12 at 21:24

This question came from our site for professional and enthusiast programmers.

up vote 2 down vote accepted

Fixed it, the reason is quite silly. You need the line insmod part_gpt so that it recognises the GPT. I've never seen this anywhere on the interwebs.

share|improve this answer
Thank you. I had the same issue. A small addition: "insmod part_gpt" goes into "grub.cfg". I guess this issue is so rare because people use "grub.cfg" generated by some utility program. – beroal Feb 11 at 15:20

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.