Linux-系统启动的基本过程 以及相关破环修复实验。

这章简单描述下系统的启动流程,主要以破环修复实验为主:

系统启动基本过程:

      Linux系统启动过程大致按照如下步骤进行(这是一个简述):
        第一阶段:BIOS启动引导阶段;
                        在该过程中实现硬件的初始化以及查找启动介质;
                        从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理
         第二阶段:GRUB启动引导阶段;
                        装载stage1
                        装载stage1.5
                        装载stage2
                        读取/boot/grub.conf文件并显示启动菜单;
                        装载所选的kernel和initrd文件到内存中
         

        第三阶段:内核阶段:
                        运行内核启动参数;
                        解压initrd文件并挂载initd文件系统,装载必须的驱动;
                        挂载根文件系统
        

         第四阶段:Sys V init初始化阶段:
                        启动/sbin/init程序;
                        运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统;
                        读取/etc/inittab文件,运行在/et/rc.d/rc(N).d中定义的不同运行级别的服务初始化脚本;
                        打开字符终端1-6号控制台/打开图形显示管理的7号控制台



同时在上述过程中各阶段所需要读取的文件和操作的对象:

BIOS启动引导阶段                          GRUB启动引导阶段                    内核阶段                            /init/sysinit阶段



None                                         /boot/grub/grub.conf              /boot/vmlinuz-<version>       /etc/rc.d/rc.sysinit
                                                 /boot/grub/stage1_5                /boot/initrd-<version>           /etc/inittab
                                                 /boot/grub/stage2                                                                 /etc/rc.d/rc<#>.d
                                                                                                                                              /etc/rc.d/init.d/*



实验一:如果开机启动时发现某服务出错导致无法启动,进行排错?

            步骤:1、开机启动读秒后按esc键,进入GUN GRUB 窗口,按a进行内核参数修改。

                         Linux-系统启动的基本过程 以及相关破环修复实验。

                        Linux-系统启动的基本过程 以及相关破环修复实验。

                   2、chkconfig –list testsrv 查看服务所有模式下的启动状态

                3、mount -o remount,rw / 用读写方式重新挂载/
                4、chkconfig testsrv off 关闭服务,不制定级别,默认2,3,4,5级别下服务关闭
                5、chkconfig –level 1 testsrv off
                6、ls /etc/rc5.d/*tsetsrv* 查看是5模式下,文件是K或S开头的,
                7、重新启动


实验二:dd if=/dev/zero of=/dev/sda bs=1 count=446,破环MBR第一个分 区 前446字节(bootloader),修复?

                    

                步骤:1、开机进入救援模式,按下面步骤,打开一个shell。

                      Linux-系统启动的基本过程 以及相关破环修复实验。

                      Linux-系统启动的基本过程 以及相关破环修复实验。

 

                          Linux-系统启动的基本过程 以及相关破环修复实验。


                         Linux-系统启动的基本过程 以及相关破环修复实验。


                         Linux-系统启动的基本过程 以及相关破环修复实验。


                         Linux-系统启动的基本过程 以及相关破环修复实验。

 

                         Linux-系统启动的基本过程 以及相关破环修复实验。

                      

                         Linux-系统启动的基本过程 以及相关破环修复实验。


                         

                   2、按照下图,进行操作,

                        Linux-系统启动的基本过程 以及相关破环修复实验。    

                 3 、exit,退出重启.


 

实验三:删除/boot/grub下的所有文件,保留grub.conf和splash.xpm.gz这两个文件;即stage_2阶段被破环?

                   重启时的界面如下图:

                        Linux-系统启动的基本过程 以及相关破环修复实验。

                

               修复方法和实验二的过程一样:
                       1、进入救援模式,开启一个shell
                       2、chroot /mnt/sysimage
                       3、 grub-install /dev/sda
                       4、sync; exit ;退出重启

实验四:编辑/boot/grub/grub.conf文件,设置进入单用户模式口令,不让其他用户随便进入单用户
                   模式,进行某些危险操作?
                    a 、 1、 vim /boot/grub/grub.conf
                            2、在hiddenmenu这一行的上面插入:
                                  password (输入密码)
                   b、也可以对密码进行加密;
                         用 grub-md5-crypt 命令对密码进行加密,
                        password –md5 加密后口令
                   c、md5加密算法不安全,已被破解,可以用 grub-crypt 命令生成更安全的加密口令;
                                password –encrypted 生成的加密口令

                   d、如果 password –encrypted 生成的加密口令,放在 title这一行的下面,则变成开机启动 时的密码;

                         输入对应密码才能启动。

实验五:/etc/grub/grub.conf文件里,initrd 与kernel这两行的顺序不能颠倒,如果顺序反了,如何修复?

                  启动时报错的界面如下图:

                               Linux-系统启动的基本过程 以及相关破环修复实验。

                 

                修复步骤如下图:

                       1、重启,按e进入编辑命令模式

                              Linux-系统启动的基本过程 以及相关破环修复实验。

                    

                              Linux-系统启动的基本过程 以及相关破环修复实验。

            

                              Linux-系统启动的基本过程 以及相关破环修复实验。

                              

                              Linux-系统启动的基本过程 以及相关破环修复实验。

             

                              Linux-系统启动的基本过程 以及相关破环修复实验。

                         2、 启动完成后,再 修改/boot/grub/grub.conf文件;

                               把initrd 与kernel行的位置换一下,kernel一定在initrd行的前面;然后保存退出。

实验六: 删除/etc/fstab 和/boot ,并恢复?重启后界面如下图:

                        Linux-系统启动的基本过程 以及相关破环修复实验。   

                   

               

                      步骤:1、重启,在读进度条界面快速按esc键,选择下图中救援模式:

       

                                  Linux-系统启动的基本过程 以及相关破环修复实验。


                 

                              2,下图发现,找不到系统的分区了,要先修复/etc/fsatb,让系统识别分区。

                                         Linux-系统启动的基本过程 以及相关破环修复实验。

 

                         

                         3、通过下图中的操作找出/boot和”/”分区,并修复/etc/fstab文件:

                                          Linux-系统启动的基本过程 以及相关破环修复实验。

                         

                                          Linux-系统启动的基本过程 以及相关破环修复实验。

                      4、修复完/etc/fstab 文件,保存退出,重新启动,再次进入救援模式,可以看到,这时候,系统找到根分区了,并且被挂载到/mnt/sysimage下;

                            可以进行chroot   /mnt/sysimage 切根操作了。如下图:

                                          Linux-系统启动的基本过程 以及相关破环修复实验。

              

                         

                           5、先切换根,挂载光盘,发现光盘下有vmlinuz内核文件,移动内核文件到/boot,操作如下图:

                                         Linux-系统启动的基本过程 以及相关破环修复实验。

      

                          

                          6、创建根文件系统
                                  #mkinitrd /boot/initramfs-`uname -r` `uname -r
                          7、安装grub

                                   #grub-install /dev/sda

                         

                          8、/boot/grub下缺少grub.conf文件。手动编辑一下,下图中注释可以不写。

                                       Linux-系统启动的基本过程 以及相关破环修复实验。

 

                       注意:如果上述实验步骤8,grub.conf文件写错了,重启时会出现下图的界面:

                                        Linux-系统启动的基本过程 以及相关破环修复实验。

                         

                              这里也可以直接写grub.conf文件,然后重新加载boot,就不需要再重新进救援模式重新修改grub.conf文件了;节省大量时间。

                              等机器重启后,再把grub.conf文件修改好。操作如下图:

                                        Linux-系统启动的基本过程 以及相关破环修复实验。

                  

              


















原创文章,作者:shenjialong,如若转载,请注明出处:http://www.178linux.com/79676

(0)
shenjialongshenjialong
上一篇 2017-07-10
下一篇 2017-07-10

相关推荐

  • 马哥教育网络19期+第十五周课程练习

    1、总结sed和awk的详细用法;   a).sed命令 sed可以实现grep的大部分功能,而且还可以查找替换 [root@localhost ~]# sed '10'p -n 1.txt [root@localhost ~]# sed &#039…

    Linux干货 2016-08-22
  • Linux高级磁盘管理-RAID管理

    在冯诺依曼体系机构中,输入输出要存储的外部磁盘I/O能力实在太低,尤其是企业面对高并发的访问量,在系统内部需要大量调度磁盘的上的网页文件资源,这些都会产生大量的I/O,一个磁盘的I/O能力不管如何提升毕竟是有线的,尤其是机械硬盘;同时为了保障业务的连续性,磁盘故障时必须提供冗余能力,面对这样的实际需求环境,RAID技术产生了,通过组织磁盘阵列方式提供I/O,…

    Linux干货 2016-09-06
  • 网络这块一些有趣的感想

    还记的那天老师让我们做两台主机的nexthop就是自己的ip地址,然后互相ping测试能否互相联通的实验,昨晚之后我就在想能不能进行一些改进,因为在我看来这种级别的互相ping的前面一个网络段相同太没意思了。 接着我就尝试了几种IP地址 主机A 主机B 192.0.0.1 192.1.0.1 192.1.1.1 192.2.2.2 192.2.1.1 192…

    Linux干货 2016-09-13
  • 第七周练习

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;   ~]# mke2fs -t ext4 -b 2048 -m 2 -L…

    Linux干货 2016-12-10
  • Btrfs文件系统在CentOS中的应用

      Btrfs作为Linux下一代文件系统与zfs有着许多相似的功能。 扩展性 (scalability) 相关的特性,btrfs 最重要的设计目标是应对大型机器对文件系统的扩展性要求。 Extent,B-Tree 和动态 inode 创建等特性保证了 btrfs 在大型机器上仍有卓越的表现,其整体性能而不会随着系统容量的增加而降低。 其次是数据一…

    Linux干货 2016-01-20
  • Nginx 进阶 (ssl、fpm、rewrite、cache配置等)

    Nginx(与ssl结合配置https网站、rewrite,fastcgi配置详解) 前言 前面已经介绍过Nginx的一些基础概念,还有几个比较重要的模块:利用ssl给会话加密,利用rewrite功能灵活改写访问结果,以及利用fastcgi与php模块结合等等。 一、配置https网站 1、自建CA (1)生成私钥文件 mkdir -p /etc/pki/C…

    Linux干货 2016-12-26