grub 2的安装需要安装以下包:
grub-pc, grub-common
可以在包管理工具中发现。
grub-install -v来查看当前版本, 传统的grub版本号为0.97及以下, grub2的版本号是1.96或更高。
grub 2的配置文件是/boot/grub/grub.cfg, 但是这个文件是不允许修改的,我们要通过对/etc/grub.d/下的文件以及/etc/default/grub文件进行编辑,使用update-grub来生成配置文件。
也就是说, 一个正常的流程应该是:
sudo apt-get install grub-pc, grub-common #如果已经安装了grub2则不需要
sudo grub-install --root-directory=/ /dev/sda #在设备上安装grub2引导
sudo update-grub #生成grub配置文件
现在的问题就在update-grub,因为grub-install是可以指定设备来进行安装的, 但是生成配置文件的update-grub是不能指定的。
whereis update-grub
查找到它在/usr/sbin/目录下, 编辑发现它是对grub-mkconfig做的一个快捷方式,代码如下:
#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"