这里所说的Grub和上文中说的Grub for DOS是不一样的,上文的Grub
跟磁盘的第一扇区没有关系,即是说,如果你把上面C盘里grub目录删除,
不会影响你的系统启动。我下面讲的Grub却会把一部分代码写到磁盘的第
一扇区上,即会写到主引导纪录MBR中。
1 Grub的代码分两部分,一部分写入第一扇区的主引导纪录MBR中,另
一部分驻留在磁盘的某一固定位置。
2 Grub的工作过程。计算机启动后,BOIS先做自检等工作,然后BOIS会
加载磁盘的第一扇区(512字节)到内存某处,然后跳转到该处执行代码,
这段代码就是上面所说的Grub写入MBR的部分,这段代码有Grub第二部分
在磁盘上的位置信息,这段代码就是根据此信息加载第二部分,第二部分
才是Grub的核心,第二部分会读取/boot/grub/grub.conf配置文件,然后
根据此配置文件弹出用户界面,你看到的那些菜单选择项就是这么来的,
当然,你也可以按字母键‘C’进入命令行方式。
3 如上所说,你的机器上的各操作系统的信息是写入配置文件grub.conf
的,如果你的配置文件不正确,grub当然找不到你想起动的操作系统了,
此时需要你手工启动。例如你因为在Windows里格式化某盘(或别的原因),
结果重启机器后grub漂亮的界面不见了,只留下陌生的提示符“grub>”,
别慌,你可以用命令来启动你的操作系统。
从命令行启动Windows:
grub>root (hd0, 0)
grub>chainloader +1
grub>boot
从命令行启动Fedora Core2(假设装在/dev/hda7上):
grub>kernel (hd0, 6)/boot/vmlinuz-2.6.5-1.385.img root=/dev/hda7
grub>initrd (hd0, 6)/boot/initrd-2.6.5-1.385.img
grub>boot
从命令行启动Debian和启动Fedora Core2类似。
说明:如果你通过分区软件调整了分区的大小,鬼知道会有什么结果。
我没试过,从理论上说你玩完了,因为Grub的第一部分中的关于第二部
份的地址信息会失效,结果Grub的核心加载不了了!
4 你以后可以使用同样的方法来启动系统,如果感到不爽,想要菜单,
那就修改你的/boot/grub/grub.conf文件吧。现在机器已经跑起来了