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

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、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     who | cut -d " " -f1 | sort -u     who:查看当前系统所有用户的会话     cut:剪切命令       cut…

    Linux干货 2016-07-26
  • 数据结构-栈和队列

    1.栈 1.1 栈的定义 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示: 结论:后进先出(Last In First Out),简称为LIFO线性表。 栈的基本运算有六种: 构造空栈:InitStack(S)、 判栈空: StackEmpty(S)、 判栈满: StackFull(S)、 …

    Linux干货 2015-04-07
  • Linux中用户管理基本命令和用法

    Linux操作系统用户管理: 特点:多任务,多用户操作系统(Multi-tasks,Multi-Users) Linux中用户: 用户组成: 用户ID:每个用户都有一个唯一识别码称为用户ID。        密码:认证手段 用户分类:管理用户 管理员的用户ID为0       普通用户 U…

    Linux干货 2016-08-05
  • Man手册功能介绍

    Man:是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。 语法:man(选项)(参数) 选项: -a:在所有的man帮助手册中搜索 -f:等价于whatis指令,显示给定关键字的简短描述信息 -P:指定内容时使用分页程序 -M:指定man手册搜索的路径。 本地手册:/usr/share/man &nbsp…

    Linux干货 2016-10-17
  • iptables练习

    iptables实战 1.开启防火墙 systemctl start firewalld 2.清空所有的默认规则,定义自己的规则 iptables -F 查看此时的iptables iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD…

    2017-06-24
  • linux系统启动流程及内核编译

    Linux系统启动流程 initialization [ɪˌnɪʃəlaɪ'zeɪʃn] 初始化 内核参数: /usr/share/doc/kernel-doc-VERSION/Documentation 系统初始化流程(内核级别): POST –> BootSequence(BIOS) –> BootLoade…

    Linux干货 2016-09-19