首页 > 代码库 > Linux启动过程笔记
Linux启动过程笔记
Linux启动过程
1、启动流程(BIOS->MBR:Boot Code->引导GRUB->加载内核->执行init->runlevel)
2、/boot/grub/下有多个文件 其中stage1为MBR镜像(512字节) stage2为引导程序3、/boot/grub/grub.conf为引导的配置文件
default=0#默认加载下边哪个系统 timeout=3#引导等待时间 splashimage=(hd0,1)/boot/grub/splash.xpm.gz#引导界面的背景图 hiddenmenu#隐藏菜单 title CentOS(2.6.32.279.el6.i686)#系统名称 root(hd0,1)#系统位置 kernel /boot/vmlimuz-2.6.32.279.el6.i686 ro root=UUID=** LANG=en_US.UTF-8 #内核及参数 initrd /boot/initramfs-2.6.32.279.el6.i686.img#镜像文件
4、Linux为保持kernel精简将一些不常用的驱动、功能编译为模块,在需要的时候动态加载,而这些
模块被打包保存为一个initramfs文件
早期版本Linux使用initrd文件,initramfs是initrd的替代优化版本,比以前更加节省空间、更加灵活
5、dmesg查看内核的输出信息(查看内核级故障、设备驱动不起来时需要看内核信息)、信息最终保
存在/var/log/dmesg文件中6、init为linux系统中的第一个进程(top中PID为1的),为所有进程的父进程
系统启动时调用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据运行基本启动相应服务
运行级别:
0:关机
1:单用户模式
2:不带网络的多用户模式
3:纯文本多用户模式
4:未使用
5:XLL图形化多用户模式
6:重新启动
通过/etc/inittab 修改默认级别
每个级别保存在/etc/rc.d下(rc0.d、rc1.d、rc2.d。。。)
/etc/init 里边的文件为系统初始化配置文件(如启动ctrl alt del组合按键)
runlevel显示当前及上一个运行级别
N 5 (N表示没有上一个,5表示图形)
init 3表示切换到3级别下
单用户修改ROOT密码
引导时为内核传递参数"1"(数字1)或"single"可系统进入单用户模式(在引导模式下按e,选择内核后再按e,追加"1"启动)单用户模式下不启用任何服务
单用户模式直接以root用户登录,并且不需要密码
可以使用passwd修改root密码
GRUB加密
通过在grub.conf中的启动配置中加入如下参数即可对grub进行加密:password --md5 $1$ao---这里是密码
加密后的密码可以通过grub-md5-crypt命令生成,将生成后的密码替换上边的密码
rc.local文件讲解
很多人不知道rc.local和rc?.d的区别,rc.local是在系统初始化级别脚本运行之后再执行的,因此可以安全地在里面添加你想在系统启动之后执行的脚本。常见的情况是你可以再里面添加nfs挂载/mount脚本。此外,你也可以在里面添加一些调试用的脚本命令。例如,我就碰到过这种情况:samba服务总是无法正常运行,而检查发现,samba是在系统启动过程中就该启动执行的,也就是说,samba守护程序配置保证了这种功能本应该正确执行。碰到这种类似情况,一般我也懒得花大量时间去查为什么,我只需要简单的在/etc/rc.local脚本里加上这么一行:
/etc/init.d/samba start
这样就成功的解决了samba服务异常的问题。
Linux启动过程笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。