grub2与grub区别
- 关于版本:
GRUB2 使之版本号为1.98之后的grub;GRUB legacy(版本为0.97)是指GRUB,而非GRUB2,grub是指 grub1.97 和以前的,grub 2 指的是 grub1.98和以后的,现在已经发布grub2.00 了。一般还是把grub2 称作grub。
注意,目前我所知道的grub 2 一般用于linux下,windows下继续使用古董 grub4dos0.4.4 顶多使用chenall网友修改的 0.4.5 0.4.6。grub4dos应该是从grub1.97修改到windows下的
- 检测版本:
$ grub-install -v grub-install (GNU GRUB 1.98-1ubuntu10)
- GRUB2与GRUB的区别:
1.GRUB2引导菜单启动项是从/boot自动生成的,不是有menu.lst配置的。
2.执行grub-update
之后会自动更新启动项列表,自动添加有效的操作系统项目
3.分区编号发生变化:第一个分区现在是1而不是0,但第一个设备仍然以0开始计数,如hd0- 配置文件的不同更为明显:
/boot/grub/menu.lst- 已经被/boot/grub/grub.cfg代替。
/boot/grub.cfg - 即使是root也不要编辑它,它在每次update-grub后自动生成。
/etc/default/grub - 改变引导菜单外观的主要配置文件
/etc/grub.d/ - 各种用于生成grub.cfg的脚本文件,每次update-grub时会执行里面的文件
下面列出几个有用的:
/etc/grub.d/40_custom - 用户自定义的配置文件模板,它不会在update-grub之后被覆盖。- 相关命令:
grub-install [OPTION] <install_device>
例如,下面这条语句可以在设备sda上恢复grub,详见重装Windows后,修复Ubuntu引导菜单grub-install --root-directory=/mnt /dev/sda
update-grub
等价于:(在11.10中,这条指令竟然还是去更新/boot/grub/menu.lst)sudo make-kpkg --initrd --revision 01fcc(必须数字开头)--append-to-version -20120224 --config menuconfig kernel_image modules_image
在上层目录里找到deb安装包,用dpkg安装,生成vmlinuz后,再
grub-mkconfig -o /boot/grub/grub.cfg
- thinkpad@ubuntu:/boot/grub$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.7-20120224
Found initrd image: /boot/initrd.img-3.2.7-20120224
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found Windows 7 (loader) on /dev/sda1
Skipping Windows 7 (loader) on Wubi system
done