简单的启动排错

一、出现 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

相关推荐

  • 正则表达式基础知识及grep、egrep详解

    什么是正则表达式     在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在我们…

    Linux干货 2016-08-08
  • 网络班22期+第二周作业练习

    常用的文件管理命令: ls,显示文件或目录 -l:显示文件或目录的包括权限、属主、属组大小创建日期等详细信息 [root@centos7 ~]# ls -l total 16 -rw-r–r–. 1 root root   64 Aug&nbsp…

    Linux干货 2016-09-05
  • CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

    本次实验要进行的是在CentOS7.2,内核版本3.10.0-327.el7.x86_64的环境下搭建LAMP和LNMP,并在此之上做一个WordPress博客网站。 [root@Shining ~]# uname -a Linux Shining.ACG 3.10.0-327.el7.x86_64&nbsp…

    Linux干货 2016-11-24
  • Linux平台的4个最佳开源代码编辑器

    原文出处: Abhishek   译文出处:Linux中国 su-kaiyao   正在寻找Linux平台最棒的代码编辑器?如果你询问那些很早就玩Linux的人,他们会回答是Vi, Vim, Emacs, Nano等。但是,我今天不讨论那些。我将谈论一些新时代尖端、漂亮、时髦而且十分强大, 功能丰富…

    Linux干货 2015-03-02
  • 脚本及变量解析

    bash脚本编程 脚本文件格式: 第一行顶格:#!bin/bash  (shebang) 注释信息:以#开头 代码注释:好的程序员必备 适量的添加缩进或添加空白行以示分割 语言:编程语言格式:库,算法和数据结构 编程思想:      能够把学到的编程语言的语法格式随时转换为解决问题的思路     &…

    Linux干货 2016-08-12
  • SElinux

    selinux  配置文件 修改   就要重启 targeted:用来保护常见的网路服务,仅有限进程受到selinux控制,只监控容易被入侵的进程。 targeted  慢慢完善的法律 系统默认使用   targeted     CENTOS6 CENTOS7 ZAI &nbsp…

    Linux干货 2016-09-14