HCRM博客

如何引导CentOS 7系统启动?

引导CentOS 7

引导过程总览

1、开机自检:服务器开机后,根据主板BIOS中的设置对CPU、内存、显卡、键盘等硬件设备进行初步检测,并初始化部分硬件。

如何引导CentOS 7系统启动?-图1
(图片来源网络,侵权删除)

2、MBR引导:当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单。

3、GRUB菜单:对于Linux系统来说,GRUB是使用最广泛的多系统引导器程序,系统控制权传递到GRUB之后,将会显示提供用于选择的菜单,并根据选项加载Linux内核文件。

4、加载Linux内核与内存文件系统:系统引导器程序会从本地硬盘中加载内核以及内存文件系统(CentOS7中使用initramfs),initramfs是经过gzip的cpio归档,其中包含启动时所有必要的硬件内核模块、初始化脚本等。

5、加载硬件驱动以及初始化过程:内核初始化在initramfs中找到驱动程序的所有硬件,然后作为PID 1从initramfs执行/sbin/init,CentOS7中将其复制为systemd,systemd启动initrd.target中所有单元,并挂载根文件系统/sysroot,内核与文件由内存文件系统切换至系统根文件系统,并重新运行/sysroot.systemd,systemd启动默认target(图形或者字符终端),最后等待用户登录。

Systemd进程

1、简介:从CentOS7版本开始,systemd称为PID恒为1的初始化进程,是内核第一个加载的程序,systemd进程是不允许被轻易终止的,当我们需要切换不同的系统时,可以向systemd进程发送正确的命令。

2、目的:systemd的目的是将更多的服务并发启动,从而提高系统启动速度,最大的优点在于具有提供按需启动服务的能力。

如何引导CentOS 7系统启动?-图2
(图片来源网络,侵权删除)

3、单元类型:systemd有许多单元类型,不同类型的systemd对象被统一称为单元。

4、运行级别所对应的Systemd目标:其中3和5是我们平时学习和工作中较为常用的两个级别。

常见问题及解答

1、问题一:如果忘记了CentOS 7的root密码怎么办?

2、答案一:可以通过进入单用户模式或救援模式来重置root密码,具体步骤如下:

重启系统并在GRUB菜单出现时按下'e'键编辑启动项。

找到以linux16或linuxefi开头的行,将ro替换为rw init=/sysroot/bin/sh

如何引导CentOS 7系统启动?-图3
(图片来源网络,侵权删除)

按下Ctrl+X或F10键启动系统。

系统启动后,挂载根文件系统并进入其目录:chroot /sysroot

使用passwd命令重置root密码。

使用touch /.autorelabel命令重新标记文件系统,并重启系统。

3、问题二:如何修复因MBR损坏导致的CentOS 7无法启动的问题?

4、答案二:可以使用系统安装光盘或U盘启动到救援模式,然后按照以下步骤操作:

挂载本地系统分区:mount /dev/sdaX /mnt(其中sdaX是你的根分区)。

挂载必要的文件系统:mount bind /dev /mnt/devmount bind /proc /mnt/procmount bind /sys /mnt/sys

切换到本地系统的根目录:chroot /mnt

重新安装grub2:grub2install /dev/sda(根据实际情况替换sda)。

生成新的grub配置文件:grub2mkconfig o /boot/grub2/grub.cfg

退出救援模式并重启系统。

分享:
扫描分享到社交APP
上一篇
下一篇