• Linux基础之操作系统启动流程等相关内容-93


    操作系统启动流程

    Centos6

    # 1.加电自检(BIOS) 
    # 2.MBR引导 (512k) dd </dev/zero >/dev/sda bs=1k count=400
    # 3.GRUB菜单(选择系统)
    # 4.运行init - 检查/etc/inittab (id:3:initdefault) - 找到/etc/rc3.d/目录下,所有以S开头的服务,并启动
    # 5.建立终端
    # 6.用户登录

    ## 运行级别:
    - 0:关机
    - 1:单用户模式
    - 2:多用户模式(没有文件系统,没有网络)
    - 3:多用户模式(命令行)
    - 4:没有被使用
    - 5:图形化界面
    - 6:重启

    Centos7

    # 1.加电自检(BIOS) 
    # 2.MBR引导 (512k) dd </dev/zero >/dev/sda bs=1k count=400
    # 3.GRUB2菜单(选择系统)
    # 4.运行systemd - 检查/etc/systemd/system/default.target -> /usr/lib/systemd/system/multi- user.target - 找到/etc/systemd/system/multi-user.target.wants/所有服务,并启动
    # 5.建立终端
    # 6.用户登录

    ## 运行级别:
    - 0:关机 poweroff.target
    - 1:单用户模式 rescue.target
    - 2:多用户模式(没有文件系统,没有网络) multi-user.target
    - 3:多用户模式(命令行) multi-user.target
    - 4:没有被使用 multi-user.target
    - 5:图形化界面 graphical.target
    - 6:重启 reboot.target

    一、系统启动级别

    Linux分为7个启动级别:
    运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
    运行级别2:多用户状态(没有NFS)
    运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
    运行级别4:系统未使用,保留
    运行级别5:X11控制台,登陆后进入图形GUI模式
    运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

    现在很多Linux系统都默认启动等级为5。如果我们想切换系统等级,可使用init命令 init 3
    这样就可以切换到多用户状态且带有网络文件系统了。这种方式对于CentOS7也适用。但想修改默认启动级 别,CentOS7同其他Linux稍显不同了。
    对于传统的设置方法,只要修改/etc/inittab文件即可,将默认的启动级别改为需要改动的级别。
    打开CentOS7的/etc/inittab,发现该文件与其他Linux不同: 按照该文件所说的,runlevels被targets所取代,即CentOS7采用加载target的方式来替代之前的启动 级别。其中有两个重要的target:multi-user.target与graphical.target。它们分别表示运行级别 中的3与5级别。
    通过systemctl get-default可获得默认启动的target
    通过systemctl set-default设置默认启动的target
    那么,想修改为多用户状态只需执行: systemctl set-default multi-user.target
    修改为图形界面执行: systemctl set-default graphical.target

    二、单用模式

    1、开机时进入如下界面,(按下方向键盘,阻止系统自动继续)

    按e键出现下面界面

    按方向键下,定位到最后,找到“ro”一行,ro的意思是read only,将“ro”替换成 rw init=/sysroot/bin/sh,如下图

    2、按Ctrl-x 进入单用户模式 3、执行chroot /sysroot。其中chroot命令用来切换系统,/sysroot/目录就是原始系统 4、如果要修改root密码 passwd是修改root密码的命令,touch /.autorelabel 执行这行命令作用是让SELinux生效(或者干脆关 闭SELinux) 如果不行,密码不会生效。按Ctrl+D,执行reboot重启生效。如下图

    5、如果因为启用x-window或者显卡驱动更新,无法进入桌面,可以修改默认启动级别(开机进入命 令行模式)

    systemctl set-default multi-user.target #设置成命令模式
    init 3 # 切换到字符模式,有时只使用上面的语句没有效果
    按下Ctrl+D后,执行reboot

    三、grub加密

    centos7.2 + 中引入了新的实用程序“ grub2-setpassword ”
    1) 执行 grub2-setpassword 命令
    # grub2-setpassword
    Enter password:
    Confirm password:
    2)如果现在重新启动系统并尝试修改引导条目,系统将要求提供凭据,但是可以在没有凭据的情况下修改引
    导条目。为了阻止未经授权的修改和未经授权的启动,我们需要对 /boot/grub2/grub.cfg 文件进行更改
    打开文件并使用密码搜索需要保护的启动条目,它以menuentry开头。找到条目后,从中删除 --
    unrestricted 参数
    3) reboot 重启验证,只有当输入正确的用户名和密码时,才能进入 grub 菜单或者修改引导条目。

    四、光盘修复模式

    #1、进入bios、从光盘启动
    #2、点击Troubleshooting
    #3、进入到Troubleshooting界面
    选择:Rescue a CentOS Linux system
    #4、三:进入到Rescue选项 按 ENTER键 选1 ,其他选项意思如下
    1)continue:救援模式程序会自动查找系统中已有的文件系统,并可读写挂载到/mnt/sysimage目录下。
    2)Read-Only:会以只读的方式挂载已有的文件系统。
    3)Skip to shell: 手动挂载
    #5、sh切换bash模式
    chroot /mnt/sysimage/
    #6、执行命令
    passwd root

     

     

  • 相关阅读:
    Gradle Android Plugin 中文手册
    WxApiUtil.ts
    通过qrcodejs2和html2canvas把iframe中的内容生成带二维码的海报长图片
    TypeScript--类型声明
    ZJNU 2663
    ZJNU 2652
    etcd学习(7)-etcd中的线性一致性实现
    com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。
    帝国cms显示点击数比后台多1个的解决方法
    RedHat换源
  • 原文地址:https://www.cnblogs.com/usherwang/p/14041212.html
Copyright © 2020-2023  润新知