金汤系列:bootloader之GRUB配置攻详解

来源:互联网 发布:淘宝金城70改装效果图 编辑:程序博客网 时间:2024/05/10 18:43

本文转载于 http://linux.chinaunix.net/techdoc/net/2008/04/06/989702.shtml

 

来源: ChinaUnix博客  日期: 2008.04.06 21:21

 

grub(Grand Unified Boot Loader)启动引导器
与grub相似软件比较
BM:安装多操作系统软件,必须把两个操作系统安装在主分区,硬盘最多可以分4个主分区。
LILO:以前linux系统启动常用是启动程序,缺点是在1024柱以后安装linux就不好用了,1024柱大约是8.4G.
为什么要使用Loader呢?
Windows和Linux的文件格式是不同的,那么计算机在启动的时候是怎么知道装在硬盘里的系统,就由Loader来解决这个问题。
/boot/grub/grub.conf:主文件,改grub配置文件,最好直接改该文件。
grub有两个链接文件:/etc/gurb/grub.conf;/boot/grub/menu.lst
安装grub启动程序
1、#rpm -q grub     //查询结果显示当前是否安装了grub
2、#rpm ivh 软件包名     //
3、先进入BIOS设置计算机启动顺序,第一启动设置为CD-ROM(光驱启动),然后保存退出。
4、启动计算机并把Linux光盘插入光驱里。
5、启动光盘后,按F5键(启动)linux rescue(linux拯救模式)
6、#chroot /mnt/sysimage     //把当前的根分区挂载到sysimage(进入此目录相当于进入系统根目录)
chroot(插入root):把这个目录指定为根(把根挂载到指的目录)
7、#grub-install /dev/hda
8、#exit     //退出系统会自动重启
grub配置文件为/etc/grub.conf.
default=0(0代表第一启动系统,1代表第二启动系统)
timeout=10(10代表倒数10秒启动默认启动系统)
splashimage=(hd0,5)/grub/splash.xpm.gz     //hd0代表第一个硬盘;5是第六个分区,从"0"开始算第一个分区;/grub/splash.xpm.gz(启动画面)
root(hd0,5)     //系统安装在
Kernel /vmlinuz-version ro root=/dev/hda5 vga=791     //kernel(内核);vga=791代表1024*768 像素
title Windows     //系统名称windows;title后面的内容是显示在启动选择中的文字,可以随意修改
splashimage=(hd0,1)/grub/splash.xpm.gz
chainloader+1     //引导第一扇区
grub功能提供命令行操作
grub支持LBA(逻辑块地址)
grub功能键
e:编辑当前的启动菜单项
a:添加内核的启动参数
c:进入grub的命令行方式
b:启动当前的菜单项
d:删除当前行
esc:返回grup启动菜单界面,取消对当前菜单项所做的任何修改
grub的安全设置
命令格式:password 口令字
P键提示
MD5加密算法,(hash)哈希函数,验证数据完整性、机密性。
#grub -md5 crypt
/boot/grub/grub.conf     #cat 1.txt>>/boot/grub/grub.conf
password --md5 密码
grub.conf里password加密码:启动时对grub进行编辑需要密码
grub-md5-crypt加密码看不见
启动grub编辑需要密码,按"e"键,敲入密码
grub加MD5密码
#grub-md5-crypt >>1.txt
敲入密码
pwd
vi 1.txt
vi /boot/grub/grub.conf
:r /root/1.txt
把password一行删除
添加password --md5 密码
wq
在linux终端里敲入grub命令,也会出现grub>提示符,但是受到linux操作系统限制,这里grub命令远远少于启动时grub里的命令。
修改grub的启动背景
1、将一张图片转化成640*480,14色的xpm文件:
#convert abc.jpg -colors 14 -geometry 640*480! abc.xpm
可以不要-colors 14 参数
2、压缩生成的xpm文件,使用gzip #gzip -9 abc.xpm压缩。图片最好不要超过90kb.如较大grub会不显示界面,清晰度也不行
3、将abc.xpm.gz拷到/boot/grub下最好可以把原图保存起来
4、修改/boot/gurb/menu.lst
splashimage=(hda0,0)/boot/gurb/abc.xpm.gz
5、存盘退出
grub>root (hd0,N)
grub>chainloader+1
grub>boot
Winodws下可以Linux分区
grub>root (hd0,N)
grub>kernel /vmlinuz
grub>initrd /initrd-2.4.22-3 Thiz.img
grub>boot(内核被拷到boot分区里)
6-10 Linux
/dev/hda10
cd /boot
boot目录拷贝到hda10(cp -r /boot /linux)
ln -s /lib/modules/2.4.22-3 Thiz/vm
启动时修改grub文件,只能对当时生效。
modules的字面意思是模块
lsmod(list module):列出已经被内核调入的模块
insmod(insert module):将某个module插入到内核中
rmmod(remove module):将某个module从内核中卸载
init 0:关机
  1:进入单用户
  2:多用户,但无NFS(网络文件系统)
  3:多用户
  4:无用
  5:图形界面(X11)
  6:重新启动