分享好友 最新动态首页 最新动态分类 切换频道
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文件。

最新文章
打造吸睛力MAX的文章标题,网络推广优化秘籍大公开
在网络推广优化中,打造吸引眼球的精彩文章标题需遵循以下策略:抓住关键词,确保标题与内容高度相关;运用疑问句、数字或特殊符号,增加标题的吸引力;创造性地使用比喻、夸张等修辞手法,使标题更具趣味性;简洁明了,避免冗长,确保读者
英文简历模板:打造专业求职文档
简历是求职者向潜在雇主展示自己的第一份文件。它需要清晰地传达求职者的职业背景、技能和成就,以便吸引雇主的注意并获得面试机会。一个精心编写的简历能够在众多申请者中脱颖而出,因此了解其基本构成和框架至关重要。英文简
全方位品牌曝光度提升,关键词推广优化营销策略解析
本文针对关键词推广优化策略,详细阐述了全方位提升品牌曝光度的方法。通过精准定位、内容营销、多渠道推广等手段,有效提升品牌知名度和市场份额。策略包括优化关键词、提升内容质量、利用社交媒体等,助力企业实现品牌价值最大化。随着互
GPT-4.0来袭:人工智能新纪元即将开启
1.1 计算效率 GPT-4o在计算效率上有了显著提升。这意味着它可以在同样的硬件资源下处理更多的请求,或在相同时间内完成更多的任务。这对于高并发应用场景(如大型客服系统)来说尤为重要。 1.2 响应速度 由于优化了底层
最新寄生虫站群 揭秘最新寄生虫站群:网络生态新威胁
警惕“最新寄生虫站群”:一场网络黑帽SEO的隐秘之战在当今这个数字化时代,互联网已经成为人们获取信息、交流思想、开展业务的重要平台然而,随着网络技术的飞速发展,一些不法分子也利用技术手段进行非法活动,其中,“最新寄生虫站群”
百度蜘蛛池优化:深度解析搜狗收录蜘蛛池代运营,助力网站优化,提升流量转化
深度解析搜狗收录蜘蛛池代运营,助力网站优化。通过百度蜘蛛池优化,有效提升网站流量和转化率,实现高效SEO推广。本文目录导读:什么是搜狗收录蜘蛛池代运营?搜狗收录蜘蛛池代运营的优势搜狗收录蜘蛛池代运营的操作方法如何有效提升网站
四、怎么样选择适合本身的文档智能写作软件
文档智能写作软件盘点:哪些软件更胜一筹?在数字化时代的浪潮中人工智能()技术正以前所未有的速度发展渗透到了咱们生活的各个领域。在写作领域文档智能写作软件以其高效、智能的特点成为了广大写作者和创作者的得力助手。本文将为您介绍
Android apk md5获取 安卓手机如何打开.md5文件
视频消重软件吾爱伪原创 安卓手机怎么看视频md5 或者看标题中的文章,赞美这篇文章,机器人会认为你可能会喜欢这篇文章,我们将来会推荐类似的文章。。视频消重软件吾爱伪原创 安卓手机怎么看视频md5 自媒体运营技巧:短视频优质素材选题方
SEO百度快排工具,提升排名效率的秘密武器
《SEO百度快排工具:优化你的网站排名利器》随着互联网的发展,越来越多的企业和个人开始重视网站的建设和运营,而SEO优化作为提升网站流量和排名的重要手段,更是备受关注,在众多的SEO工具中,百度快排工具因其高效、便捷的特点,成为了
17种免费网店推广方法
现在,做网店不仅仅需要货物的质量,更重要是推广。如果没有好的推广方法,那么就算你的东西再好也没有人知道。推广的好坏决定网店和网站的信誉度和知名度,有的网店前期推广不顾实际的情况,为了有吸引力而推出很多优惠,最后导致达不到实
相关文章
推荐文章
发表评论
0评