• Linux 启动管理


    目录

    1 CentOS 6.x启动管理

    1.1 系统运行级别

    1.1.1 运行级别

    1.1.2 运行级别命令

    1.2 系统启动过程

    1.2.1 initramfs内存文件系统

    1.2.2 调用/etc/init/rcS.conf配置文件

    1.2.3 调用/etc/rc.d/rc文件

    2 启动引导程序grub

    2.1 Grub配置文件

    2.1.2 grub中分区表示

    2.1.3 grub配置文件

    2.2 Grub加密与字符界面分辨率调整

    2.2.1 grub加密

    2.2.2 纯字符界面的分辨率调整

    3 系统修复模式

    3.1 单用户模式

    3.2 光盘修复模式

    4 Linux的安全性


    1 CentOS 6.x启动管理

    1.1 系统运行级别

    1.1.1 运行级别

    运行级别

    含义

    0

    关机

    1

    单用户模式,可以想象为windows的安全模式,主要用 于系统修复

    2

    不完全的命令行模式,不含NFS服务

    3

    完全的命令行模式,就是标准字符界面

    4

    系统保留

    5

    图形模式

    6

    重启动

    1.1.2 运行级别命令

    查看运行级别命令:runlevel

    改变运行级别命令:init 运行级别

    系统默认运行级别: vim /etc/inittab

    id:3:initdefault:    # 系统开机后直接进入哪个运行级别

    1.2 系统启动过程

    启动流程图

    1.2.1 initramfs内存文件系统

    CentOS 6.x中使用initramfs内存文件系统取代了CentOS 5.x中的initrd RAM Disk。

    他们的作用类似,可以通过启动引导程序加载到内存中,然后加载启动过程中所需要的内核模块,比如USB、SATA、SCSI 硬盘的驱动和LVM、RAID文件系统的驱动

    • mkdir /tmp/initramfs    #建立测试目录
    • cp /boot/initramfs-2.6.32-279.el6.i686.img /tmp/initramfs/    #复制initramfs文件
    • cd /tmp/initramfs/
    • file initramfs-2.6.32-279.el6.i686.img
    • mv initramfs-2.6.32-279.el6.i686.img initramfs-2.6.32-279.el6.i686.img.gz    #修改文件的后缀名为.gz
    • gunzip initramfs-2.6.32-279.el6.i686.img.gz    #解压缩
    • file initramfs-2.6.32-279.el6.i686.img
    • cpio -ivcdu < initramfs-2.6.32-279.el6.i686.img    #解压缩

    1.2.2 调用/etc/init/rcS.conf配置文件

    主要功能是两个:

    • 先调用/etc/rc.d/rc.sysinit,然后由/etc/rc.d/rc.sysinit配置文件进行Linux系统初始化。

    • 然后再调用/etc/inittab,然后由/etc/inittab配置文件确定系统的默认运行级别。

    由/etc/rc.d/rc.sysinit初始化

    1. 获得网络环境

    2. 挂载设备

    3. 开机启动画面Plymouth(取替了过往的 RHGB)

    4. 判断是否启用SELinux

    5. 显示于开机过程中的欢迎画面

    6. 初始化硬件

    7. 用户自定义模块的加载

    8. 配置内核的参数

    9. 设置主机名

    10. 同步存储器

    11. 设备映射器及相关的初始化

    12. 初始化软件磁盘阵列(RAID)

    13. 初始化 LVM 的文件系统功能

    14. 检验磁盘文件系统(fsck)

    15. 设置磁盘配额(quota)

    16. 重新以可读写模式挂载系统磁盘

    17. 更新quota(非必要)

    18. 启动系统虚拟随机数生成器

    19. 配置机器(非必要)

    20. 清除开机过程当中的临时文件

    21. 创建ICE目录

    22. 启动交换分区(swap)

    23. 将开机信息写入/var/log/dmesg文件中

    1.2.3 调用/etc/rc.d/rc文件

    运行级别参数传入/etc/rc.d/rc这个脚本之后,由这个脚本文件按照不同的运行级别启动/etc/rc[0-6].d/目录中的相应的程序

    • /etc/rc3.d/k??开头的文件(??是数字),会按照数字顺序依次关闭

    • /etc/rc3.d/S??开头的文件(??是数字),会按照数字顺序依次启动

    2 启动引导程序grub

    2.1 Grub配置文件

    2.1.2 grub中分区表示

    硬盘

    分区

    Linux中设备文件名

    Grub中设备文件名

    第一块SCSI硬盘

    第一个主分区

    /dev/sda1

    hd(0,0)

    第二个主分区

    /dev/sda2

    hd(0,1)

    扩展分区

    /dev/sda3

    hd(0,2)

    第一个逻辑分区

    /dev/sda5

    hd(0,4)

    第二块SCSI硬盘

    第一个主分区

    /dev/sdb1

    hd(1,0)

    第二个主分区

    /dev/sdb2

    hd(1,1)

    扩展分区

    /dev/sdb3

    hd(1,2)

    第一个逻辑

    /dev/sdb5

    hd(1,4)

    2.1.3 grub配置文件

    vi /boot/grub/grub.conf

    小贴士:在CentOS7中为vim /etc/default/grub

    2.2 Grub加密与字符界面分辨率调整

    在开机选择内核界面可以按e进入里面破解root密码,这个时候为了安全,便需要给grub加密才能进入按e界面

    2.2.1 grub加密

    1. 命令格式:grub-md5-crypt
    2. 生成加密密码串
    3. vi /boot/grub/grub.conf
    4. 在splashimage=(hd0,0)这一行前面写入
    5. password --md5 刚刚生产的密码串
    6. Password选项放在整体设置处
    7. 重启就可以了

    小贴士:CentOS 7.2以后使用 grub2-setpassword 直接设置密码

    2.2.2 纯字符界面的分辨率调整

    查询内核是否支持分辨率调整

    grep “CONFIG_FRAMEBUFFER_CONSOLE” /boot/config-3.10.0-1127.el7.x86_64

    显示 CONFIG_FRAMEBUFFER_CONSOLE=y 就为可以调整

    再输入命令:

    vim /boot/grub/grub.conf

    内核的选项文件中 Kernel /vmlinuz- ******* 这句话后面加入 vga=791,便是调整1024*768 16位的分辨率,具体数字对应分辨率见下表:

    色深

    640*480

    800*600

    1024*768

    1280*1024

    8位

    769

    771

    773

    775

    15位

    784

    787

    790

    793

    16位

    785

    788

    791

    794

    32位

    786

    789

    792

    795

    3 系统修复模式

    3.1 单用户模式

    在登陆选择内核界面,按e键进入内核选项,单用户模式常见的错误修复

    • 遗忘root密码

    • 修改系统默认运行级别

    3.2 光盘修复模式

    在忘记了grub密码的时候可以使用这个模式

    在虚拟机中放入光盘iso文件,在虚拟机VMware界面读条的时候,快速按F2键,苹果系统可按fn+F2,进入刚开始安装的界面之后,选择上面第四栏BOOT,调到光盘启动CR-Drive为首选(按+号调节),F10保存。

    在安装节目选第三项Troublesooting 回车,选择第二项Rescue a CentOS system 回车,选择2 Shell模式 回车 回车 ,此时根目录已经被挂载到光盘下 /mnt/sysimage目录下
    chroot /mnt/sysimage #改变主目录
    grub2-setpassword
    输入新密码即可

    重要系统文件丢失,导致系统无法启动

    bash-4.1# chroot /mnt/sysimage    # 改变主目录

    sh-4.1# cd /root

    sh-4.1# rpm -qf /etc/inittab

    #查询下/etc/inittab文件属于哪个包。

    sh-4.1# mkdir /mnt/cdrom    # 建立挂载点

    sh-4.1# mount /dev/sr0 /mnt/cdrom    # 挂载光盘

    sh-4.1# rpm2cpio/mnt/cdrom/Packages/initscripts-8.45.3-1.i386.rpm | cpio -idv ./etc/inittab

    #提取inittab文件到当前目录

    sh-4.1# cp etc/inittab /etc/inittab    # 复制inittab文件到指定位置

    4 Linux的安全性

  • 相关阅读:
    思维题练习部分
    行业领先的三个企业正在利用聊天机器人变得更强
    移动硬盘raw怎么办?一招教你解决RAW格式的文件
    WeetCode2滑动窗口系列
    谷歌Colab配置 运行python项目 教程
    rabbitmq默认交换机锁绑定的routingkey-待研究
    手把手教你:LLama2原始权重转HF模型
    运维就业现状怎么样?技能要求高吗?
    Scalable Exact Inference in Multi-Output Gaussian Processes
    Zookeeper和Kafka安装
  • 原文地址:https://blog.csdn.net/apollo_miracle/article/details/125466038