System Initilization 系统初始化
要点:精确的把握系统启动,对于底层信息要了解
1,系统版本号
/etc/redhat-release (版本信息)
注意版本号和内核版本的区别
#uname
-r 显示内核版本(kernel release)
-v 精确显示
-a 显示全部信息
-o 操作系统
-m 硬件平台架构
2,runlevel 7个(0-6)表示
#runleve
#N (上一次所在版本级别)3(当前所在版本级别)
#init NUMBER(0-6) 定义重新初始化,并进入加载
7个级别分表表示的为
0 –halt 关机
1 –Single User Mode 加载信息最少,不读取(/etc/passwd,/etc/shadow)
S ,s,single 读取/etc/rc.d/rc.sysinit
emergency :救援模式,不加载 /etc/rc.d/rc.sysinit
2—multi user mode,without NFS(网络服务) ubuntu 个人版默认的进入为2
3—full multiuser text mode
4—系统预留
5—full multiuser GUI mode
6—reboot ,init 6 重启
/etc/inittab 之中,重要的配置文件,知音系统启动之后的动作
)
3 :daemon 分为两类进程
注释:后台运行的进程(background),daemon(守护进程
1: standalone daemon:独立守护进程。(占系统内存,如果为启动状态的则每个进程都有独立的进程)
2:transient daemon :短暂守护进程=非独立守护进程。(有个进程代替[超级守护进程],有需要的[超级守护进程]话传递,开始某个transient daemon,而后关闭。)
chkconfig :
--list 查看所有服务启动状态
--list –进程名称 >用于只显示该进程的信息
--level LLL SERVERNAME on|off 管道指定LLL(级别)下的进程状态
如果是2345 级别就可以省略
chkconfig 短暂守护进程 on|off 短暂守护进程没有级别之分
但是超级守护进程则有级别
ntsysv 命令,图形化管理进程(默认只控制当前级别)
ntsysv –level LLL* (级别) 定义某些指定级别的进程
PC启动的整个过程
post(BIOS,CMOS)à(boot sequence à MBR[Master Boot Record]:1 sector ,512 bytes,Bootloaderàinit(/etc/inittab)à/etc/rc.localàlogin
详细步骤
1.pc中,引导linux的是从0XFFFF0 处开始的,BIOS的第一个步骤是加电自检POST,是对硬件进行检测。
2.引导一个分区时,是按照CMOS的设置定义的顺序来搜索处于活动状态并且可以引导的设备,引导设备可以是CD-ROM、硬盘上的某个分区、网络上的某个设备,甚至是 USB 闪存。
3.通常OS 就会将控制权交Linux是从硬盘上进行引导的,以中主要引导记录(MBR)中包含主导加载程序,MBR是一个512 Bytes大小的扇区位于磁盘上的第一个扇区中(0 道 0 柱面 1 扇区)。当 MBR 被加载到 RAM 中之后,BI给 MBR。
MBR
MBR引导有两种引导
1, LILO (LInux Loader) 但是这种MBR只可以引导1024柱面之前的分区,现在很少用,多用于java的程序引导。
引导加载程序是446 bytes的主导加载程序,其中包含可执行代码和错误消息文本,剩下的64个字节是分区表,每个分区是16字节,(可以分为四个分区记录),MBR 以两个特殊数字的字节(0xAA55)结束。这个数字会用来进行 MBR 的有效性检查。
2, GRUB (Grand Unified Bootloader)
1. 识别硬板分区,无论什么接口
(hd0,0)à硬盘接口 IDE(ha[d-z]表示第几块硬盘[数字] SATA,SCSI,USB,SAS (sd[a-z][数字]
2. kernel加载内核映像到内存
如果boot 和跟目录不在同一个分区
/….
如果boot 和根目录在同一个分区
/boot/….
3,initrd 虚拟的根文件系统的镜像到内存
关于grub.conf 是上面过程的配置文件
#boot=/dev/sda
default=0 设置默认title
timeout=5 设置超时时间
splashimage=(hd0,0)/grub/5.xpm.gz 设置开机的画面(大小640x480 14pic .xpm格式的图片)
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
password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.
这样就可以对文件系统进行查询了
手动进行引导
如果grub,conf丢失的话系统就不能进行引导了需要手动进行引导
1,制造故障把grub,conf改名字
2,重起linux系统
3,手动进行GRUB引导
#cd/boot/grub
#rm grub.conf grub.conf.1
#shutdown –r now
grub> 系统重启之后则进入grub引导这个时候MBR的文件并没有损坏只是grub.conf损坏可以手动引导方法如下图片
boot回车就可以引导进入linux然后手动添加grub.conf文件
dd if=/dev/zero of=/root/test bs=446 count=1
sync
这样整个GRUB就丢失了
如果整个磁盘上GRUB丢失的话
如下 如果没重启系统
#grub
grub>root (hdx,y) x表示第一块硬盘,Y表示硬盘上的第几个分区
setup (hd0)
quite