我正在使用 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 扩展 (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
问题是分区查看,顺序不是像 sda5、sda6、sda7、... 而是像这样的顺序:
- sda6
- sda9
- sda10
- sda7
- sda8
有啥X为了/dev/sda7
?
答案1
首先,您需要意识到在 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)
答案2
最简单的方法是从 grub cli 并使用制表符完成。
首先输入...root(hd0,
然后点击 [tab]
制表符补全应该会列出可用的分区。选择你认为最有意义的分区,用括号括起来,然后在下一行输入 kernel /
然后再次按 [tab]...如果文件和目录结构看起来正确,则说明您选择了正确的结构...如果不是...请备份并重做根行。