设为首页 收藏本站
查看: 538|回复: 0

[经验分享] Linux的启动过程与常见故障排除

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-23 08:26:02 | 显示全部楼层 |阅读模式
linux的基础启动流程

    1. 加载BIOS的硬件信息,并获取第一个启动设备的代号。
    2. 读取第一个启动设备的MBR的引导加载程序(即lilo、grub、spfdisk等)的启动信息。
    3. 加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备。
    4. 核心执行init程序并获得运行信息。
    5. init执行/etc/rc.d/rc.sysinit文件。
    6. 启动核心的外挂模块(/etc/modprobe.conf)。
    7. init执行运行的各个批处理文件(Script)
    8. init执行/etc/rc.d/rc.local文件。
    9. 执行/bin/login程序,等待用户登录。
    10. 登录之后开始以shell控制主机。      1.post
      2.cmos ---》硬盘引导----》MBR
      3.grub 第一阶段
      4.grub 第二阶段  /etc/grub.conf (/boot/grub/grub.conf)
      5.加载内核以及驱动镜像
      6.开启第一个进程 init  /etc/inittab
      7.执行初始化文件  /etc/rc.d/rc.sysinit
      8. 进入/etc/rc.d/rcn.d 目录    执行 Kxx  Sxx
      9./etc/rc.d/rc.local
      10.mingetty  产生终端


/boot/grub引导菜单介绍
1
2
3
4
5
6
7
8
9
10
11
12
13
default=0                                  ***默认启动的系统,0 表示第一个title 的系统
timeout=5                                  ***菜单停留的时间
splashimage=(hd0,0)/grub/splash.xpm.gz     ***启动时的背景
hiddenmenu                                 ***菜单是隐藏的
title CentOS (2.6.32-431.el6.i686)          ***每个系统的标示
        root (hd0,0)                         ***hd0 表示第一个盘,0表示第一个分区
        kernel /vmlinuz-2.6.32-431.el6.i686   ***加载根分区的内核,,此时的根是/boot
        ro                                   ***以只读方式来进行引导
        root=UUID=4a3e9e54-2ed5-4796-9702-774aac0e74a4   ***加载完内核后真正的根分区
         rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM
         rhgb                                 ***以图形方式来进行引导
         quiet                                ***静默模式,启动时信息不再凌乱
        initrd /initramfs-2.6.32-431.el6.i686.img   ***额外的驱动,放置的镜像




故障1:root 口令丢失
  解决原理:进入1级别,单用户级别,因为这个级别是不用输入root密码的,在这里面可以设置新的root密码,然后重启进入其他级别,输入即可
详细操作: wKioL1WuYGuDravEAACiXH8Oz2E130.jpg
重启客户机,在boot引导时5秒内按下回车键,进入引导菜单
wKioL1WuYXaS6iu4AAEaZXSqhcI911.jpg
此时按下e键 ,进入编辑模式,
wKiom1WuYBPB_n5VAADVdm4235U438.jpg
选择第二项,按e键,在最后添加“1”然后回车
wKioL1WuYpvwqJR4AADmGHrHn6Q846.jpg
然后按b键,进入系统
wKioL1WuYx-Q_a3CAACmNy4T0kY662.jpg
已经进入系统
wKioL1WuY0-xnhVTAACKcEmwHEg946.jpg
可以修改root密码,重启即可,或者把密码删除
passwd  -d  root        密码删除远程是登陆不上的
wKioL1WuY67hCLgaAAFOx3JGeUM492.jpg
故障2:grub.conf
grub 菜单丢失

为了模拟实验先把grub菜单删除
wKiom1WvM8HSBuoZAAB3Ra52-0Q680.jpg
此时看到已经断开连接
wKioL1WvNbSRkq8uAACejQccQ7E796.jpg
重启 wKiom1WvNF6CtzPAAACE1ta1AqA966.jpg
已经启动不了了
解决方案:

help可以查看帮助

wKioL1WvN62yAr0_AAIp3r22iJY039.jpg
先指定引导程序的硬盘和分区,(如果不清楚,可以用tab键帮助)

wKiom1WvNdWyCtyKAABTEF9lDi4931.jpg
指定内核和根分区

wKiom1WvNn3QdOyoAABslODDssg434.jpg
指定驱动
wKiom1WvNw2AMeQ_AABlT_raTAk481.jpg
做完之后,boot引导启动
wKioL1WvOQ_hV2ZAAAA6moa-mKQ700.jpg
可以看到已经进去了
wKioL1WvOWiimFqhAABnW4W7xKo048.jpg
但是为了下一次能够正常启动,不再指定grub菜单,所以要写出grub.conf
wKioL1WvOeize9AnAABGanQ6Crk770.jpg
不知道可以用!!的形式列出需要的文件
wKiom1WvOOfQ5Ag_AABbi36seww225.jpg
引导顺序不要写反了
wKioL1WvR6XyqPVMAADF310kbwQ157.jpg
保存重启,已经可以正常启动了
故障三:故障3:stage1 丢失 446字节的引导程序坏掉
故障模拟,向sda 写入446 字节,然后重启

wKioL1WvSQbyO9OhAACR8VF0uJk167.jpg
wKiom1WvSC3RjQDIAABM4FiDLrA467.jpg
插入光盘,重启

wKiom1WvSMHDjK6SAAEIxgcH_JE010.jpg
选中求援模式
wKiom1WvSXaAFN6JAAHrsx3vwR8438.jpg
选中shell

wKiom1WvTN2iJLZMAAB31_xq1ek864.jpg
分区表和引导菜单都有
wKiom1WvTW2h1HzfAAFyxu7yvOE090.jpg
wKiom1WvTZOgu2ALAAE5v6A6Ytk238.jpg
重新写入引导,exit退出,重启即可
wKiom1WvTkbiqk88AAB3QamnmqU561.jpg
故障4:MBR(446字节和分区表没有了)丢失
一定要先讲mbr备份
wKiom1WvT52SLsoIAACKqB-XhIY713.jpg
我的已经拷贝到物理机上
擦除mbr,重启
wKiom1WvUPahluKHAACWazESbUU698.jpg
启动不了; wKiom1WvUYOhj-IRAACUqvz4Af8478.jpg
插入live cd盘  CentOS-6.5-i386-LiveDVD
进入cd盘后,打开终端,切换root用户

wKioL1WvVK2zmQzaAABfMMyfAyw176.jpg
关闭防火墙,讲保存的mbr文件导入
wKioL1WvV1-xw16KAACVuSrhUJw555.jpg
将mbr重新写入
wKioL1WvV9zjTnhpAACPbUioCTk914.jpg
已经可以查看分区表了

wKioL1WvWBCyL05nAACzHhlR1zQ590.jpg
重启
故障5:stage2 丢失 (grub目录)
删除 wKiom1WvV2Lw9dCTAAA5o7vwPr4294.jpg
重启测试

wKiom1WvNdWyCtyKAABTEF9lDi4931.jpg
wKiom1WvNn3QdOyoAABslODDssg434.jpg
wKiom1WvNw2AMeQ_AABlT_raTAk481.jpg
wKioL1WvOQ_hV2ZAAAA6moa-mKQ700.jpg
进入系统,没有grub文件

wKioL1WvXR_A-0ovAAEZjYOz_wM657.jpg
在根目录下执行

wKioL1WvXfayDQS7AAEl87XzzoU229.jpg
进入grub目录,发现没有grub.conf 重新编辑grub.conf文件
wKiom1WvXc_SDBhcAACiPUWWt3c497.jpg
重启测试OK
故障6: /etc/fstab  (编错或误删除)
wKioL1WvYkWCk6VJAAFcWDCECgw863.jpg
重启,启动失败,输入密码
wKioL1WvYtuxTuOAAAE2_JIySr0372.jpg
发现看不到有用的信息, wKioL1WvY_-jkBlxAACf66dKdRk011.jpg

再重启进入引导菜单,
wKioL1WvZI6iXHzCAACbIRcLOl8493.jpg
删除图形引导,和静默模式,再重启

wKioL1WvZO3i14OWAABvDdr0XZk755.jpg
此时发现,UUID 值写错了
wKiom1WvY0KwejhIAACsEbxFig0254.jpg
解决方案:采用live cd 启动,然后将错误改回来
重启时,发现从硬盘引导了,先关机,选择虚拟机,电源,从BIOS 启动

wKioL1WvZvTxT0FFAADDgoK70ns408.jpg
f10保存启动
看到sda2 没有挂载,挂载sda2
wKioL1WvaEuSv96qAADXLIH-GEw723.jpg
查看UUID复制写入/etc/fstab

wKioL1WvaM-Ck424AACesaNB7m8667.jpg
保存退出
wKiom1WvZ87iyd8aAAE0YJJcXa0337.jpg
重启正常!
总结:当系统出错进不去时,先关闭,静默模式和图形引导,查看详细信息,如果可以进入shell,在shell中写入引导盘,内核文件,根分区和驱动镜像,进入系统再修改错误,如果进入不到shell,可以到求援模式,如还不行,就挂载live盘进去查错并修改。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-89607-1-1.html 上篇帖子: centos下rsync同步数据 下篇帖子: CentOS 7时区设置 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表