grub的安装方法

简介:
grub是一个很强大引导加载器,很多的Redhat发行版使用的都是grub进行引导,但是grub有一个缺陷就是grub最大只能支持的1T的硬盘,在进入grub时,可以看到有个纯红色的背景图片,但是在MBR中存放grub一共就446字节,但是一个图片的大小有可能就大于446字节,所以这张图片肯定不会在grub中,所以,grub的运行机制是采用了两段式设计,grub的第一段放在MBR中,其作用是是引导grub的第二段,在第一段和第二段的中间其实还有一段,其大致作用可以理解为用来加载文件系统,和识别文件系统。在 /boot/grub 中可以看到很多结尾"1_5"的文件,这些就是grub的中间段所要加载的文件。其实grub也有自己的配置文件--" grub.conf ";
下面打开 grub.conf 查看一下其中的内容:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/vol0/root
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quiet
        initrd /initrd-2.6.18-164.el5.img
title Install Red Hat Enterprise Linux 5
        root (hd0,0)
        kernel /vmlinuz-5 ks=http://192.168.0.254/workstation.cfg ksdevice=eth0 noipv6
        initrd /initrd-5


以#开头的都是注释信息
一、 default :指的是默认启动的哪个,可以看到下面有两个title,其中第一个title表示为0,第二个title表示为1,所以这里默认启动的就是第一个title;
二、 timeout :指的是超时时间,即在该时间内没有进行其他操作,则启动默认启动项;
三、 spalashimage :指的是进入grub时的背景图片,"(hd0,0)":这里指的是第一块磁盘的第一个分区,也是grub能够识别的磁盘格式,无论任何种类的磁盘,grub都将其识别为hd;/grub/splash.xpm.gz:指的是在grub中的那张图片,在grub启动时,内核还没有启动,所以文件系统还不存在,所以根也就不存在,所以就写作/grub而不写作/boot/grub;这里要说的是,grub只支持xpm格式的图片,而且支持的颜色位数为14位;
四、 hiddenmenu :指的是是否要隐藏隐藏菜单;
五、 title :后面跟的则是要启动的系统名字,当然这个根据个人需要,你也可以随便的命名
     root :指的是grub使用的根,也是文件访问的起始点
     kernel :指定内核文件是谁;在这里由于root已经指定了grub的根,所以这里直接指定/kernel; ro: 只读 root :这里的root指的是操作系统的根文件系统; rhgb :指的是rehat的一个边框,这个可有可无; quiet :指的是静默模式;
     initrd :内核需要读取文件系统,读文件系统时需要加载驱动,但是驱动在lib中,而lib在根下,去根下找需要加载驱动,所以这样就无法就解决了吗?其实initrd就是做这样的功能,它也是一个根,其实它也算是一个微型的Linux,它不提供其他功能,它只提供/lib/modules,所以内核加载驱动时去initrd中加载,Initrd提供了驱动那么内核就可以访问根了,访问这个文件系统了,但是这个initrd又不是必须的,当需要的驱动在内核中已经存在时,就不在需要initrd了;" /initrd-2.6.18-164.el5.img ":因为内核中没有逻辑卷的驱动,而这个文件中就存在逻辑卷的驱动


grub的安装方法:
法1:手动安装
步骤:
一、新增加一块硬盘,创建一个新的分区,并将其格式化
#echo "
n
p
1

+100M
w" | 
fdisk /dev/sdb
#mkfs -t ext3 /dev/sdb1
二、将该新分区挂载
#mount /dev/sdb1 /mnt/boot
三、创建grub目录
#mkdir /mnt/boot/grub
#cd /usr/share/grub

这里的grub是一个隐藏的目录,所以需要先进入
#cd i386-redhat/
复制当前目录中的所有文件到/mnt/boot/grub/
#cp ./* /mnt/boot/grub/
四、卸载/dev/sdb1
#umount /dev/sdb1
五、安装grub
#cd
#grub
grub>root (hd1,0)
grub>setup (hd1)
grub>quit

并且在grub下生成了一个grub.conf文件,这样就强制安装了grub
法2、使用grub-install安装
步骤:
一、新增加一块硬盘,创建一个新的分区,并将其格式化
#echo "
n
p
1

+100M
w" | 
fdisk /dev/sdb
#mkfs -t ext3 /dev/sdb1
二、将该新分区挂载
#mount /dev/sdb1 /mnt/
三、创建boot目录
#mkdir /mnt/boot
四、安装grub
#grub-install --root-directory=/mnt /dev/sbd1
在此它会自动在boot目录下创建一个grub目录并且创建相关文件


这样grub可以通过两种方法进行创建,我们只需要将这两块已经创建好grub的硬盘放入PC中,可以看到出现了grub的提示符,如果有内核那么就可以进入系统了。好了到此grub就创建成功!







本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/788555,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
Linux 网络虚拟化
Debian系统安装OpenVPN
Debian系统安装OpenVPN
217 0
|
Linux Windows
16.13 Linux GRUB手动安装
需要手工安装 GRUB 主要有两种情况:
345 0
16.13 Linux GRUB手动安装
|
存储 Linux Windows
通过grub-install命令把grub安装到u盘
<p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; color: rgb(89, 145, 0); font-family: 微软雅黑, 黑体; font-size: 18px; line-height: 20px;">通过grub-install命令把grub安装到u盘</
2948 0
|
Linux 数据安全/隐私保护 Windows
Debian 光盘安装简易教程
这篇文章我会尽可能详细地说明如何快速安装纯净的Debian 8.2.0,需要懂一点vi编辑器的使用方法。 如果是新手,没用过 vim 编辑器也不用担心,我会尽量详细地说明使用方法。 首先在Debian官网上下载网络安装CD或者完整DVD镜像,DVD镜像只需DVD-1即可。
2127 0
|
IDE 开发工具
Debian里编译内核
以2.6.8版本为例: 1、Debian.org上关于编译内核的说明;另一篇看起来不错的文章:Creating custom kernels with Debian's kernel-package system; 2、下载内核源代码apt-get install kernel-source-2.
1309 0