1.grub是什么?

grub是一种引导加载器bootloader或者引导管理器bootmanager,通过grub可以引导linuxwindows等平台的操作系统。但是进入linux系统之后,在“#”或者“$”提示符下输入的grub命令是什么呢?其实这时候的grubshell并且提供了两种工作模式,交互 interactive)模式和非交互(batch)两种模式,grub-install命令正是利用了grub的非交互模式,在系统下直接完成了 grub的安装。

在自己制作小linux的过程中,有一步是要安装grub的。如果没有grub,系统就引导不了,就进不去系统,就会出现一种grub> 的提示符,此时如果不手动安装grub的话,是不会进入系统的。

2.grub的安装方式:

grub共有三种安装方法:

第一种方法

第二种方法

第三种方法

grub-install

grub>setup

grub>install

这种方法最常用

 

这种方法是最底层的方式

说明:由于最后一种方法grub>install是最底层的方式安装grub,因此本文不再给出安装方法,所以题目就是《grub的两种安装方式》,有兴趣的朋友可到互联网上对grub>install进行学习研究。

前提:VMware虚拟机环境下实验,并且给linux新增加一块硬盘,并做好分区格式化,其中一个分区为100M,挂载到/mnt/boot;另一个分区为512M,挂载到/mnt/sysroot;还有一个128M的分区作为交换分区,具体的分区格式化步骤不再给出。

提供好了内核和initrd

  1. # mkdir –pv /mnt/{boot,sysroot} 
  2. # mount /dev/sdb1 /mnt/boot 
  3. # mount /dev/sdb2 /mnt/sysroot 

(1).先来说说第一种grub-install

# grub-install  --root-directory=/mnt /dev/sdb 

(2).再来说说第二种grub>setup:

  1. # mkdir /mnt/boot/grub 
  2. # cp /usr/share/grub/i386-redhat/* /mnt/boot/grub 
  3. # grub 
  4. grub> root (hd1,0) 
  5. grub> setup(hd1) 

3.提供grub的配置文件grub.conf

  1. # vim /mnt/boot/grub/grub.conf 
  2. default=0 
  3. timeout=5 
  4. title RedHat Enterprise Linux Server (2.6.18) 
  5.          root (hd0,0) 
  6. kernel /vmlinuz-2.6.18-164.e15 ro root=/dev/vol0/root rhgb quiet 
  7. initrd /initrd-2.6.18-.164.e15.img 

 

由于本人水平有限,不足之处还请指出。