centos启动流程,centos7启动图形界面

大家好,今天小编来为大家解答以下的问题,关于centos启动流程,centos7启动图形界面这个很多人还不知道,现在让我们一起来看看吧!

shim启动流程分析

在现代UEFI架构中,shim扮演着至关重要的角色,它作为第一级引导加载器,取代了传统的grub2,引领我们进入复杂的启动链路。启动过程的精密布局,围绕着EFI分区的组织展开。当系统首次启动时,shim启动后,它的首要任务是引导至第二级引导加载器,如grubx64.efi,然后搜索BOOTX64.CSV文件中指定的路径,这是引导流程中的关键节点。

接下来,fallback机制介入,负责构建启动选项,精心设置BootOrder,这是为了确保在系统设置阶段后,可信的启动环境能够正确注册,确保系统的稳定运行。然而,自动重启机制可能会带来意想不到的后果,比如延长启动时间或引发引导选项混乱。在常规启动模式下,UEFI根据预先设定的BootOrder顺序,依次加载grubx64.efi或grub.cfg,建立起最终的启动环境。

深入到启动流程的细节,我们可以这样描述:

首次启动阶段: Shim从UEFI引导,首先加载到shimx64.efi,接着指向/fbx64.efi,可能还有自定义的启动选项,如"My Linux"。此时,它自动配置BootOrder并执行warm reboot,进入下一个步骤。正常重启后,shim进入常规启动流程。

正常启动流程:选择"My Linux"后,shim引导到/myos/shimx64.efi,然后加载grubx64.efi,进一步引导到grub.cfg,最终引导至vmlinuz-*。这样的顺序在每次重启时都会保持一致。

值得注意的是,每个Linux发行版的bootloader-id(如myos)可能有所不同,需要根据实际发行版进行替换。UEFI固件策略对启动顺序有显著影响,可能保持原始优先级,也可能允许用户自定义设备优先级。现代设备倾向于启用shim的正常启动,而旧的启动方式可能逐渐被淘汰。

AIS提供的UEFI固件通常包含了各种发行版的引导加载器目录,如/EFI/centos/,确保按照预设流程顺利启动。然而,对于未在目录列表中的发行版,它们可能会触发shim的首次启动模式,这可能导致无限循环重启,增加了问题排查的复杂性。

总之,shim的启动流程虽看似复杂,但背后是精密的设计和优化,以保证系统的稳定性和效率。理解和掌握这一过程,对于UEFI环境的管理和维护至关重要。

Centos6启动问题排查

要排查问题,首先要了解启动流程。我们先看一下centos6的开机流程:

硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,BIOS找到并读取MBR到内存中

MBR中存放的一段小程序统称为boot loader,他有很多种,用来引导centos6用的是grub,这里也只说这种(注意:/boot/grub/stage*只是GRUB几部分内容的复制,真正起作用的还是直接放在磁盘扇区中的内容)grub一般分为3阶段:

这里只从GRUB阶段开始,前面的阶段就不看了。

1阶段出问题症状:不会进入GRUB菜单,如果没有挂光盘,就直接黑屏,挂上光盘后,会直接进入安装菜单(因为GRUB主程序被破坏,检测以为系统没有安装)

我们可以用 dd if=/dev/zero of=/dev/sda bs=1 count=446去破坏MBR中的GRUB,模拟出1阶段错误

恢复步骤:

1.5阶段出问题症状:有GRUB菜单,进来后卡黑屏

模拟环境:用 dd if=/dev/zero of=/dev/sda bs=1 count=3000 skip=512 seek=512来将MBR之后的扇区内容删除一些

处理步骤:

2阶段有很多问题,我们先了解下boot目录下的必需文件作用,再去看问题。

文件丢失对应的错误:

这里的问题都要进入救援模式

2.输入 boot启动,然后进入/boot/grub/grub.conf中写入配置就行

这个阶段有些服务可能会出问题,表现症状为卡在服务那里不动了或者报错failed,我们处理的思路为先进去,再去找这个服务的问题。

我们模拟下at服务的错误,在/etc/init.d/atd启动脚本中,前面加上一个 sleep 100000,让他睡很长时间

这样启动时,就卡在了这里,这时候怎么办呢?

解决步骤如下:

当/boot/目录和/etc/fstab文件都没了的时候,就比较麻烦了,因为救援模式是读取/etc/fstab文件中的内容去找根文件系统的,所以删掉/etc/fstab之后,进救援模式就会挂载不到根(之前是自动挂到/mnt/sysimage中的)

处理思路:先进入救援模式,然后blkid等命令查看分区,尝试挂载,找到根文件系统,在根文件系统中写一份/etc/fstab文件,然后再重启,之后的步骤就和之前说的恢复/boot目录一样了

步骤如下:

1.进入救援模式,不过会提示没有挂载根

2.blkid命令查看分区

3.然后创建一个目录,将每个分区都挂一下,看一下内容,找到根文件系统,然后创建/etc/fstab

内容如下:

4.重启之后,进入救援模式就看到根挂载上了

5.之后的过程和之前的恢复/boot就一样了

当系统是放在逻辑卷中时,删除/etc/fstab和/boot又不一样了,启动是直接进入了GRUB命令行界面了,但是什么东西都没有,补全不能用,所以还是得进救援模式:

同样提示找不到根文件系统:

用blkid看不到根文件系统,只能看到/boot:

用lvdispaly查看,找到了root了,但是是不能使用的:

将根分区挂载到/lv0,查看内容,确认是跟分区

然后之后的步骤和前面的又一样了,不过要注意配置文件中的root路径记得要写逻辑卷的。

centos安装完成重启后出现localhostlogin

当你在CentOS系统安装完成后重启,出现"localhostlogin"提示是正常的操作流程,它表示你需要输入用户名和密码进行登录。"【root@localhost~】#"意味着登录成功,这里的"root"通常是管理员用户名,"localhost"则是默认主机名,表示你在本地计算机上登录。

登录时,你只需输入预先设置的用户名,只要该用户名在系统中存在并且权限允许,然后输入对应的密码。值得注意的是,Linux系统在输入密码时是不显示的,只需直接输入,按回车键即可。如果提示"incorrect",那可能是因为用户名或密码输入有误。

在Linux中,系统管理员会在创建新用户时分配用户名和初始口令,而默认的主机名为"localhost"。当系统启动,你将看到"localhostlogin"的提示,这是为了确保你能够合法地访问和管理操作系统。如果你未能通过登录,便无法进一步使用系统功能。

参考来源:百度百科

阅读剩余
THE END