刚装了Slackware12.1,用GRUB2启动。本来以为GRUB2是GRUB的最新版,一用才知道我错了。GRUB2源自PUPA,代码已经被重新编写,实现模块化并且增强了可移植性,除了名字以外好像和GRUB没什么关系,可以认为GRUB2是一个全新的boot loader。
原来用title标识的启动项被menuentry代替,一个启动项的配置信息需要用{}括起来,另一个需要注意的地方就是分区编号从1开始而不是从0开始(GRUB是从0开始的)。
GRUB2提供了update-grub工具帮你生成grub.cfg。
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
}
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。