分享好友 最新动态首页 最新动态分类 切换频道
Linux操作系统启动失败案例解析
2024-12-21 17:18

Linux操作系统内核被Bootloader加载进内存完成初始化后,会经历两个用户空间启动阶段。一是操作系统内核会解压Initramfs到内存,并将其挂载为临时的根文件系统。Initramfs的目标是挂载并切换到系统启动后正常使用的根文件系统。如果根文件系统所在设备无法找到或者无法挂载,操作系统启动失败并且会进入Emergency Shell,提供给用户诊断启动失败的原因;二是切换到真实根文件系统后,启动并初始化相关的应用服务。该阶段一般不会影响操作系统的启动,但是如果有应用服务启动失败,会直接影响相关的业务运行。本文所要探索的即为用户空间启动的第一阶段。Linux操作系统内核挂载完成Initramfs之后会启动第一个用户空间进程init进程。该进程是Initramfs中的Systemd1,如图1所示。

图 1. Initramfs init进程

Systemd进程会按照Systemd的service文件中定义的启动顺序(如图2、图3所示)启动用于查找与挂载真实根文件系统的服务、命令。这其中涉及一个重要的步骤为利用udev2从Initramfs加载相应设备的驱动,并在/dev目录下创建相应的设备文件。根据启动顺序图中可以得到,经过一系列的Services最终到达switch-root,完成真实根文件系统的切换。这里仅列举几个重要的Systemd service功能阐述,如下表1所示。

Service名称

Service作用

dracut-cmdline.service

获取kernel的启动参数,主要解析root, type。

systemd-udevd.service

启动udev守护进程。

system-udev-trigger.service

运行udevadm trigger触发内核重发uevent。

dracut-mount.service

mount根文件系统到/sysroot。

switch-root

切换/sysroot为系统根文件系统。

 

图2. 启动顺序-1

图3. 启动顺序-2

整个用户空间启动过程中,可以通过修改系统启动参数“rd.break3”,让系统启动停止于某个阶段,并进入Emergency Shell。不同阶段的当前系统所运行的服务,配置文件、系统的状态都存在着差别。本文在下一节讲述实际案例时就会使用这个技巧来窥探系统的详细状态。

通过下图展示该操作系统启动失败案例的现象,终端反复打印着启动失败的错误“dracut-initqueue timeout”,并且提示相应的LVM逻辑卷”/dev/ctyunos/*”不存在。因此

图 4. 系统启动失败

我们利用系统启动参数”rd.break=initqueue”,让系统启动停止于dracut-initqueue阶段。首先查询并使能系统当前的vggroup,然后对该vggroup的可用性通过mount进行检测,发现当前的vgroup没有任何问题。根据错误信息现在把问题焦点放到LVM逻辑卷

图 5. vggroup可用性检查

不存在的错误提示。通过查看系统启动时的参数,尤其是根文件系统的路径参数”root=/dev/mapper/ctyunos-root”,与图5所示内容比较发现vggroup的名字不一致。系统上的vggroup名称为“rootvg”,而且系统启动参数却是“ctyunos”,这便是该案例中系统启动失败的原因。系统启动参数如图6所示。

图 6. 系统启动参数vggroup

修复本案例的系统启动失败问题需要在Grub启动菜单中修改启动参数,修改前的启动参数与修改后的启动参数分别如图7、图8所示。当前的修改只是为了本次能够正常的启动系统,如果系统重新启动,同样的失败还会再次发生。因此为了让系统后续启

图 7. Grub启动菜单错误参数

图 8. Grub启动菜单正确参数

动都能正常启动,需要在文件系统上将Grub配置文件/etc/default/grub中的相关启动参数修改为正确值,并执行命令grub2-mkconfig在/boot分区生成正确的grub.cfg文件。

最新文章
如何看网站的关键词_如何看网站的关键词数量
如何看网站的关键词_如何看网站的关键词数量接下来,我将为大家解答有关如何看网站的关键词的问题,希望我的回答对大家有所帮助。现在,我们就开始探讨一下如何看网站的关键词的话题吧。文章目录列表:1.怎么查看别人设置的关键词如何查看关
九一传媒公司如何打造符合市场需求的高效网站?专业的网页设计与SEO优化服务解析
随着互联网的快速发展,越来越多的公司开始重视网站的建设和优化,特别是对于一些专业的传媒公司来说,拥有一个高质量的网站是提升品牌形象、扩大市场影响力的重要方式。九一传媒公司作为一家专业的传媒公司,其网站建设不仅注重设计美观,
外贸SEO中,如何通过优化网站的移动端页面提升谷歌搜索排名?网站优化
- 移动端页面优化的重要性及对谷歌排名的影响在当前数字化时代,移动端页面优化的重要性愈发突出,尤其是在外贸SEO领域,优化移动端页面不仅是提升用户体验的必要手段,更是影响谷歌搜索排名的关键因素。随着智能手机和其他移动设备的普及
九枝兰专访SEO老炮儿Zac:企业主如何高效开展SEO
导语:大家都在说,如今的SEO越来越难做,很多站点关闭、站长失业,但还是有很多网站发展得越来越好,最关键的是要抓住不变的真理:用户至上,能够让用户用最舒适的方式获得有价值的信息就是最好的SEO。同时,要不断了解新的因素对搜索引擎
wordpress插件路径/常州seo排名收费
1)BlockingCollection 阻塞问题 从队列中取出数据,修改后重新放入队列,岂知取的时候队列空了会阻塞,用的方法是reqCol.GetConsumingEnumerable, 本来在消费端阻塞是想要的结果,但临时修改时ÿ
SEM(搜索引擎营销)
ylbtech-Miscellaneos:SEM(搜索引擎营销)搜索引擎营销:英文Search Engine Marketing ,我们通常简称为“SEM”。就是根据用户使用搜索引擎的方式利用用户检索信息的机会尽可能将营销信息传递给目标用户。简单来说,搜索引擎营销就是基于
快手报白是否成功怎么看?需要找客服吗? 2024技术攻略!超好用)
1986年04月11日私域社交电商服务,微信小程序开发,微信分销系统,网站建设,全网营销,特殊类目报白,抖音财经金融直播权限,抖音黄v认证,白名单,抖音直播间,运营,小店入驻,账号运营等全互联网业务,短视频全系业务,抖音小店开通,抖音小店代运营
“人工智能+”潜力巨大
2022年底ChatGPT横空出世,拉开了生成式人工智能(AIGC)的序幕,2024年初文生视频大模型Sora再一次引发全球热议,从大语言模型到多模态模型,人们看到了人工智能(AI)技术的飞速发展以及它所带来的无限可能。在博鳌亚洲论坛2024年年会上
Win10开启HDR变灰蒙蒙怎么办?Win10开启HDR变灰蒙蒙的解决方法
Win10开启HDR变灰蒙蒙的解决方法在Windows 10中,启用HDR(高动态范围)可以提供更加逼真和生动的图像显示效果。然而,有些用户在尝试开启HDR后却发现屏幕变得灰蒙蒙的,这可能会影响到他们的观影和游戏体验。如果你也遇到了这个问题,不要
【Google Pixel XXL(双4G)UC浏览器下载】谷歌PIXELXXLUC浏览器17.1.6.1347免费下载
UC专注16年,成就全球第三方手机浏览器全球6亿人上网必备APP,群众的眼睛是雪亮的头条视频小说网盘小游戏,想你之所想一应俱全UC浏览器全新版本清新亮相,打开优雅简洁新世界【来听听用户的心声】从用智能手机就一直在使用的浏览器,非常的
相关文章
推荐文章
发表评论
0评