Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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 am playing with grub and i change the root using:

root (hda,x)

how can i know what's x for /dev/sda7 ?

fdisk -l

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1958    15727603+   7  HPFS/NTFS
/dev/sda2            1959        7476    44323335    f  W95 Ext'd (LBA)
/dev/sda5            1959        4569    20972826    7  HPFS/NTFS
/dev/sda6            4570        5352     6289416   83  Linux
/dev/sda7            6373        7119     6000246   83  Linux
/dev/sda8            7120        7476     2867571   83  Linux
/dev/sda9            5353        6135     6289416   83  Linux
/dev/sda10           6136        6372     1903671   82  Linux swap / Solaris

the problem is that in Gparted view, the order is not like sda5, sda6, sda7, ... but the order is like:

  • sda6
  • sda9
  • sda10
  • sda7
  • sda8

so what's x for /dev/sda7 ?

share|improve this question

First off, you need to realize that in grub, it does not use normal linux hard drive identifiers. Instead, the letters correlate to numbers, starting with zero (i.e. hda = hd0, hdb = hd1, etc).

Secondly, in grub-legacy, the partition number starts at 0, not 1 like in Linux, so subtract 1 from the linux partition number. And in grub2, it starts at 1.

An example is: hda1 = (hd0, 0)

Finally, grub does not differentiate between hd and sd devices, so everything is labeled hd.

Thus, in your case, your grub entry for /dev/sda6 should read (hd0, 5)

share|improve this answer
    
thanks, is it 5 because the extends start from 4? is it so: sda1 -> 0 sda2 -> sda5 -> 4 sda6 -> 5 sda7 -> 6 – Alexar Aug 29 '10 at 15:54
    
I exactly tried what jonathan suggested, mine was on hd2,4 and i had to put sdb4 to make it work – jayeshkv Jul 12 '15 at 18:53
    
In Grub 2 it has changed, /dev/sda6 is (hd0, 6): gnu.org/software/grub/manual/html_node/Naming-convention.html – Ciro Santilli 巴拿馬文件 六四事件 法轮功 Aug 25 '15 at 10:30

Easiest way to be sure is from grub cli and using tab completion.

start by typing... root (hd0,

then hit [tab]
The tab completion should then list the partitions available. pick the one you think makes most sense close off the parentheses and on the next line type kernel /

then hit [tab] again... if the files and directory structure look right you picked the right one... if not.. back up and redo the root line.

share|improve this answer

Your Answer

 
discard

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.