linux启动过程
startx 启动图形
startx -- :1 启动第二图形界面 F8
启动过程的图文
1、bois加电-->找启动项 (硬盘,光盘,网络等) hd(硬盘启动)
dd if=/dev/hdb of=MBR bs=512 count=1 导出MBR的内容 ,用 hexdump MBR 查看
MBR(硬盘最前面的512字节,其中前446(bootloader)引导,64(dpt)保存磁盘分区表,2字节55AA,魔法数字,标识硬盘有效的信息)
stage1做引导找到stage1_5(在63个扇区,里面放的都是驱动,文件系统)
stage2(正真的引导程序,找grub.conf)
2、读取bootloader(引导,grub等)
grub 通过读取 /etc/grub.conf 文件决定启动哪个内核
default=0 默认启动第一个title
timeout=5 显示菜单的超时时间 默认单位为秒
hiddenmenu 启动的时候隐藏菜单
title 必须要写
root (hd0,0) 第一块硬盘的第一个分区,即/boot
kernel(找内核,即内核文件所在的位置) /(指/boot目录)vmlinuz-2.6.18-194.el5 ro(只读模式) root=LABEL=/(系统正真的根目录) rhgb(以图形的方式显示,并显示进度条) quiet(只显示重要信息,硬件等返回的信息不显示)
initrd(先加载init,再加载各个模块) /initrd-2.6.18-194.el5.img
模拟损坏引导程序
损坏:dd if=/dev/zero of=/dev/hdb bs=446 count=1
修复:grub-install /dev/hdd (当前系统所在的硬盘) 生成stage文件
3、启动内核
通过grub.conf文件找到内核,并且把内核加载到内存。
4、由内核找到第一个进程 init
/sbin/init==>inittab 启动级别 si::sysinit:/etc/rc.d/rc.sysinit(初始化系统) l0:0:wait:/etc/rc.d/rc 0(每个运行级别需要启动的东西,都在对应的目录下) s开始的叫start k叫kill
5、rc.sysinit 初始化进程
/etc/rc.d/rc.sysinit
/etc/fstab defaults 读写
6、rc.local 最后一个脚本
7、加载文本资源
8、加载图形资源==>login
9、bash 环境变量
/etc/bashrc 文件负责设置全局的函数和别名
/etc/profile 文件负责设置全局的环境并应用于所有的用户登录shell
.bashrc
.bash_profile
光盘修复
linux rescue
chroot /mnt/sysp_w_picpath 切换根目录到硬盘上
转载于:https://blog.51cto.com/xiangjishi/725048