简单的启动排错

一、出现 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 16:03
下一篇 2016-11-26 21:02

相关推荐

  • Linux程序包管理(一)RPM使用

    Linux程序包管理 在早期我们使用源代码的方式安装软件时,都需要先把源程序代码编译成可执行的二进制应用程序,然后进行安装。意味着每次安装软件都需要经过 预处理 –> 编译 –> 汇编–> 链接, 这个复杂的过程。为简化安装步骤,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提…

    Linux干货 2016-06-01
  • 命令别名以及元数据。

    命令别名alias: 命令别名:     获取所有可用别名的定义;         ~]# alias         定义别名:  &nb…

    Linux干货 2016-11-05
  • 第七周作业

    1、简述linux操作系统启动流程 CentOS 启动流程图: 通电自检 power on system test(POST)–> BIOS –> 主机加电以后会将各个部件运转起来,然后通过COMS上的软件程序BIOS(Basic Input Output System)检测每个设备cpu、内存、硬盘进行故障检查并进行硬件…

    2018-02-07
  • 马哥教育网络班22期+第2周课程练习

    1、Linux上文件/目录相关命令有哪些? 1)目录管理类命令:mkdir、rmdir (1)mkdir:make directorise 创建文件夹  使用格式:      mkdir [OPTION]… DIRECTORY…    &nb…

    Linux干货 2016-09-08
  • 逻辑卷管理器 LVM

          逻辑卷管理器 LVM lvm概述   LVM是Logical Volume Manager(逻辑卷管理器)的简写,又译为逻辑卷宗管理器、逻辑扇区管理器、逻辑磁盘管理器。是Linux核心所提供的逻辑卷管理(Logical Volume Management)功能。它在硬盘的硬盘分区之上,又…

    Linux干货 2016-09-02
  • Linux下history命令的介绍

    Linux下history命令的介绍 一、用处 对于Linux而言,命令是人机交互的重要方式,而查看命令历史可以帮助我们了解系统的使用状态、增强安全性也可以调用历史达到快捷操作的目的。 二、命令行历史   执行过的命令会被存入缓存,当正常退出shell时,缓存中的命令会被写入文件中并保存在用户下的隐藏文件文件.bash_history中。当用户登陆…

    Linux干货 2016-07-29