五类linux故障,无法启动的解决方法


故障一:

如果修改了/etc/fstab  后系统启动不了的处理办法


1.重启系统,画面显示如下图:

wKioL1LaP37wPWl7AAD2CLngR_Q862.jpg


2输入管理员口令,进入

wKiom1LaP6KSwlSVAAEmOuhhBdA241.jpg

3.vim/etc/fstab   发现这个文件为只读

wKiom1LaP6OS7DhaAAEU3b59PfU542.jpg

4.重新挂载 mout  -o remount /

wKiom1LaP6OhUAd_AABxH0yQrKw928.jpg

5 重新修改/etc/fstab文件即可

wKioL1LaP4HjfC2QAADl2HzX4Jw494.jpg

6重启系统,正常进入系统


故障二:引导分区被破坏了

1.模拟引导分区的损害: dd if=/dev/zero  of=/dev/sdabs=446 count=1


wKiom1LaP6XTfd77AACn4qNsKBI088.jpg

2.加载linux安装的光盘,进入救援模式:linux rescue


wKiom1LaP6yAjrigAAC6Nru_Zic376.jpg

3.进入救援模式,变换目录,进入救援模式的根: chroot /mnt/sysp_w_picpath/


4.输入grub命令

1.Root (hd,0)

    2.Setup (hd0)

   3.quit

wKioL1LaP4ezZLoTAAEcR_iU0Pw268.jpg


5.输入两次exit ,退出救援模式,把系统盘卸载后,重启系统,即可以正常启动系统


故障三:丢失/boot/grub/grub.conf文件,系统启动不了

1.模拟grub.conf 丢失,为了方便以后恢复,备份grub.conf .

Mv  /boot/grub.conf  /tmp/

2.Shutdown –r now  重启系统

wKioL1LaP4rRQrEmAACfQdUPG00543.jpg

3.系统进入grub 模式

Root (hd0,0)

Kernel /系统内核  ro root=/dev/sda2 (为根分区挂载盘)  quiet

Initrd  /系统内核模块


这些命令都可以用tab 命令来补全

wKioL1LaP4XxikXtAAC93kLTFKI888.jpg

wKiom1LaP67hdwT1AAGfYPb1pgI114.jpg

4.boot  重新引导,进入系统必须手工创建grub.conf文件。

如何在vim中找到系统内核及模块呢?可以在vim 编辑器的命令行模式输入两个!!后输入

Ls  /boot/vm….按住tab键补全,将自动把内核写入,采用同样的方法可以写入模块


wKioL1LaP4uDVCH9AACFpce5-n8775.jpg

wKioL1LaP4yifiHVAACilEqGETs514.jpg

故障四/boot/grub/目录下的文件全部不见了,系统启动不了

1.rm –rf/boot/grub/*    为了恢复,我这里采用mv /boot/grub/  /tmp/grub/

2.shutdown–r now

wKiom1LaP6-h-EzCAACOVZvYfeM936.jpg

3.修改启动方式为CDROW 方式启动,加载linux 系统盘

4.进入救援模式:linuxrescue

5.grub-install    --root-directory=/   /dev/sda --创建除了grub.conf /boot/grub/目录下所有文件

wKioL1LaP43TVSasAAE65jgNBfA690.jpg

6输入两次exit exit退出并重启

7.修改启动方式为硬盘启动,进入grub

8.root(hd0,0)    

Kernel /内核  ro root=/dev/sda2(根的分区位置)  quiet(静默方式)

Initrd /内核模块

Boot

wKiom1LaP67hdwT1AAGfYPb1pgI114.jpg

9.进入系统创建grub.conf即可

wKioL1LaP4yifiHVAACilEqGETs514.jpg


故障五:系统配置文件丢失修复
系统在引导期间,很重要的一个过程就是init进程读取其配置文件/etc/inittab,启动系统基本服务程序及默认运行级别的服务程序完成系统引导,如果/etc/inittab误删除或修改错误,Linux将无法正常启动。此时,只有通过救援模式才可以解决此类问题。
1、有备份文件的恢复办法
进入救援模式,执行chroot命令后,如果有此文件的备份(强烈建议系统中的重要数据目录,如/etc、/boot等要进行备份),直接将备份文件拷贝回去,退出重启即可。如果是配置文件修改错误,如比较典型的/boot/grub/grub.conf及/etc/passwd的文件修改错误,也可以直接修正恢复。假设有备份文件/etc/inittab.bak,则在救援模式下执行:

1sh-3.1# chroot/mnt/sysp_w_picpath
2sh-3.1# cp /etc/inittab.bak /etc/inittab

2、没有备份 文件 的恢复办法
如果一些 配置 文件 丢失或软件误删除,且无备份,可以通过重新安装软件包来恢复,首先查找到/etc/inittab属于哪一个RPM包(即便 文件 丢失,因为存在RPM数据库,一样可以查找到结果):
1sh-3.1# chroot/mnt/sysp_w_picpath
2sh-3.1# rpm -qf /etc/inittab
3initscripts-8.45.3-1

退出chroot模式:
1sh-3.1# exit

挂载存放RPM包的安装光盘(在救援模式下,光盘通常挂载在/mnt/source目录下):
1sh-3.1# mount /dev/hdc /mnt/source

Fedora 系统 的RPM包存放在光盘Fedora/RPMS目录下,其他Linux存放位置大同小异,这里不一一列举;另外,因为要 修复 的硬盘 系统 的根目录在/mnt/sysp_w_picpath下,需要使用--root选项指定其位置。覆盖安装/etc/inittab 文件 所在的RPM包:
1sh-3.1# rpm -ivh --replacepkgs --root /mnt/sysp_w_picpath /mnt/source/Fedora/RPMS/ initscripts-8.45.3-1.i386.rpm

其中的rpm命令选项“--replacepkgs”表示覆盖安装,执行完成后,即已经恢复了此 文件