GRUB:如何找到分区号 (hd0,x)?

Ale*_*xar 23 linux grub

我正在玩 grub,我使用以下方法更改了根目录:

root (hda,x)

我怎么知道x/dev/sda7什么?

fdisk -l

   设备引导开始结束块 Id 系统
/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 交换 / Solaris

问题是在Gparted视图中,顺序不像 sda5, sda6, sda7, ... 但顺序是这样的:

  • sda6
  • sda9
  • sda10
  • sda7
  • sda8

那么x/dev/sda7什么?

Jon*_*han 19

首先,您需要意识到在 grub 中,它不使用普通的 linux 硬盘标识符。相反,字母与数字相关,从零开始(即 hda = hd0、hdb = hd1 等)。

其次,在 grub-legacy 中,分区号从 0 开始,而不是像 Linux 中的 1,所以从 linux 分区号中减去 1。在 grub2 中,它从 1 开始

一个例子是:hda1 = (hd0, 0)

最后,grub 不区分 hd 和 sd 设备,所以一切都标记为 hd。

因此,在您的情况下,/dev/sda6 的 grub 条目应为 (hd0, 5)

  • 在 Grub 2 中它发生了变化,`/dev/sda6` 是 `(hd0, 6)`:http://www.gnu.org/software/grub/manual/html_node/Naming-convention.html (7认同)

小智 9

最简单的确定方法是从 grub cli 和使用选项卡完成。

首先输入... root (hd0,

然后点击 [tab]
选项卡完成应该列出可用的分区。选择您认为最有意义的关闭括号并在下一行键入 kernel /

然后再次点击 [tab]...如果文件和目录结构看起来正确,您选择了正确的...如果不是...备份并重做根行。

  • 我刚刚找到了一个 `set pager=1` 命令。我认为这会奏效,没关系。 (3认同)
  • 在 grub cli 中,您还可以输入“ls”来列出可用的驱动器和分区 (2认同)