grub启动linux:Linux系统启动流程与Grub的配置方法



  、Linux启动流程
 
  1. 从BIOS到KERNEL
 
  BIOS自检->MBR(GRUB)->KERNEL->KERNEL自解压->内核化->内核启动
 
  2. 内核启动:创建1#进程并执行由它创建若干内核线程(kernel thread)然后装入并执行/sbin/init(变成个用户进程)此后init根据/etc/inittab配置文件来执行相应脚本进行系统如设置键盘、字体装载模块设置网络等
 
  对于Redhat来说执行顺序为:
 
  /etc/rc.d/rc.sysinit # 由init执行脚本
 
  /etc/rc.d/rc $RUNLEVEL # init执行指定运行级别($RUNLEVEL为缺省运行模式)各脚本;
 
  /etc/rc.d/rc.local #运行模式2、3、5时会运行脚本
 
  /sbin/mingetty(或getty) # 等待用户登录
 
  /etc/inittab中指定了系统运行级别(RUNLEVEL)init根据运行级别启动相关服务(些后台进程)实现区别功能
 
  RUNLEVEL值为:0-6
 
  0:halt 1:单用户2:多用户3:多用户并启动NFS服务
 
  4:保留5:运行xdm(X window)以图形界面方式登录
 
  6:reboot
 
  3./etc/inittab文件
 
  /etc/inittab文件内容如下:
 
  # 设定系统开机预设RUNLEVEL:
 
  id:3:initdefault:
 
  # 开始进行RUNLEVEL服务启动前使用来侦测和化系统环境设定文件:
 
  si::sysinit:/etc/rc.d/rc.sysinit
 
  # 7 个区别 run level 需要启动服务 scripts 放置路径:
 
  l0:0:wait:/etc/rc.d/rc 0
 
  l1:1:wait:/etc/rc.d/rc 1
 
  l2:2:wait:/etc/rc.d/rc 2
 
  l3:3:wait:/etc/rc.d/rc 3
 
  l4:4:wait:/etc/rc.d/rc 4
 
  l5:5:wait:/etc/rc.d/rc 5
 
  l6:6:wait:/etc/rc.d/rc 6
 
  # 是否允许按下 [ctrl]+[alt]+[del] 就重新开机设定项目:
 
  ca::ctrlaltdel:/sbin/shutdown -t3 -r now
 
  # 本机端终端机启动个数:
 
  1:2345:respawn:/sbin/mingetty tty1
 
  2:2345:respawn:/sbin/mingetty tty2
 
  3:2345:respawn:/sbin/mingetty tty3
 
  4:2345:respawn:/sbin/mingetty tty4
 
  5:2345:respawn:/sbin/mingetty tty5
 
  6:2345:respawn:/sbin/mingetty tty6
 
  # 在 X Window (RUNLEVEL 5) 环境下启动 script 设定项目:
 
  x:5:once:/etc/X11/prefdm -nodaemon
 
  这个文件语法是这样:
 
  标识符:级别:init 动作行为:指令项目
 
  1. 标识符:
 
  最多 4个代表 init 主要工作项目只是个简单代表介绍说明
 
  2. 级别:
 
  该项目在哪些 run level 底下进行意思如果是 35 则代表 runlevel 3 和 5 都会执行
 
  3. init 动作行为:
 
  主要可以进行动作项目意义有:
 
  initdefault :代表预设 run level 设定值;
 
  sysinit :代表系统动作项目;
 
  ctrlaltdel :代表 [ctrl]+[alt]+[del] 3个按键是否可以重新开机设定;
 
  wait :代表后面接指令项目必须要执行完毕才能继续后面动作;
 
  respawn :代表后面接 init 仍会主动「重新」启动
 
  更多设定项目请参考 man inittab 介绍说明
 
  4. 指令项目:
 
  亦即应该可以进行指令通常是些 script 啰
 
  介绍说明:如根据上面文件init执行时根据/etc/inittab文件内容完成以下功能
 
  (1)获取RUNLEVEL(文件中行 id:3:initdefault:)为3
 
  (2)执行rc.sysinit(文件中行 si::sysinit:/etc/rc.d/rc.sysinit)
 
  (3)执行/etc/rc.d/rc3.d目录中脚本(文件中行 l3:3:wait:/etc/rc.d/rc 3本例RUNLEVEL为3)
 
  (4)然后设定是否允许按下 [ctrl]+[alt]+[del] 就重新开机(文件中行 ca::ctrlaltdel:/sbin/shutdown -t3 -r now当然如果不允许可把此行注释掉)
 
  (5)启动 6个终端界面tty1-tty6
 
  (6)最后如果我们使用是 run level 5 那么除了这 6个终端机的外 init 还会执行/etc/X11/prefdm -nodaemon 其主要功能就是在启动 X Window !








 
   2、GRUB及其配置
 
  1.GRUB(启动引导器程低版本为lilo其配置文件为:/etc/lilo.conf)介绍
 
  安装Linux后GRUB位于硬盘0柱面0磁道1扇区是计算机启动过程中运行个真正软件Software通常计算机启动时在通过BIOS自
 
  检后读取并运行硬盘主引导扇中启动引导器启动引导器再负责加载启动硬盘分区中操作系统
 
  2.GRUB配置文件—grub.conf
 
  可通过/boot/grub/grub.conf配置GRUB其文件内容大致如下:
 
  default 0 ——设置GRUB默认启动项
 
  splashimage (hd00)/boot/grub/splash.xpm.gz ——用于指定某个文件作为启动菜单背景图象
 
  timeout 30 ——设置菜单启动延时
 
  title=Boot Linux using initrd ——菜单项名称
 
  root (hd00) ——设置GRUB根设备(root)为内核所在分区
 
  kernel /boot/bzImage root=/dev/loop0 init=/initdisk.gz ——使用kernel命令后跟内核文件作为参数加载
 
  linux内核文件
 
  initrd /initdisk.gz ——使用initrd命令加载镜像文件
 
  title= NT ——菜单项名称
 
  root (hd01) ——设置 NT系统所在分区
 
  makeactive ——设置根设备为活动分区(针对windows不能从非活动分区启动)
 
  chainloader +1 ——使用chainloader命令windows分区启动引导器引导windows系统+1表示第个扇区
 
  3.忘记根口令时设置
 
  启动计算机在显示GRUB菜单时——按e键进入编辑——选kernel项——按e键——输入空格+single 回车——按b键重启系统进入单用户模式输入以下命令更改口令:
 
  #passwd root
 
  #reboot
 
  4.为grub设置口令
 
  为防止用户在显示grub菜单时进入编辑以单用户模式启动更改root用户口令可给grub设置口令
 
  修改/boot/grub/grub.conf文件加上:password 口令
 
  (假设密码为123456)
 
  (1)设置全局口令
 
  password 123456
 
  default=1
 
  timeout=10
 
  ……
 
  (2)可使用全局口令锁定启动菜单项
 
  紧跟在title命令的后添加lock命令
 
  password 123456
 
  default=1
 
  timeout=10
 
  splashimage=(hd07)/grub/splash.xpm.gz
 
  title Red Hat Linux (2.4.20-8)
 
  lock
 
  root (hd07)
 
  kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
 
  initrd /initrd-2.4.20-8.img
 
  (3)设置独立口令锁定启动菜单项在菜单项中使用password命令
 
  可实现全局口令和菜单项口令分级管理
 
  password 123456
 
  default=1
 
  timeout=10
 
  splashimage=(hd07)/grub/splash.xpm.gz
 
  title Red Hat Linux (2.4.20-8)
 
  password 67890
 
  root (hd07)
 
  kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
 
  initrd /initrd-2.4.20-8.img
 
  (4)可以使用MD5L加密口令
 
  采用#grub-md5-crypt
 
  或 #grub
 
  grub>md5crypt
 
  Password:
 



Tags:  硬盘安装linuxgrub grub引导linux linuxgrub grub启动linux

延伸阅读

最新评论

发表评论