系统启动和内核管理以及几个重要实验

Centos启动流程:

    1.加载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控制主机

GRUB的三个阶段:

    第一阶段:MBR

    第1.5阶段:让第一阶段能够识别boot分区

    第二阶段:放在/boot/grub/grub.conf

Init

    centos 6的第一个进程

    它的配置文件:/etc/inittab   /etc/init/*.conf

    运行级别:七个级别

                0、关机

                1、单用户模式

                2、多用户模式

                3、多用户模式(命令界面)

                4、预留级别

                5、多用户模式(图形界面)

                6、重启

        默认级别:35

        切换级别:init #

        查看级别:runlevel    :  who  -r

/etc/rc.d/rc#.d中:

        以K开头的文件:数字越小,越先运行,数字越小的服务,通常为依赖到别的服务。

        以S开头的文件:数字越小,越先运行,数字越小的服务,通常为被依赖的服务。

Chkconfig命令:

        查看服务:chkconfig –list

        添加服务:chkconfig –add

        删除:chkconfig –del

        指定开启服务的级别:chkconfig –level # nameon

        指定关闭服务的级别:chkconfig –level # nameoff

        Ntsysv命令:管理服务启动状态(交互式)

        Service服务名 start     开启服务

        Service 服务名 stop     关闭服务

        Service 服务名 restart    重启服务

        Service  –status-all     显示所有服务状态 

本章几个重要的实验:

一、Grub三个阶段破坏后如何修复?

grub的第一阶段破坏修复:

#dd if=/dev/zero of=/dev/sda bs=1 count=446

#reboot

进入光盘引导

选择rescue installed system救援模式

选择shell进入shell界面

#chroot /mnt/sysimage/  切根

#grub-install /dev/sda

#exit

#reboot

第一阶段修复成功

grub的第1.5阶段破坏修复:

#dd if=/dev/zero of=/dev/sda bs=1 count=2048 skip=512 seek=512

#reboot

进入光盘引导

选择rescue installed system救援模式

选择shell进入shell界面

#chroot /mnt/sysimage/  切根

#grub

grub>root (hd0,0)

grub>setup (hd0)

grub>quit

#exit

#reboot

1.5阶段修复成功

grub第二阶段破坏修复:Grub目录下的文件全被破坏了如何修复?

#rm -rf /boot/grub/*

#reboot

进入光盘引导

选择rescue installed system救援模式

选择shell进入shell界面

#chroot /mnt/sysimage/  切根

#grub-install /dev/sda

#vim grub.con

Default=0

Timeout=5

Title wanglingux

Kernel /vmlinuz root=/dev/sda2

Initrd /initramfs-2.6.32-642.el6.x86_64.img

#exit

#reboot

第二阶段修复成功

二、Boot目录下文件全被破坏如何修复?

#rm -rf /boot

#reboot

进入光盘引导

选择rescue installed system救援模式

选择shell进入shell界面

#chroot /mnt/sysimage/    切根

#mount /dev/sr0 /mnt     挂载

#cp /mnt/isolinux/vmlinuz /boot/vmlinuz-`uname -r`    修复vmlinuz文件

#mkinitrd /boot/initramfs-`uname -r`.img`uname -r`     修复initramfs.img文件

#grub-install /dev/sda

#cd /boot/grub

#vim grub.con

Default=0

Timeout=5

Title wanglingux

Kernel /vmlinuz root=/dev/sda2

Initrd /initramfs-2.6.32-642.el6.x86_64.img

#exit

#reboot    重启

启动成功,修复完成

三、/etc/fstab/boot/下文件都被破坏如何修复?

#rm -rf /etc/fstab

#rm -rf /boot/*

#reboot

进入光盘引导

选择rescue installed system救援模式

选择shell进入shell界面

#mount /dev/sda1 /mnt/sda1     挂载

#mount /dev/sda2 /mnt/sda2

#mount /dev/sda3 /mnt/sda3

Vi /mnt/sda2/etc/fstab

/dev/sda1      /boot    ext4     defaults    0  0

/dev/sda2      /        ext4     defaults    0  0

/dev/sda3      /app     ext4     defaults    0  0

/dev/sda5      swap     swap    defaults    0  0

#reboot    (必须重启)

进入光盘引导

选择rescue installed system救援模式

选择shell进入shell界面

#chroot /mnt/sysimage/  切根

#grub-install /dev/sda    

#mount /dev/sr0 /mnt/    挂载

#Cd /boot/grub

#rpm -ivh /mnt/packages/kernel-2.6.32-642.el6.x86_64.rpm –force    装下内核包

#vim /boot/grub/grub.conf

Default=0

Timeout=5

Title wanglingux

Kernel /vmlinuz root=/dev/sda2

Initrd /initramfs-2.6.32-642.el6.x86_64.img

#exit

#reboot    重启

重启成功,修复完成

四、内核编译,以NTFS模块为例,如何编译内核?

下载内核文件传到Linux

#tar xf linux-4.10.15.tar.xz

插上U盘,由于U盘是NTFS格式而红帽没有NTFS模块,所以要编译内核

#lsblk

#mount /dev/sdc /mnt      挂载

#cd linux-4.10.15/     

#cp /boot/config-3.10.0-514.el7.x86_64       (必须拷贝到解压包下)

#yum -y groupinstall “Development Tools”       安装包组

#make menuconfig     配置内核选项

选定DES/FAT/NT Filesystem support   空格选定

#cd linux-4.10.15/

#make -j 4 && (for i in {1..10};do echo -e ‘\a’; sleep 0.5;done)     编译

#make modules_install     安装模块

#updatedb     更新下数据库

#make install    装相关内核文件

#reboot   重启

启动成功

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

(0)
忠神通忠神通
上一篇 2017-05-15 20:56
下一篇 2017-05-15 21:01

相关推荐

  • grep学习示例

    grep学习示例 Linux中grep命令使用较多,现将自己学习的罗列几条. 1. 去除空白行     空白行是指空行或者只有空格的行,使用grep命令去除空白行,命令如下:      grep -v  “^[[:space:]]*$” &nbs…

    Linux干货 2017-07-30
  • 文本处理工具基础应用

                                                      &nbsp…

    Linux干货 2016-08-07
  • shell脚本编写-2

    1、条件判断if语句       1)、 单分支 if  判断条件;then     条件为真的分支代码     fi 2)、双分支     if  判断条件; then    &…

    Linux干货 2016-08-15
  • sed文本处理工具

    Sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转…

    Linux干货 2017-12-02
  • 第六周作业补充-vim简介及其使用方法详细介绍

    What       Vim是由Vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在Unix& Unix Like操作系统中被广泛使用。和Emacs并列成为Unix& Unix Like操作系统中最受欢迎的文本编辑器 When& Who  &nb…

    Linux干货 2016-09-26
  • rsync+inotify实现数据的实时同步更新

      rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样就可以解决同步数据的实时性问题。 一、rsync的优点与不足 rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的…

    2018-01-06