|
我16进制下查看Grub4Dos里的grldr,大概在偏移000003c0的行,看见有/menu.lst,请教这个是表示搜索当前根目录吗?还是表示会搜寻所有的分区的根目录?另在偏移00002010行,看见有0.97/boot/grub/menu.lst,这又表示什么意思呢?
我曾经看见某个版本的grldr中,可能是在偏移3c0行(当时未注意,只记得很靠前)有(hd0,0)/boot/menu.lst字样,结果grldr似乎只在这个位置找menu。我将它改为自己想要的地址(字符长度不一致),就会在我指定的地址找。但我不知道,这个修改menu.lst地址的代码,是不是必须从同一位置开始,结束的地址有什么限制?如果要指定多个地址该如何写呢?
后来我又在Grub4Dos里的grldr的末尾发现一些很像内置菜单的代码,用GrubMenu提取出来如下:
pxe detect
configfile
default 0
timeout 1
title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
errorcheck off
configfile /menu.lst || configfile /MENU.LST
configfile /boot/grub/menu.lst || configfile /BOOT/GRUB/MENU.LST
configfile /grub/menu.lst || configfile /GRUB/MENU.LST
find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
errorcheck on
commandline
title commandline
commandline
title reboot
reboot
title halt
halt
这个内置菜单很像设置了在多个地址寻找menu.lst。我想应该内置菜单不是GRLDR必须的吧。它是优先外部菜单还是优先内部菜单呢?我看论坛有说GRLDR对menu.lst的搜索默认地址就是/menu.lst、 /boot/grub/ 、/grub/menu.lst。难道它就是内置菜单实现的?
那么没有内置菜单的话会在哪里寻找呢?是不是3c0行?3c0行与内置菜单谁优先呢?
如果我将grub装入了MBR,所谓GRLDR对menu.lst的搜索默认地址就是/menu.lst、 /boot/grub/ 、/grub/menu.lst,这个根目录是指哪个分区呢?是不是grldr所在的分区?或者是所有分区? |
|