一、启动步骤
1.BIOS自检
1)硬件检测及初始化
2)引导启动设备
2.引导启动设备
1)软盘(0磁道0扇区)
2)光盘(最外围存储轨道)
3)硬盘(MBR)
3.调用Linux引导程序至内存中
4.运行Linux内核
5.执行init进程(按”I”单步运行)
6.init调用getty提示用户登录
7.运行SHELL程序
二、Linux启动设备的建立
1.启动设备分类
引导盘:软盘、光盘、优盘
(用于引导硬盘中linux系统)
系统盘:软盘、光盘、硬盘
(用于启动一个完整的linux系统,在该盘中存放有内核等数据)
2.引导盘的创建
1)软盘
方法一:安装过程中创建
方法二:mkbootdisk
格式:mkbootdisk --device /dev/fd0 2.4.8-20(内核版本号)
(uname -r显示内核版本号)
方法三:# lilo –b /dev/fd0(使用lilo引导装载程序时应用)
方法四:块自制
# dd if=源文件(/boot/vmlinuz) of=目标路径(/dev/fd0) [bs=数字] [counts=数字]
# rdev /dev/fd0 /dev/hda1(设备重定向)
方法五:利用DOS启动Linux
在DOS启动盘中建立Autoexec.bat
添加如下内容:
Loadlin Vmlinuz root=/dev/hda1
(从第一张安装光盘中复制/dosutils/loadlin.exe到软盘)
2)光盘
刻录机+刻录软件
3)优盘
方法一:dd块自制
方法二:建立文件系统
注:引导主要用于引导硬盘中的linux系统,当引导装载程序损坏或者是引导程序被覆盖时,可以使用引导盘进行引导
3.系统盘
1)复制SHELL相关命令至软盘中
2)内核打包
3)块复制到软盘
三、引导装载程序使用
1.LILO
(1)LILO简介
LILO(Linux-loader)是一种可以位于MBR/引导扇区中的基于INTEL平台下的系统引导装载软件
(2)LILO的特点
l 独立于操作系统
l 支持两种操作界面:菜单、命令提示符
l 支持多种操作系统
l 支持不同磁盘和分区中的引导扇区
(3)LILO的配置
#vi /etc/lilo.conf
实例:
boot=/dev/hda
LILO的安装位置
install=/boot/boot.b
启动文件位置
map=/boot/map
映射文件
prampt
启动时显示LILO的菜单
disktab=/dev/hda
分区表的位置
timeout=30
默认超时时间
message=/boot/message
启动显示信息
password=abc
设置LILO引导密码
linear
硬盘模式(大硬盘)
default= Linux
设置默认菜单
image=/boot/Vmlinux-2.2.6-22
指定内核文件名
label= Linux
菜单标题
read-only
设置引导分区在启动过程中为只读分区
root=/dev/hda2
内核存放的分区
other=/dev/hda1
设置其它操作系统的安装位置
label=windows
设置菜单标题
(4) 配置案例
根据以下要求设置LILO:
LILO安装位置为ide1主盘的MBR
启动镜像文件为/boot/boot.b
映射文件为/boot/map
默认超时时间长度为10秒
LILO启动密码为123
默认菜单为linux
linux的内核为vmlinux-2.2.6-22,且/boot目录没有装载任何分区
根目录所装载的分区为/dev/hda5
在ide1主盘上的第一个分区同时安装了win 2k的操作系统,显示菜单标题为win2000
配置过程:
# vi /etc/lilo.conf
boot=/dev/hda
install=/boot/boot.b
map=/boot/map
timeout=10
password=123
default= Linux
image=/boot/Vmlinux-2.2.6-22
label= Linux
read-only
root=/dev/hda5
other=/dev/hda1
label=win2000
image=/boot/vmlinuz-2.4.20-8
label=newlinux
read-only
root=/dev/hda5
other=/dev/hdc1
label=win98
(4)LILO的操作命令
# lilo 重装LILO(当lilo被覆盖时使用)
# lilo –u 卸载LILO
# lilo –c /etc/lilo.conf 指定LILO的配置文件
(5)LILO的命令行操作方式
Ctrl+x 切换至命令行模式
Boot:help ( 获取LILO命令帮助)
Boot:菜单标题 [参数] (启动指定的操作系统)
2.GRUB
(1)GRUB简介
GRUB与LILO同样都是一种多重启动管理器
(2)GRUB特点
l 支持大硬盘,突破1024柱面的限制
l 支持两种界面
l 开机画面
(3)GRUB的设置
GRUB的设置选项集中在/etc/grub.conf(/etc/grub.conf是/boot/grub/grub.conf的符号连接文件)
设置:boot=/dev/hdd 设置GRUB的安装位置
default=0 设置默认菜单
timeout=30 设置超时时间
splashimage=(hd0,0)/grub/1.jpg 设定开机菜单画面
password=abc 设置GRUB的口令
title RedHat Linux 设置标题
root (hd1,1) 设置内核存放的分区
kernel /Vmlinuz-2.4.20-8 ro root=/LABEL=/ 设置内核文件
initrd /initrd-2.4.20-8.img 设置内核映像文件
lock 锁定操作系统
title win2k
root noverify (hd0,0) 设置WINDOWS系统的位置
chainloader +1 读取扇区
password=123 设置标题密码为123
lock
配置案例:
根据以下要求设置GRUB,具体如下:
1)HD0上有两个操作系统,分别为RH9.0 WIN2K
(RH9.0安装在/BOOT分区号在第三个分区中,WI
N2K安装在C:下)
2)HD1的C盘中有WIN98
3)设置GRUB的口令为123且用MD5加密
4)锁定每个菜单选项
配置过程:
# grub-md5-crypt
# vi /etc/grub.conf
default=0
timeout=50
splashimage=(hd0,0)/grub/splash.xpm.gz
password --md5 dfdasdf34123!#@$!#@
title RH9.0
root (hd0,2)
kernel /Vmlinuz-2.4.20-8 ro root=/LABEL=/
initrd /initrd-2.4.20-8.img
lock
title win2k
root noverify (hd0,0)
chainloader +1
lock
title win98
root noverify (hd1,0)
chainloader +1
lock
(4)GRUB的命令行,菜单模式,编辑模式的操作(如果有口令先按P键)
编辑模式:
作用:用于修改菜单的选项
热键:E键专进入
命令行模式:
作用:设置GRUB的选项
热键:C键
实例:启动LINUX
grub>root (hdx,y)
grub>kernel /Vmlinux-版本号 TO root=LABEL=/
grub>initrd /initrd-版本号.img
grub>boot (启动)
启动WINDOWS
grub>rootnoveify (hdx,y)
grub>chainloader +1
grub>boot
添加内核模块
作用:通知内核加载某个内核模块
热键:A键
(5)安装GRUB
如果在安装Linux时没有安装GRUB,可以用启动盘启动Linux系统,然后执行以下操作:
#rpm –ivh grub-1.9.0-8.i386.rpm
(6)恢复GRUB
如果GRUB安装在MBR中被其它操作系统引导程序覆盖时,可以执行如下操作:
1) 放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式)
2) #grub
grub>setup (hd0,0)
(7)恢复GRUB的配置文件
由于grub.conf设置的问题,可以采用以下方法进行恢复:
1) 放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式)
2)#mount boot分区 装载点(如果没有boot分区则装载/分区)
3)#cd boot分区的装载点/grub(进入boot分区装载点下grub目录)
4)#vi grub.conf (修改grub.conf恢复设置选项)
四、init 进程 (PID=0)
1. init进程的作用
系统初始化
2. 系统运行级别
0:关机
1:单用户
2:多用户、不支持NFS
3:真正多用户
4:保留
5:X-WINDOWS
6:重启
切换:# init [0---6]
注:(1) shutdown
功能:重启/关机
格式:shutdown [参数] time [信息]
参数:-r:重启
-k:发送信息
-c:取消shutdown的动作
-h:关闭计算机(不关闭电源)
-f:重启时使用fsck检查文件系统
-F:重启时不检查文件
Time:设定时间 hh:mm 某时某分
+mm 当前时间往后几分钟
Now 立即
实例:#shutdown -r now
#shutdown -r +5
#shutdown -h 18:00
(2)reboot
功能:重启系统
实例:#reboot
3. inittab文件的分析
作用:设置init进程默认级别,设置init的动作
格式:# vi /etc/inittab
Inittab文件由若干个记录构成,每条记录格式如下:
标识符:进行的级别,进行的动作,运行的程序
id : 3 :initdefault
si : : sysinit : /etc/rc.d/rc.sysinit
10 : 0 :Wait :/etc/rc.d/rc 0
11 : 1:Wait :/etc/rc.d/rc 1
12 : 2 :Wait :/etc/rc.d/rc 2
13 : 3 :Wait :/etc/rc.d/rc 3
14 : 4 :Wait :/etc/rc.d/rc 4
15 : 5 :Wait :/etc/rc.d/rc 5
16 : 6 :Wait :/etc/rc.d/rc 6
ctrl : : ctrlaltdel : shutdown –r now
Pw : : powerwait : shutdown –r +3
X :5: wait :xllfer 图形界面,安装时默认
动作:
Wait:在进入指定级别立即被执行,且INIT进程要等待该进程传来
Once:进入到级别立刻执行进程
Boot:引导计算机时执行INIT不用等待结束
Bootwait:引导计算机时执行INIT等待结束
Initdefault:启动默认级别
Respawn:终止进程
Sysinit: 是INIT进程的第一个子进程(在boot、bootwati之前)
ctrl+alt+del: 指按CTRL+ALT+DEL键时的动作
4./etc/rc.d 目录说明
iit.d目录:存放服务启动的脚本
rc 文件:调用相应级别中运行目录的程序
rc n (1—6):存放每个运行级别中要运行的程序(k*:关闭程序,s*:启动服务)
rc.sysinit 文件:完成系统初始化:A、环境变量的设置
B、设置系统的时钟
C:加载键盘
D:加载系统字体
E:加载其他文件系统
F:激活交换分区
G:生成日志文件
H:检查文件系统
rc.local 文件:存放系统启动时的程序
五、用户登录和SHELL
1. 用户登录
通过getty获取用户终端
#:代表超级用户
$:普通用户
用户登录命令:
1) su
功能:用来切换用户的工作环境
格式:su [用户名] 无用户名切换到ROOT用户工作环境口令为root口令
实例:$ su
passwd:root口令
2) exit(ctrl+d键)
功能:退出用户环境,一次只能退出一个
格式:exit
3) login
功能:注消用户 (只能在最初的用户环境)
4) logout
功能:退出用户环境直接注消用户
注:(1) 在/etc/目录创建nologin可以设置系统只允许root用户登录,而不允许普通用户登录
(2)禁止某个用户从本机登录可以修改用户的SHELL为nologin
2.SHELL
(1)shell的定义:是用户和内核之间的接口程序
(2)shell的常用版本:BASH(linux用户的默认SHELL),CSH,BSH
切换:直接输入shll名称
(3)shell的可执行文件
Linux命令
(/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin)
Shell内置命令(集成在SHEL文件中)
应用程序
SHELL脚本
(4)shell的功能
命令解释
SHELL编程
命令重定向
命令替换
命令管道
历史记录