刚装了Slackware12.1,用GRUB2启动。本来以为GRUB2GRUB的最新版,一用才知道我错了。GRUB2源自PUPA,代码已经被重新编写,实现模块化并且增强了可移植性,除了名字以外好像和GRUB没什么关系,可以认为GRUB2是一个全新的boot loader。

GRUB2的目标是实现:

  • 实现脚本支持,如条件判断、循环、变量和函数
  • 提供图形化接口
  • 提供模块动态加载功能,可以在运行时实现功能扩展
  • 增强可移植性
  • 国际化支持
  • 内存管理
  • 跨平台安装
  • 解决救援模式无法启动问题,去掉了Stage 1.5
  • 修正GRUB错误设计遗留的问题,如分区的编号

 

由于一直错误的认为GRUB2是GRUB的最新版,搞了好久的menu.lst也没有把启动菜单弄出来。原来GRUB2已经用grub.cfg代替menu.lst了,而且语法也有很大的变化。下面是我机器上的例子:


set timeout=30
set 
default=0

menuentry 
"Slackware"
{
    set root
=(hd0,6)
    linux 
/vmlinuz root=/dev/sda9
    boot
}

menuentry 
"Windows"
{
    set root
=(hd0,1)
    chainloader 
+1
    boot
}


原来用title标识的启动项被menuentry代替,一个启动项的配置信息需要用{}括起来,另一个需要注意的地方就是分区编号从1开始而不是从0开始(GRUB是从0开始的)。

GRUB2提供了update-grub工具帮你生成grub.cfg。
posted on 2008-12-01 22:38  donna  阅读(1038)  评论(0编辑  收藏  举报