Linux基础:操作系统的启动

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/default.target -> /usr/lib/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分为七个启动级别

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

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

  通过systemctl set-default设置默认启动的target

那么,想修改为多用户状态只需执行:
systemctl set-default muti-user.target

修改为图形界面执行:
systemctl set-default graphical.target

 

二、单用户模式

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

img

按e键出现下面界面

img

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

img

 

2、按ctrl x 进入单用户模式

3、执行 chroot /sysroot chroot:切换系统 /sysroot/:原始系统

4、如要修改root密码

passwd是修改root密码的命令,touch /.autorelabel 执行这行命令作用是让SELinux生效(或者干脆关闭SELinux),如果不行,密码不会生效。按CTRL D,执行reboot重启生效,如下图

img

 

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

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

 

防止光盘修复模式破解密码:bios加密

 

如何破解bios加密:扣掉CMOS主板电池

 
posted @ 2021-06-22 15:52  简爱cx  阅读(167)  评论(0编辑  收藏  举报