1)Centos6启动步骤概述
1、上电POST自检,加载BIOS的硬件信息,获取第一个启动设备
2、读取第一个启动设备MBR里的引导加载程序(grub)的启动信息
3、加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4、核心执行init程序,并获取默认的运行信息
5、init程序执行/etc/rc.d/rc.sysinit文件
6、启动核心的外挂模块
7、init执行运行的各个批处理文件(scripts)
8、init执行/etc/rc.d/rc.local
9、执行/bin/login程序,等待一会登录
10、登录之后开始以shell控制主机
/sbin/init CentOS6之前 ?
运行级别:为系统运行或维护等目的而设定;0-6:7个级别
0:关机 1:单用户模式(root自动登录), single, 维护模式 2: 多用户模式,启动网络功能,但不会启动NFS;维护模式 3:多用户模式,正常模式;文本界面 4:预留级别;可同3级别 5:多用户模式,正常模式;图形界面 6:重启 ?
默认级别:3, 5 ?切换级别:init # ?查看级别:runlevel ; who -r
2)既简单流程
POST(Power On Self Test,加电自检) ----> Boot Sequesce(BIOS,找到第一启动设备) ----> Boot Loader(加载引导程序到内存中) ----> Kernel(ramdisk,加载内核和虚拟磁盘映像文件) ----> rootfs(挂载临时根) ----> switchroot(切换临时根为系统根目录) ----> /sbin/init(开机后第一个 读取的文件) ----> (/etc/inittab,/etc/init/*.conf) ----> 设定默认运行级别 ----> 系统初始化 脚本rc.sysinit ----> 关闭或启动对应级别的服务 ----> 启动终端
3)MBR
MBR(Master Boot Recorder),我们称之为主引导记录。BIOS是怎样寻找可启动设备的呢?我们知道在分区时, 硬盘的第一块扇区512个字节就是存放的MBR,如果该设备是可启动设备,那么该扇区的后两个字节肯定是 55/AA,所以此时在寻找可启动设备时,如果发现该设备的后两个字节是这个,那么该设备就是可启动设备。 BIOS在找到可启动设备以后就会执行其引导代码,因为MBR占据了第一块扇区的512字节,分区表占用了 16*4 =64字节,再加上后两个标志字节,所以MBR的引导代码就是MBR的前446个字节,当然这446个字节太小了,并不 能完成整个操作系统的引导程序,所以这446个字节里面可能存放的就是启动引导程序的一些代码。
4)GRUB
GRUB是引导加载程序,将引导操作系统,启动引导器是计算机启动过程中运行的第一个真正的软件,计算机启动 时在通过BISO自检后读取并运行引导介质上前面的扇区即硬盘主引导扇区(MBR)中的启动引导器程序, 这里的 扇区中:MBR占据了第一块扇区的512字节,但其实际只占用了其中的446个字节,另外的64个字节交给了 DPT(Disk Partition Table硬盘分区表),后两个字节“55,AA”是分区的结束标志。启动引导器在负责加载 启动硬盘分区中的操作系统。如果启动引导器不能正常工作,将导致操作系统不能正常启动,从而整个计算机瘫 痪。通常,每个操作系统在安装过程中都要将自带的启动器写在硬盘(MBR),以便能过进行自身的引导。
5)Linux组成
Linux: kernel+rootfs
kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc
库:函数集合, function, 调用接口(头文件负责描述)
程序:二进制执行文件 ?
内核设计流派:
单内核(monolithic kernel):Linux把所有功能集成于同一个程序,分层实现不同功能,系统庞大复杂
微内核(micro kernel):Windows, Solaris 每种功能使一个单独子系统实现,将内核功能移到用户空间,性能差
6)内核
Linux内核特点:支持模块化:.ko(内核对象) 如:文件系统,硬件驱动,网络协议等 支持内核模块的动态装载和卸载
7)系统启动流程
系统初始化: POST --> BootSequence (BIOS) --> Bootloader(MBR) --> kernel(ramdisk) --> rootfs(只读) --> init(systemd)
8)实验:进入单用户破解centos6的root密码
启动时,出现下图时,快速按方向键上下即可中止启动。
进?菜单输?a,进?启动时指定内核参数界面。
此时,在命令?中输?空格后,再输??个数?,该数?表?的就是运?级别,即0代表关机、1代表单?户模式、2代表 没网络的多?户模式、3代表完整的多?户模式、4?定义模式、5表?有图形化的完整的多?户模式、6代表重启。此处, 输?的是1,启动单?户模式。
<c KEYTABLE=us rd_NO_DM rhgb quiet 1
直接键?回车即可启动单?户模式了,这种模式可?于当忘记管理员root的密码时,可进?单?户模式进?修改。因为在 此模式下,root可直接使?passwd命令设置新密码,??需任何限制。
9)实验:删除/boot所有文件恢复
删除boot所有文件:rm -rf /boot/* 重启:reboot
在启动刚开始界面,迅速按F2,进?BIOS设置界?
方向右键移动到Boot选中CD-ROM
按F10,保存退出即可。
启动后,直接选择进?救援模式
查看磁盘分区:df
切换跟:chroot /mnt/sysimage/
安装grub:cd /boot grub-install /dev/sda
挂载:mount /dev/cdrom /media
安装内核:yum install kernel-2.6.32-754.el6.x86_64
创建编写grub.conf文件:vim /boot/grub/grub.conf
default=0
timeout=5
title minilinux
kernel /vmlinuz-2.6.32-754.el6.x86_64 root=/dev/sda2
initrd /initramfs-2.6.32-754.el6.x86_64.img
退出重启:exit reboot
再次进入Boot,启动Hard Drive即可
原文:https://www.cnblogs.com/dengkui/p/11061315.html