什么是grub
多操作系统引导程序:简单说就是系统启动的时候你可以选择启动那个系统(可以是一个磁盘安装多个系统也可以是多个磁盘的多个系统)。linux下常见的有grub/grub2,LOLI,嵌入系统常见的有uboot,而windows下有NTLOADER
grub有什么用
linux系统启动流程
上电–>bios自检加载mbr–>mbr–>grub–>内核–>init–>inittab
在整个系统启动过程中,grub主要是加载内核,并将控制权限转交给内核,但是我们启动过程都有mbr引导了为啥还需要grub:在mbr引导的系统中mbr代码现在446字节 不足够引导内核才需要grub
grub程序安装(只是程序的安装)
- apt-get 或yum安装
apt-get install grub - 源码安装
下载源码–>解压–>配置–>编译–>安装
从http://ftp.gnu.org/gnu/grub/下载grub源码,这里我们下载的是grub-2.02.tar.gz
解压源码 tar -zxvf grub-2.02.tar.gz
配置 进入源码目录grub-2.02 执行./config 配置可以指定一些参数比如–target=x86_64 平台 --with-platform=efi 指定efi 更多参数可以使用./config --help查看(如果缺少软件 直接安装就可以了)
编译:执行make
安装:执行make install
grub-install 安装引导到硬盘
grub-install 是一个脚脚本 简单使用:
grub-install /dev/hda
boot单独分区需要指定 grub-install --root-directory=/boot /dev/hda
更高级的用法
root@ubuntu:~/grub-2.04# grub-install --help
Usage: grub-install [OPTION...] [OPTION] [INSTALL_DEVICE]
Install GRUB on your drive.
--compress=no|xz|gz|lzo compress GRUB files [optional]
--dtb=FILE embed a specific DTB
-d, --directory=DIR use images and modules under DIR
[default=/usr/local/l