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

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
下一篇 2017-05-15

相关推荐

  • 马哥教育网络21期+第三周作业博客

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [ro…

    Linux干货 2016-08-01
  • OpenSSL:实现创建私有CA、签署证书请求详解

    一、OpenSSL:CA默认配置信息     1.证书签发机构CA:公共信任CA、私有CA                建立私有CA方式如下: 小范围测试使用openssl、 大…

    Linux干货 2016-04-30
  • keepalived相关配置示例(一)

    配置前提: (1) 各节点时间必须同步 (2) 确保iptables及selinux不会成为阻碍 (3) 各节点之间可通过主机名互相通信(对KA并非必须)         建议使用/etc/hosts文件实现 (4) 确保各节点的用于集群服务的接口支持MULTICAST…

    2017-06-26
  • Linux命令学习总结:cp命令

    Linux命令学习总结:cp命令 命令简介:      cp命令用来复制文件或目录。指令英文原义:copy,copy files and directories      指令所在路径:/bin/cp 命令语法: cp [OPTION]… [-T]   SO…

    Linux干货 2017-07-23
  • 浅谈编译kernel+busybox构建拥有远程ssh登录和web功能最小linux系统(二)

    忘了介绍本文的源码的版本了 dropbear-2013.58.tar.bz2    busybox-1.21.1.tar.bz2 linux-3.13.6.tar.xz  nginx-1.4.7 基于上文,我们还差group文件没有写 root@mysql etc]# vi group  …

    Linux干货 2015-09-22
  • C++的std::string的“读时也拷贝”技术!

    C++的std::string的读时也拷贝技术! 嘿嘿,你没有看错,我也没有写错,是读时也拷贝技术。什么?我的错,你之前听说写过时才拷贝,嗯,不错的确有这门技术,英文是Copy On Write,简写就是COW,非常’牛’!那么我们就来看看这个’牛’技术的效果吧。 我们先编写一段程序 #include <string> #include…

    Linux干货 2015-04-03