linux系统启动故障恢复

Linux系统启动过程:

接通电源→硬件自检(post)→cmos启动过程顺序→MBR引导

用图示说明:

先了解下grub.conf

[root@wang grub]# vim /boot/grub/grub.conf

default=0    

timeout=5  没有选择启动的操作系统超时时间

splashimage=(hd0,0)/grub/splash.xpm.gz  引导菜单背景图片 

Hiddenmenu  隐藏菜单

title CentOS (2.6.32-431.el6.i686)  开机时候提供的菜单的标签

        root (hd0,0)  第一个硬盘的第一个分区,即引导分区

        kernel /vmlinuz-2.6.32-431.el6.i686 ro  加载的内核 只读方式root=UUID=f89c0676-2f69-4ebc-961b-9bd951910958 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 初始化包含启动的镜像

故障(一)

MBR故障 

[root@wang ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1 模拟MBR故障

[root@wang ~]init 6  重启

无法启动

需要插入安装光盘从光盘启动修复

选择第3个 rescue install system

选择English

选择us

选择no 不需要开启网络

选择continue

Ok

ok

选择shell start shell

具体命令为

chroot  /mnt/sysimage/ 切换到系统挂载的目录

grub-install /dev/sda   安装grub

  exit   退出  

exit   退出  

然后选择reboot

故障(二)

  grub.conf错误 模拟grub错误

[root@wang ~]# ll /etc/grub.conf  /boot/grub/grub.conf 

-rw-------. 1 root root 737 Jul  9 02:41 /boot/grub/grub.conf

lrwxrwxrwx. 1 root root  22 Jul  9 02:41 /etc/grub.conf -> ../boot/grub/grub.conf

2目录的文件对应于一个文件(一个是链接文件)

[root@wang ~]# mv /boot/grub/grub.conf  /tmp 移动到其他的目录,如同删除

[root@wang ~]# init 6  重启

出现这个说明第一阶段(mbr)完好,第二阶段出现问题

先输入root (    按table键有提示说明

再输入 roothd0,  按table键有提示说明

分辨哪个分区可能是引导分区

然后输入kernel 位置 在/后面输入vmtable键看是否能补齐能补齐说明前面选择的路径是对的

然后再 ro(只读模式)quiet(静默模式) root=/dev/sda2 (指定根目录)

Initrd /initable键补齐   (指定驱动位置)

  boot 试下能否启动

可以进入系统。但是如果再重启的话还是出现上面的情况,这时需要重建grub菜单

[root@wang ~]# cd /boot/grub/   

[root@wang grub]# vim grub.conf  进入grub目录,编辑grub.conf文件

编辑为如此即可

default=0

timeout=5    菜单超时时间

splashimage=(hd0,0)/boot/grub/splash.xpm.gz    背景界面

 title centos  标题

 root (hd0,0)   根目录

kernel /vmlinuz-2.6.32-431.el6.i686 ro quiet rhgb root=/dev/sda2  内核文件位置

initrd /initramfs-2.6.32-431.el6.i686.img  驱动文件位置

然后init 6 重启就可以成功进入

故障(三)

grub目录丢失  模拟grub目录丢失

                                          

 [root@wang ~]# cd /boot/

[root@wang boot]# mv grub /tmp  grub移动模拟丢失目录

[root@wang boot]# init 6

出现这样的情况,放上系统盘进入救援模式选择从光盘启动,可以调bios光盘为第一启动项,也可以开机按f12选择(部分机器可能没有)

选择救援模式

进入救援模式shell方式和上面一样!

chroot /mnt/sysimage  切换到根目录

grub-install --root-directory=/ /dev/sda   安装grub相关的目录

然后ls  /boot 有了grub目录

 grub目录下也有文件,但是少了个grub.conf

然后exit

 exit重启

选择第四项选择从本地硬盘启动

进入

然后和故障(二)的情况一样,解决方法一样 即

使用livecd光盘修复

 [root@wang ~]# cd /boot/

[root@wang boot]# mv grub /tmp  grub移动模拟丢失目录

[root@wang boot]# init 6

使用livecd启动  可用usb启动,usb需要设置pe启动

选择第二个进入

选择命令行模式

  su -    获取root

  fdisk -l   查看所有硬盘信息,以确定boot分区的设备目录

 

Boot分区为 /dev/sda1

mkdir  /mnt/boot

mount  /dev/sda1  /mnt/boot

  ls-l /mnt/boot   查看下挂载是否正确

Root 分区为 /dev/sda2 

 mkdir /mnt/root

mount /dev/sda2  /mnt/root

没有grub目录

grub-install --root-directory=/mnt  /dev/sda  安装grub针对/dev/sda

ls查下,已经有目录了

没有grub.conf需要自己手工编辑

进入grub目录下编辑grub.conf

编辑为如此即可(同上)然后保存退出重启电脑即可

故障(四)

/etc/fstab 文件错误导致无法开机

   vim  /etc/fstab 

编辑这个文件

随便输入东西,模拟错误

然后输入init 6 重启,系统无法启动,用livecd光盘启动修复

从本地硬盘启动时

 

e

 

rhgb删除,查看系统进程加载情况,以确定系统问题

修改完成 按b引导进入

 

发现问题

/etc/fstab 错误

livecd进入 

第二个选项进入

进入命令行方法同上

 

su -   用管理员权限

fdisk -l   显示硬盘信息判断哪个是根分区

mkdir  /mnt/root

mount  /dev/sda2 /mnt/root   挂载根分区

编辑fstab

 

查看文件,错误内容删除保存即可

重启成功进入系统

故障(五)

Root口令丢失 

开机在5秒内按任意键进入grub菜单

e

选第2个再按e

在后面输入或者single 进入单用户模式

回车,再按b进行引导启动

可以看出来进入了单用户模式

可以使用passwd root  重新设置密码

也可以使用 passwd -d root  删除root账号

问题解决。


本文出自 “你猜我是谁” 博客,请务必保留此出处http://whhhj.blog.51cto.com/9289395/1568613

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。