標籤:linux 程式 控制台 網路 鍵盤
系統簡單故障排除
1、bash程式故障:
故障現象:bash程式檔案損毀,導致系統開機後,無法進入bash控制台進行操作;
解決方案:進入緊急救援模式,重新安裝bash程式;
[[email protected] ~]# mv /bin/bash /tmp :類比系統bash程式故障;
[[email protected] ~]#
[[email protected] ~]# sync
[[email protected] ~]# shutdown -r now :重啟系統;
1、掛載系統ios鏡像,重啟系統,調整系統啟動項為cd-rom;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/1A/wKioL1Uamo3zkT1bAAK0DXGQ9PE152.jpg" title="11.jpg" alt="wKioL1Uamo3zkT1bAAK0DXGQ9PE152.jpg" />
2、調整系統進入緊急救援模式:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5C/1A/wKioL1UamyuATJFAAAF5cGeJlt8756.jpg" title="12.jpg" alt="wKioL1UamyuATJFAAAF5cGeJlt8756.jpg" />
3、選擇語言,使用預設OK;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/1A/wKioL1Uam7Wxr8PCAAEJNuaHQco576.jpg" title="13.jpg" alt="wKioL1Uam7Wxr8PCAAEJNuaHQco576.jpg" />
4、選擇鍵盤類型,預設OK;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/20/wKiom1UamsKBzTgJAADBk7cao20989.jpg" title="14.jpg" alt="wKiom1UamsKBzTgJAADBk7cao20989.jpg" />
5、選擇是否啟用網路,這裡無需啟用,NO:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5C/1B/wKioL1UanFLyNA8GAAC2Meh1VKg109.jpg" title="15.jpg" alt="wKioL1UanFLyNA8GAAC2Meh1VKg109.jpg" />
6、以下此項必須選“Continue”。此項執行將硬碟中linux系統的根分區掛載到光碟片系統/mnt/sysimage檔案夾中。不然無法對硬碟上的系統做操作(重要);
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/20/wKiom1Uam3KhYGNOAAJd5AHjyFE754.jpg" title="16.jpg" alt="wKiom1Uam3KhYGNOAAJd5AHjyFE754.jpg" />
7、選擇啟動光碟片中的shell;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/20/wKiom1UanFbT8CYcAACeEF_j7Gs480.jpg" title="17.jpg" alt="wKiom1UanFbT8CYcAACeEF_j7Gs480.jpg" />
8、關在光碟機,安裝bash程式到磁碟;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/1B/wKioL1UanwqgbPwdAAETgbJFzHs026.jpg" title="18.jpg" alt="wKioL1UanwqgbPwdAAETgbJFzHs026.jpg" />
(rpm -ivh bash-4.1.2-15.e16_4.x86_64.rpm --replacepkgs --root /mnt/sysimage)
9、切換至磁碟目錄,發現成功,代表磁碟系統bash程式正常了,重啟系統,更改bios啟動項即可完成。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/1B/wKioL1Uan7iAGOvoAABc3ySzews000.jpg" title="20.jpg" alt="wKioL1Uan7iAGOvoAABc3ySzews000.jpg" />
(也可以使用reboot重啟系統)
ok,重啟系統後,可以嚮往常一樣進入bash控制台,執行各種命令了!!
解釋:
當進入緊急救援模式時,其實是進入了光碟片的“小系統”中去了,並未進入真正系統中去。進入“小系統”,如果真實系統的分區表未被破壞,則緊急救援模式會找到硬碟中的linux根分區,並將其掛載到光碟片目錄結構中的“/mnt/sysimage/”檔案夾中;
因此,當進入“小系統”的shell中後,執行“chroot /mnt/sysimage”命令可以將目錄結構切換到待修複的linux系統當中(前提是linux系統的預設shell程式是正常的);
結束!
2、grub設定檔丟失:
故障現象:系統啟動過程中,grub啟動後無法找到設定檔不知道核心在什麼位置,無法完成系統啟動;
解決方案:啟動系統自動進入grub命令列,通過命令引導核心載入,成功進入系統後,再重建grub設定檔;
[[email protected] ~]# cd /boot/grub/
[[email protected] grub]# cat grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=128M LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
[[email protected] grub]# :查看grub的啟動設定檔。最好備份一個,紅色部分很重要;
[[email protected] grub]# mv grub.conf grub.conf.bak
[[email protected] grub]#
[[email protected] grub]# shutdown -r now :類比grub的設定檔丟失。重啟系統;
1、因為沒有找到核心,所以開機後自動進入grub命令列,等待使用者手動輸入:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/1C/wKioL1UarkewDRyCAAC3JmaRUKc090.jpg" title="1.jpg" alt="wKioL1UarkewDRyCAAC3JmaRUKc090.jpg" />
2、根據之前備份的grub設定檔,手動輸入關鍵項,並重啟系統:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/1C/wKioL1UarzvwqwjTAAF7AUMnVxg212.jpg" title="2.jpg" alt="wKioL1UarzvwqwjTAAF7AUMnVxg212.jpg" />
3、正常開機進入系統後,還要手動建立一個grub的設定檔,如果之前有備份直接複製過來即可;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5C/21/wKiom1UarraypRTPAADfcx0LTP8147.jpg" title="4.jpg" alt="wKiom1UarraypRTPAADfcx0LTP8147.jpg" />
這裡類比恢複grub設定檔,下一次啟動系統就不會有問題了;
結束!
3、grub程式被破壞,無法啟動grub程式:
故障現象:加電啟動系統,自動進入boot命令列;
解決辦法:進入緊急救援模式,重裝grub程式;
1、類比破壞grub:
dd if=/dev/zero of=/dev/sda bs=446 count=1
:因為MBR中前446位元組存放的是bootloader(grub),使用0去填充,將覆蓋bootloader,類比grub程式破壞;
注意:不要將446寫成512了,這樣既破壞了bootloader,又破壞了系統磁碟分割表。整個MBR被破壞了,如果沒有備份,將無法輕易恢複(造成無系統狀態);
2、掛載鏡像光碟片,進入緊急修複模式,修複linux作業系統;
“Rescue installedsystem” :緊急救援,修複系統;
3、chroot/mnt/sysimage :切換到系統根目錄。啟動grub命令列;
grub :輸入grub命令;
grub> :進入grub命令列;
grub> root (hd0,0) :指定/boot分區時哪個;
grub> setup (hd0) 或grub-install :自動去發現kernel和initrd
grub>quit :退出grub命令列;
:最後重啟系統拔掉光碟片即可恢複;
4、不小心將grub整個目錄刪除,但是還在當前系統中:
故障現象:系統當前使用沒有問題,重啟後,無法進入系統了;
解決辦法:重新安裝grub,手動建立grub設定檔;
方式一:系統還可以正常
cd/boot/
grub-install--root-directory=/ /dev/sd :執行安裝即可;
方式二:系統被重啟過,自動進入grub命令列
# grub
grub>root (hd0,0)
grub> setup (hd0)
grub>quite :重啟系統即可恢複;
結束!
本文出自 “linux營運集錦” 部落格,請務必保留此出處http://5200linux.blog.51cto.com/6012970/1627258
linux下簡單系統故障排除