简单的启动排错

一、出现 grub> 字样,等待交互式输入指令,说明MBRBootloaderstage1、stage1_5、stage2都正常,但丢失了/boot/grub.conf 文件,所以无法加载启动项菜单,就无法读取默认启动的kernel、initrd等文件路径。

解决办法:无需救援模式,直接在此交互式界面指定相关文件的加载路径。

(1) grub> root  (hd0,0)         #指定/boot的根目录,若/boot为独立分区则以(hd#,#)格式给出分区,若与操作系统的根在同一分区则为 (hd#,#)/

(2) grub> kernel  /vmlinuz-xxx.el6.x86_64  root=/dev/{sda2|/mapper/VolGroup…}   selinux=0       #指定kernel的位置,及真正的根目录所挂载的分区,注意逻辑卷。取消安全标签

(3) grub> initrd  /initramfs-xxx.el6.x86_64.img     #指定ramdisk文件所在位置,挂载临时根文件系统,安装相关驱动。

(4) grub> reboot  

二、

计算机生成了可选文字: fd1ledtDI'edd Pressan夕ke夕 IHdge tDentertheHenU BootingCent0S6(2.6.32一642.el6.x86_64)in日seconds.。.

最终停止在上图画面,并且也可以正常进入启动项菜单,说明MBRgurb文件等都没问题,紧接着便是加载kernelinitrd。因此很有可能是initrd文件有问题了。

计算机生成了可选文字: 6HU6RUB VerSion8.97 (635R10只er/1日4640日RuPper州e州or夕) rDDt(hds.8) kernel initI'd /u"1inuz一2.6.32一642.el6.x8664 root二/dev/"dpper/VoIGroup一lu+ 0一。 r一d二 一6 itrd曰fs一2.6.32一642.el6.X86 Usethe个and杏ke夕5toselect只hichentr夕 Press'b'toboot,'e'toedittheselected bootsequence,'c'foraco曰曰and一1ine,'o' dfter('D'forbefore)theselectedline, selected1ine,orescaPetoqobdcktothe 15highlighted. CDHHdndinthe toopendne" d'tore曰ove Hd1nHenU。 1ine the

解决上述问题:需要进入救援模式。

当原根文件系统可以正常挂载。

(1) chroot  /mnt/sysimage          #切换到原根文件系统

(2) mkinitrd  /initramfs-`uname  -r`.img   `uname  -r`     #用命令生成initrd文件,后边的版本号必须与原有的内核版本号相同。

(3) exit

(4) reboot

若出现以下画面则说明是内核文件找不到了。

计算机生成了可选文字: ErrDI'15 nDtfDUnd Pressdn夕 F1le ke夕 toCDntinUe二

解决kernel损坏问题:进入救援模式

(1) chroot  /mnt/sysimage     

(2) mount  /dev/sr0  /mnt/cdrom

(3) rpm  -ivh  /mnt/cdrom/Package/kernel-VERSION-RELEASE  –force    #重新从光盘安装kernel,避免因残留文件存在而无法安装,直接使用–force选项强制安装。

(4) exit

(5) reboot

三、无法进入Bootloader,表现为没有安装操作系统之前的画面时,极有可能是MBR中的grub数据损坏或者是/boot/grub/下的各相关文件丢失,进入救援模式重新装载grub即可,重新装载的过程中也会生成所需相关文件。但 /boot/grub/grub.conf 文件需要手动配置。

救援模式下安装grub

(1)切换根目录为真正的操作系统的根目录

 chroot  /mnt/sysimage

(2) grub-install  –root-directory=/    /dev/sda

(3) exit

(4) reboot

### –root-directory=/代表的是指明boot父目录,由于安装grub程序到磁盘的mbr中去的同时还要复制grub的相关配置文件到boot目录中去,此时只需要给出boot的父目录,因为他会在所给出的目录下边去寻找一个叫boot的目录。(用于自制linux系统)

/dev/DISK代表要往那个磁盘的MBR上安装grub。即引导启动的硬盘设备。

四、以上问题修复时,若进入救援模式后发现未识别到原有根文件系统,很有可能是/etc/fstab文件出了问题,导致原有根文件系统无法自动挂载,此时就要先手动挂载,然后恢复/etc/fstab文件。

1、原根文件系统属于正常分区,并未使用逻辑卷时

(1)光盘进救援模式

(2)  / 

]# blkid

]# mount  /dev/sdaN   /mnt/root    #手动挂载成功后不要随意切换到原有根文件系统,切换后所有命令就不能用了

]# vim  /mnt/root/etc/fstab    #编辑该文件,例如以下两行内容

     /dev/sda1  /boot  defaults  0  0

    /dev/sda2   /  defaults  0  0

]#  reboot

(3)必须重新启动进入救援模式,让系统自动识别挂载原有根文件系统。

然后针对以上问题进行各自所需的修复操作。

2、原根文件系统挂载在逻辑卷上时。

(1)光盘进救援模式

(2)

]# blkid

]# lvs

]# vgchange  -ay      #逻辑卷并不能被正常识别,此时需要使用此命令识别逻辑卷

]# lvs

]# mount  /dev/mapper/lv_root  /mnt/sysimage   #挂载逻辑卷

 

]# vim  /mnt/root/etc/fstab

/dev/sda1  /boot  ext4  defaults   0  0

/dev/vg0/lv_root  /  ext4  defaults   0  0

/usr/xxx  /mount  ext4  defaults  0  0

/var/xxx  /mount  ext4  defaults  0  0

(3)必须重新启动进入救援模式,让系统自动识别挂载原有根文件系统。

然后针对以上问题进行各自所需的修复操作。

五、grub引导成功,启动菜单也没问题,kernel加载成功,出现以下现象说明用户空间的第一个程序init初始化失败。

若启动界面默认显示详细启动过程的最终会显示以下结果。esc可显示详细启动过程。

计算机生成了可选文字: sdZ:日:日:日:[sda]Assumingdriue sdZ:日:日:日:[sda]Assumingdrive sdZ:日:日:日:[sd已]Assumingdriue sh:cannotsettermindlProcess sh:nojobcontro1inthisshell sh一4.1林sh一4.1林sh一4.1林sh一4.1林 cache:姗itethrough cache:姗itethrough CdChe:泌itethrough grouP(一1):InaPProPriateioctlfordevice Sh一4.1林Sh一4.1林Sh一4.1林Sh一4.1林

默认启动时不显示详细工程,而是centos动态图像时会一直显示“圆球”。转的根本停不下来。

计算机生成了可选文字: CntOS、 夕 、胜IJ 产一. \_--' CommunitgENT〔rpris〔Op〔ratingSgst〔m

解决方法:进入光盘救援模式。想办法恢复 /sbin/init 这个文件。此文件是一个二进制文件,可以考虑从别的系统上拷贝一份过来,注意版本问题。

 

总结:引起启动失败的问题:

1grub

MBRgrub损坏、grub相关文件丢失

2kernel或者initrd文件加载失败

3/sbin/init初始化失败

 

原创文章,作者:Hulk,如若转载,请注明出处:http://www.178linux.com/60798

(1)
HulkHulk
上一篇 2016-11-26
下一篇 2016-11-26

相关推荐

  • CentOS 7和CentOS 6 使用gpg工具实现公钥加密和解密

    运行环境: [root@Shining ~]# uname -a Linux Shining.ACG 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x…

    Linux干货 2016-12-01
  • ping命令的部分用法

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”不能打开网页时会说“你先ping网关地址192.168.1.1试试”。它通过发送ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQUEST to&nbsp…

    Linux干货 2017-07-30
  • DNS快速入门、正反向解析……

    DNS服务原理详解 因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。 我们在访问一个网站的时候,只要输入该网站的网址就会跳转到该网站页面,而实现这一过程就需要DNS服务器将域名解析为IP地址,进而实现数据通信。 DNS:…

    2017-06-03
  • 在Centos7上源码编译httpd

    在Centos7上源码编译httpd 安装源码包 首先在http://httpd.apache.org下载所需要的安装包 小编在这里下载的是httpd-2.4.27.tar apr-1.6.2.tar apr-util-1.6.0.tar 首先编译安装apr-1.6.2.tar.gz #1 tar -zxf apr-1.6.2.tar.gz #先解压安装包 …

    2017-08-21
  • N25-第一周 总结

    linux bassic The first week of blogging 概要 计算机与操作系统、linux发行版及他们之间联系与区别、Linux的哲学思想、linux系统上命令使用格式及基础命令介绍、linux命令帮助说明、FHS 一、计算机与操作系统 什么是计算机? 电子计算机(computer),亦称电脑,是一种利用电子学原理,根据一系列指令对数…

    Linux干货 2016-12-04
  • Linux shell之bash特性大全详解(持续更新ing)

    一、shell是什么?     Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中…

    Linux干货 2016-03-09