初识Linux:启动

来自Wikioe
跳到导航 跳到搜索


启动过程

Linux启动过程分析:

  1. BIOS自检
  2. 启动GRUB/LILO
  3. 运行Linux内核并检测硬件
  4. 运行系统的第一个进程init
  5. init读取系统引导配置文件“/etc/inittab”中的信息进行初始化
  6. /etc/rc.d/rc.sysinit 系统初始化脚本(读取用户密码等文件)
  7. /etc/rc.d/rcX.d/[KS]* 根据运行级别X(0、1、2?),配置服务
  8. /etc/rc.d/rc.local 执行本地特殊配置
  9. 其他特殊服务

运行级别

  1. 0:关机
  2. 1:单用户(类似于Windows安全模式?)
  3. 2:多用户状态没有网络服务
  4. 3:多用户状态有网络服务(常用)
  5. 4:(系统未使用)
  6. 5:图形界面
  7. 6:系统重启
  • shell中“startX”可进入图形界面,前提如果安装了
  • 修改默认的运行级别,“/etc/inittab”的“id:3:initdefault”中的级别数字

忘记密码

  • 进入单用户模式修改密码即可
    # 修改root用户密码
    passwd root (设置root的密码)
    
    # 设置启动级别
    #init 6
    

centos6系列:

  1. 在引导界面(redhat的grub引导界面)按e,进入编辑模式
    Centos6引导界面.png
  2. 移动光标到“Kernel ...”一行按e,进入kernel该行的编辑画面中
    Centos6选择内核.png
  3. 在kernel行末尾输入“ single”并回车(注意空格)
    Centos6选择内核 编辑.png
    修改后:
    Centos6选择内核 启动方式single.png
  4. 按b重启,进入系统
    Centos6single进入系统.png
  5. 进入系统修改密码
    Centos6修改密码.png

centos7系列:

  1. 在引导界面选择内核后,按e进入编辑模式
    (另一个“rescue”的内核为救援模式,主要是应用于系统无法进入的情况。)
    Centos7选择内核.png
  2. 编辑页面,将ro改为rw,在LANG 后添加init=/bin/sh(或/sysroot/bin/sh?)
    “rw”使文件系统被挂载为读写,才能修改密码;否则进入系统后需要使用“mount –o remount,rw /”来挂在文件系统为读写;
    Centos7选择内核 编辑.png
  3. 按 Ctrl+x 用修改的参数引导系统
    Centos7单用户模式.png
  4. 进入系统修改密码
    Centos7修改密码.png
    如果显示小方块,使用LANG=en把当前终端语言设置为英文即可;
    Centos7修改密码 切换终端语言.png
  5. 重启系统
    (如果之前系统启用了selinux)输入“touch /.autorelabel”,使SELinux生效:确保开机时重新设定 SELinux context,必須在根目录下添加隐藏文件“.autorelabel”;
    用“exec /sbin/init”来正常启动,或“exec /sbin/reboot”重启
    Centos7更新系统信息并重启.png