我正在用Debian / Lenny在一些旧的IDE PATA驱动器(包括/ boot的几个RAID-1分区)以及最近添加的SATA驱动器上寻找一个系统。 该系统工作正常,但我一直在周围的GRUB设置,以期望升级旧的驱动器…
如果在启动菜单出现时直接进入grub命令行并检查驱动器(使用
grub> root (<TAB>...)
)然后我看到hd0和hd1作为PATA和hd2作为SATA。
但是,系统启动后,如果我做同样的事情,那么我看到hd0现在是SATA和hd1和hd2是PATA。 (另外,系统将/ dev / sda,c,b映射到SATA,PATA,PATA。)
这让我有点紧张,一旦机器启动,从grub>
提示符进行更改。 所以:
为什么在这两种情况下,grub看到的设备顺序发生了变化?
也:
一些GRUB命令的正确运行似乎依赖于device.map的正确性。 目前它包含一行:
(hd0) /dev/md0
(这是RAID1 /启动),但我不知道从哪里来(这个系统可以回到木头我想)! grub-mkdevicemap
想把它重新生成为hd[0,1,2]->sd[a,b,c]
(但是我没有让它)。 update-grub
告诉我: warning: grub-probe can't find drive for /dev/sdb1
。 根据不断变化的枚举顺序,对于健康的device.map应该是什么样的build议? (我不清楚它是否应该包含启动前或启动设备枚举顺序)。
预启动驱动顺序似乎对应于BIOS启动菜单中的顺序。 在那里进行更改没有影响后启动顺序,所以我只是把它改为与启动后的顺序相同,并且在启动后生成的新的devices.map现在包含一些有效的预启动的内容。
达到了预期的效果:在启动前或启动后的grub shell中,我感觉更加舒适,而且我知道>grub setup (hd1) (hd1,0)
是真的 。
编辑/boot/grub/device.map
文件以反映启动时间映射,使用命令行grub
实用程序应该是完全安全的。
也许在启动的时候你的grub做了一个驱动映射:
看这里
不知道这是怎么回事,但是我记得你只能从主硬盘启动,你需要使用映射的东西才能正确启动。 看看grub的configuration,也许这就是grub所做的。