一、操作系统引导过程

1、开机自检(bios)

2、MBR引导

3、grub菜单

4、加载内核(kernel)

5、init进程初始化

二、操作系统运行级别(init0-init6)

1、init 0级别

2、init 1级别

3、init 2 3 4级别

4、init 5级别

5、init 6级别

三、开机问题处理

1、MBR扇区故障修复(使用光驱修复)

2、修复grub分区

3、忘记root密码

一、操作系统引导过程
1、开机自检(bios)
开机自检:通过bios程序检查硬件是否正常,如果硬件出现问题则会卡在开机界面提示不同报错

2、MBR引导
MBR引导:第一阶段grub引导及加载分区表

3、grub菜单
grub菜单:第二阶段grub加载内核文件到系统内存中运行起来,内核文件位置:/boot/grub2/grub.cf(centos 7)

4、加载内核(kernel)
加载内核:加载完毕进入操作系统

5、init进程初始化
init进程初始化:启动操作系统后需要启动进程,Centos 6系统的第一个进程是init进程,Centos 7的第一个进程是systemd进程。

system与init区别:

①systemd进程有init进程没有的监听功能,只要systemd正常其他进程都可以休眠,当有需要调用其他进程时systemd会将对应进程唤醒。

②systemd启动是并行启动,所有服务一起启动相对较快。init启动是串行启动,一个服务接一个服务启动相对较慢。

systemd 是centos 7的第一启动项

init          是centos6 的第一启动项

二、操作系统运行级别(init0-init6)
1、init 0级别
init 0是关机

2、init 1级别
init 1是单用户安全模式

3、init 2 3 4级别
init 2、init 3 、init 4都是纯字符界面,但是init 2 和init 4各缺乏一些功能,所以常用的是init 3级别

4、init 5级别
init 5是图形化界面

5、init 6级别
init 6是重启

三、开机问题处理

1、MBR扇区故障修复(使用光驱修复)

MBR在第一扇区的前512个字节,即/dev/sda的前512个字节。

①首先将MBR扇区的前512字节备份到另外一块硬盘,注意不要备份到sda硬盘,模拟sda硬盘损坏备份到sda硬盘无法恢复。命令如下

dd if=/dev/sda of=/dev/sdb1 count=1 bs=512
# dd 相当于复制
# if 是源文件
# of 是目的文件
# count 指定读取数据块的数量
# bs 读取数据块的大小,不写单位默认为字节,加单位要写大小如M、G

②然后模拟MBR的前512字节损坏,命令如下,开机报错图如下。

dd if=/dev/zero of=/dev/sda count=1 bs=512
# dd 相当于复制
# if 是源文件
# of 是目的文件
# count 指定读取数据块的数量
# bs 读取数据块的大小,不写单位默认为字节,加单位要写大小如M、G

③重新开机在出现进度条时快速按ESC键,如下图。

④然后选择CD-ROM Drive进入光驱,如下图。

⑤光驱模式下选择进入救援模式Troubleshooting,然后选择Rescue a CentOS system。如下图

⑥出现选择界面选择1 Continue继续。如下图

⑦然后直接回车进入光驱中的小系统,并创建一个文件夹/bak将sdb1挂载到/bak目录下,注意不要输入对应的命令,输入chroot /mnt/sysimage是进入自己的系统。如下图。

 

⑧然后 ls /bak即可以看到sdb1中备份的文件bak,将bak文件还原到/dev/sda中重新启动系统即可正常进入系统。如下图

 

2、修复grub分区

Cenots 7系统grub分区位置在/boot/grub2/grub.cfg

①首先将grub分区文件删除,命令如下。系统启动报错图片如下

rm -rf /boot/grub2/grub.cfg

②重新开机在出现进度条时快速按ESC键,如下图。

③然后选择CD-ROM Drive进入光驱,如下图。

④光驱模式下选择进入救援模式Troubleshooting,然后选择Rescue a CentOS system。如下图

⑤出现选择界面选择1 Continue继续。如下图

 

⑥然后输入对应命令chroot /mnt/sysimage进入自己系统,如下图。

⑦进行重新建立加载sda分区,重新构建grub菜单配置文件命令然后重启即可正常进入系统,如下图。

grub2-install /dev/sda #重新建立加载sda分区
grub2-mkconfig -o /boot/grub2/grub.cfg #重新构建grub菜单配置文件
exit退出自己系统

reboot重启

3、忘记root密码

系统正常但是root密码忘记。

①首先在系统加载内核时按任意键盘停止倒计时,一般习惯使用上下键,如下图。

 

②然后按e进入编辑模式找到linux开头的一行在该行尾添加rd.break,然后按ctrl+c键启动。

③启动完成界面如下,修改根目录权限,然后切换到根目录

mount –o remount,rw /sysroot #进入后修改根目录的权限
chroot /sysroot #切换到根命令

④然后修改root密码,若SELinux是启用的,才需要执行重新打标签操作若没启用则直接重启密码已经修改完成,如下图。

passwd root #修改root密码
#输入2次密码,密码是隐藏的。
touch /.autorelabel #重新打标签,若selinux是开启的则需要执行此步骤
exit 退出系统
reboot 重启

⑤如果修改密码上面提示是乱码则进行以下操作其中之一再修改密码。

localectl set-locale LANG=zh_CN.utf8

#设置系统语言为中文

localectl set-locale LANG=en_US.utf8

#设置系统语言为英文

最新文章

  1. 将博客从jekyll迁移到了hexo
  2. 【leetcode】 Scramble String (hard)★
  3. 通过git rebase修改commit message
  4. sharepoint 2013 文件“/_controltemplates/SPMRB/AllStatBookingsForm.ascx”不存在
  5. C#的空接合运算符 三目运算符
  6. Linux简介及Ubuntu安装
  7. Android开发必知--WebView加载html5实现炫酷引导页面
  8. 用frame实现最基本的上中下三层布局,中间又分左右两部分.
  9. kafka Disks and Filesystem(磁盘和文件系统)
  10. 在android源码环境下写上层应用的一个初步解决方法
  11. yali项目的slider
  12. TCP三次握手和四次挥手过程
  13. 【Android 应用开发】Android中的回调Callback
  14. Resharper快捷键汇总
  15. 每日一练ACM 2019.04.14
  16. Logback中如何自定义灵活的日志过滤规则
  17. Enrolment注册插件
  18. requery.js使用姿势
  19. 一张图知道HTML5布局(图)
  20. bzoj千题计划237:bzoj1492: [NOI2007]货币兑换Cash

热门文章

  1. awk 计算
  2. 初学银河麒麟linux笔记 第六章 发布qt程序
  3. csdn 复制
  4. ClickHouse 使用
  5. transform2d转换、transition过渡、animation动画效果、@keyframes定义动画关键帧
  6. oracle导出csv文件后导入mysql
  7. iOS Programing
  8. uniapp打包h5
  9. 操作系统实战45讲笔记- 05 CPU工作模式:程序执行的三种模式
  10. python的惊艳之举--源于一个同事分享16种字符串反转方式