10.Linux系统启动详解

10.Linux系统启动详解

·1.BIOS负责检查硬件并且查找可启动设备,

·2.MBR:Boot Code

·bios找到可启动设备后执行其引导代码,MBR的前446字节,

·/boot/grub/stage1内容为当前硬盘MBR的镜像,

·3.执行引导程序-GRUB

·grub是现在Linux使用的主流引导程序,可以用来引导大多数主流系统,

·Linuxgrub可以识别windows的启动程序,但windows的会覆盖Linux的,故先windowsLinux

·grub相关文件保存在/boot/grub中,grub配置文件为/boot/grub/grub.conf

·/boot/grub/grub.conf里的hiddenmenu就是隐藏开机倒计时,

·dmesg命令显示本次启动内核的输出信息,

·4.加载内核kernel

·内核解压并自检,找到inittramfs,建立仿真根目录,

·加载驱动,重要驱动在内核,其他内核在/lib内,

·挂载真正系统根目录,

·5.执行init

·/sbin/initLinux的第一个进程

·调用/etc/rc.d/rc.sysinit负责对系统初始化,挂在文件系统,并根据运行级别启动相应服务,

·/etc/inittab可以修改默认的运行级别,传给/etc/init/rc.conf,调用/etc/rc.d/rc,单用户模式不读取

·每个级别对应的启动服务保存在/etc/rc.d/

·/etc里面的rc5.d即为级别5开机时的服务启动,如下:

·lrwxrwxrwx. 1 root root 17 Mar  1 08:02 S01sysstat -> ../init.d/sysstat

·s为开机启动顺序,k为关机关闭顺序,数字为启动顺序,数字后字母为服务名,

·然后加载/etc/rc.local中手工添加的服务程序,

·init可以改变当前运行级别:


·0,关机

·1,单用户模式

·2,不完全命令行模式

·3,完全命令行模式

·4,未使用,保留

·5XII图形模式

·6,重新启动


·6.runlevel,查看上次及本次运行级别,

·破解密码:

·重启,上下键,启动项,ekernel编辑,equiet后加1单用户模式,b重启,passwdexit

·GRUB加密:

·由于重启修改密码的方法不安全,所以需要对grub加密,

·进系统,运行grub-md5-crypt,生成加密密码串,输入grub密码,生成密码串,

·复制加密串,修改grub文件,在timeout下一行输入password --md5 密码串,

·后期进入grub编辑模式需要按p,输入grub密码,

·GRUB密码破解:

·光盘启动,选第三个修复模式,进入模拟根,

·chroot /mnt/sysimage/挂载真正系统根,

·进grun.conf删除grub密码,或者给root直接设密码,

·调整字符界面分辨率:

·grep CONFIG_FRAMEBUFFER+CONSOLE /boot/config-2.6.32.279.el6.i686,先查询内核是否y支持修改分辨率,

·如161024*768791

·在grub.conf里面,内核的quiet后面空格添加vga=791即可,


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。