Linux 系统的启动
一.启动步骤和 GRUB
1 . Linux 启动过程分析
( 1 ) BIOS 自检
l 硬件检测及初始化
l 引导启动设备
( 2 )引导启动设备
l 软盘(0磁道第一个扇区)
l 光盘(最外围存储轨道)
l 硬盘(MBR)
l USB存储设备
( 3 )调用 Linux 引导程序至内存中
l Linux的引导程序可以使用GRUB/LILO等引导软件
l GRUB/LILO可以安装在MBR/引导分区的引导扇区中
( 4 )运行 Linux 内核
l 内核放在/boot目录中,Linux系统可以同时支持多版本内核
l 解压缩内核
l 检测硬件
l 加载root文件系统
( 5 )执行 init 进程 ( 按“ i ”单步运行 )
l 启动新进程或关闭进程
l 选择启动模式
l 建立虚拟终端
( 6 )用户登录
l 输入用户名及口令
l 加载用户配置文件
l 加载shell程序
2 .引导盘的创建
方法一 :安装过程中创建
方法二: mkbootdisk
#mkbootdisk --device /dev/fd0 2.4.20-8
方法三: 使用dd命令
# dd if=/boot/vmlinuz of=/dev/fd0
3 . GRUB
( 1 ) GRUB 简介
GRUB是一种基于intel平台的功能强大的启动引导器
( 2 ) GRUB 特点
l 支持大硬盘,突破1024柱面的限制
l 支持两种界面(菜单,命令行)
l 开机画面
( 3 )安装 GRUB
l 安装软件包
#rpm –ivh grub-0.934.i386.rpm
l 使用安装命令安装GRUB到MBR
#grub
grub>root (hdx,y)
grub>setup (hdx[,y])
( 4 ) GRUB 的配置
#vi /boot/grub/grub.conf
grub.conf 中常用的配置命令有:
default= 菜单项序号 /saved
设置启动菜单的默认启动项
hiddenmenu
隐藏菜单界面
splashimage = 图像文件全路径名
指定某文件作为启动菜单的背景图像
timeout= 延迟秒数
设置启动菜单的启动延时
title 菜单项名称
开始一个菜单项的配置,设置菜单项的名称
root (hdx,y)
设置GRUB的根设备为linux内核所在的分区
kernel 内核文件名称
指定内核文件的名称及加载内核所需的参数
initrd initrd 文件名
指定镜像文件的位置
map (hdx[,y]) (hdx[,y])
建立虚拟磁盘
rootnoverify (hdx,y)
指定windows启动引导器的位置
makeactive
标识指定分区为活动分区
chainloader +n/ 文件名称
调用指定windows启动文件
password 口令 /--md5 口令密文
设置GRUB启动菜单和菜单项口令
lock
利用password设置的全局口令锁定菜单项
savedefault
保存当前启动菜单项为默认启动
文件实例:
# grub-md5-crypt(产生口令的MD5密文)
# vi /etc/grub.conf
default=0
timeout=50
splashimage=(hd0,0)/grub/splash.xpm.gz
password --md5 #!dfdasdf34123!#@$!#@
title RedHat Linux 9.0
root (hd0,2)
kernel /Vmlinuz-2.4.20-8 ro root=/LABEL=/
initrd /initrd-2.4.20-8.img
password linux
tile windows 2000
rootnoverify (hd0,0)
chainloader +1
lock
( 5 ) GRUB 的 FAQ
l 编辑模式的使用
用于临时修改菜单的选项,在菜单界面中按E键进入
菜单主界面
编辑模式
l 命令行模式的使用
利用命令行命令设置GRUB,在菜单界面中按C键进入
命令模式
grub 命令行中常用的命令有:
grub>root (hdx,y) //设置根设备所对应的分区
grub>kernel 内核文件 //设置内核文件的名称
grub>initrd 镜像文件名 //设置镜像文件名
grub>boot //启动指定操作系统
grub>rootnoveify (hdx,y) //设置根设备所对应的分区,但不检查加载点
grub>chainloader 文件名//加载指定的文件
grub>help //获取帮助
grub>reboot //重启系统
grub>md5-crypt //生成口令的MD5密文
grub>setup (hdx[,y]) //安装GURB到MBR/指定分区的引导扇区中
grub>hide 分区 //隐藏分区
grub>cat 文件名 //显示文件内容
grub>find 文件名 //查找文件
l 如果 MBR 中的 GRUB 引导程序被其它程序覆盖,应该如该恢复
1) 放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式,加载硬盘上的LINUX系统到/mnt/sysimage)
2) #grub
grub>root (hdx,y)
grub>root (hdx)
l 恢复 GRUB 的配置文件
由于grub.conf设置的问题,可以采用以下方法进行恢复:
1) 放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式)
2)#vi /mnt/sysimage/boot/grub/grub.conf
l 如何利用 GRUB 进入单用户模式,找回丢失的 root 用户口令
在GRUB菜单界面中按e编辑linux菜单项,给内核后面添加参数single
然后回车再按b进单用户模式、password root就可以了。
l 如何卸载 GRUB
1)#rpm -e grub
2)C:\>fisk/mbr
二. init 进程
1. init 进程的作用
init进程是系统启动第一个进程,它负责加载其它进程、管理系统的其它进程
2. 系统运行级别
运行级别
说明
0
关机
1
单用户模式
2
多用户模式、不支持NFS
3
多用户模式
4
保留
5
X-WINDOWS
6
重启
可以使用 init 在各个运行级别中进行切换, init 命令格式如下:
#init <0-6,a,s,q>
3. inittab 文件的分析
/etc/inittab 文件用于 设置init进程在执行时加载哪些程序,inittab文件由若干个记录构成,每条记录格式如下:
ID : RUNLEVEL : ACTION : COMMAND
以下为默认 inittab 文件内容:
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc0
l1:1:wait:/etc/rc.d/rc1
l2:2:wait:/etc/rc.d/rc2
l3:3:wait:/etc/rc.d/rc3
l4:4:wait:/etc/rc.d/rc4
l5:5:wait:/etc/rc.d/rc5
l6:6:wait:/etc/rc.d/rc6
ca ::ctrlaltdel:/sbin/shutdown -t3 -r now
pf::powerfail:/sbin/shutdown -f -h+2 “power failure;power shutting down”
pr:12345:powerokwait:/sbin/shutdown–c “power restored;shutdown cancelled”
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:5:respawn:/etc/X11/prefdm -nodaemon
说明:
(1) Action 用于设置调用进程的方式
Respawn
只要进程停止,该进和便重新启动
Wait
进程运行一次,init等待到它停止
Once
进程运行一次
Boot
系统引导过程中,进程运行,忽略等级
Bootwait
系统引导过程中,进程运行,init等待结束
Off
无任何行动
Initdefault
系统默认运行等级
Sysinit
系统引导则运行,优先于boot或bootwait
Powerwait
电源故障后发送信号给init,等待进程终止
Ctrlaltdel
当init收到SIGINT信号时,该进程运行
Powerokwait
UPS恢复则向init发送SIGINT信号
( 2 ) 修改/etc/inittab 文件,可以设置默认启动模式、各运行级别所加载的程序、CTRLALTDEL的动作、开设虚拟用户终端
4. /etc/rc.d 的目录内容
( 1 ) /etc/rc.d/init.d 目录
l 保存所有运行等级需要的所有脚本
l 启动、停止、重启某些服务
( 2 ) /etc/rc.d/rc
l 系统改变运行等级,通过此脚本检查/etc/rc.d/rcX.d目录和文件可存在,以及是否正在运行等,以及运行/etc/rc.d/rcX.d中所有S开头的脚本
( 3 ) /etc/rc.d/rcX.d 目录
l 存放每一运行等级默认启动项,该目录中的文件链接到:/etc/rc.d/init.d
l 文件名格式为K{Two-digit number} {script name} / S{Two-digit number} {script name}, K:以stop参数运行, S:以start参数运行;Two: 数字代表执行顺序
( 4 ) /etc/rc.d/rc.local
l 该脚本在2,3,5运行等级结束时执行
( 5 ) /etc/rc.d/rc.sysinit
l 系统初始脚本,用于设置系统的时钟、加载键盘、加载系统字体、加载其他文件系统、激活交换分区、生成日志文件
三.用户登录
1 .用户登录过程
2 .用户登录命令
( 1 ) su
功能 :切换用户登录
格式 :#su [参数] [-] [用户名]
参数: -c 命令 :运行指定的命令
-m :不重新设置环境变量
-s shell路径 :运行指定的shell
- :连同工作环境一起切换
实例 :$su -
#su user1
$su -c /sbin/init 0 root
( 2 ) exit
功能 :退出用户环境(ctrl+d)
格式 :#exit
( 3 ) login
功能 :登录系统
格式: #login [参数] [用户名]
参数:
- p :通知 login 保持现在的环境参数
- h :用来向远程登录的主机传输用户名
实例: #login
( 4 ) logout
功能 :退出用户环境、注消用户
实例: #logout
( 5 ) sudo
功能: 以其它用户执行指定的命令,默认是以root身份,只有/etc/sudoers文件中指定的用户有权执行
格式: #sudo [参数] 命令
参数:
-b 在后台执行指令
-H 将 HOME 环境变量设为新身份的 HOME 环境变量。
-k 结束密码的有效期限,也就是下次再执行 sudo 时便需要输入密码。
-l 列出目前用户可执行与无法执行的指令。
-p 改变询问密码的提示符号。
-s 执行指定的 shell 。
-u< 用户 > 以指定的用户作为新的身份。若不加上此参数,则预设以 root 作为新的身份。
-v 延长密码有效期限 5 分钟。
实例: #sudo /sbin/init 0
说明: /etc/sudoers 文件格式为 :user host=[all/nopasswd/run as 用户名 ] command lint; 其中 All 代表所有文件, nopasswd 代表执行文件时不需要要口令
( 6 ) who
功能: 显示登录用户信息
格式: #who [参数]
参数: -l 显示系统登录进程
-b 显示系统最后一次启动时间
实例: #who
#who -l
( 7 ) w
功能: 显示登录用户信息
格式: #w [用户]
实例: #w
( 8 ) whoami
功能 :显示当前终端登录的用户名称
实例 :#whoami
( 9 ) last
功能: 显示最近的用户登录情况
格式: #last [参数]
参数: num 显示指定终端上的用户登录信息
-num 显示最近n次的用户登录信息
-i 显示登录主机的IP地址
实例: #last
#last 3
( 10 ) wall
功能: 向每个用户终端上的用户发送消息
格式: #wall [参数]
参数: -n 不显示消息来源
实例: #wall
#wall -n
( 11 ) write
功能: 向指定终端的用户发送消息
格式: #write 用户名 [终端]
实例: #write user1 tty1
注意: /etc/motd为公告板文件,用于记录所有公告信息;/etc/issue为欢迎信息文件
( 12 ) help
功能: 获取shell内置命令的帮助信息
格式: #help [内置命令名]
实例: #help
#help times
( 13 ) man
功能: 打开命令手册文件
格式: #man [命令名/文件名]
实例: #man su
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com