新聞中心
簡介:

為遂溪等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及遂溪網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設、遂溪網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
Grub 常見的兩種故障:Grub.conf 文件丟失、MBR 損壞 ( 不管恢復怎么樣,還是先備份好吧 )
一、Grub.conf 文件丟失
shell > rm -rf /boot/grub/grub.conf ## 刪除文件、模擬故障 shell > reboot
## 故障現(xiàn)象如下:
GNU GRUB verstion 0.97 (634k lower / 1046400k upper memory ) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub>
## 就這個樣子,無法登陸系統(tǒng),下面是解決方法
grub> root (hd0,) # 輸入 root (hd0,) 這時按 TAB 鍵會打印出系統(tǒng)上所有的分區(qū) ( 注意在急救模式下不支持 TAB , 很傷~ ) Possible partitions are: Partition num: 0, Filesystem type is ext2fs, partition type 0x83 Partition num: 1, Filesystem type unknown, partition type 0x82 Partition num: 2, Filesystem type is ext2fs, partition type 0x83
## 0, 1, 2 代表分區(qū)編號,上面顯示有文件系統(tǒng),分區(qū)類型,像 83 就是 Linux 普通分區(qū),82 是虛擬分區(qū) SWAP ( 硬盤分區(qū)時的知識 )
## 這里不分 IDE / SATA 什么的,都用 hd 代表,hd0 代表第一塊硬盤,hd0,0 代表第一塊硬盤的第一個分區(qū),系統(tǒng)中是用 sda1 代表第一塊硬盤的第一個分區(qū)
grub> root (hd0,0)/ # 輸入 root (hd0,0)/ 這里按 TAB 鍵搜索內核在不在此分區(qū)上 ( boot 分區(qū) ),如果有會輸出下面信息 ( 試 83 的分區(qū),82 是交換分區(qū)就沒必要試了 ) Possible files are: lost+found grub efi .VMlinuz-2.6.32-504.e16.x86_64.hmac System.map-2.6.32-504.e16.x86_64 config-2.6.32-504.x86_64 symvers-2.6.32-504.x86_64.gz VMlinuz-2.6.32-504.e16.x86_64 initramfs-2.6.32-504.e16.x86_64.img
## 如果可以看到 vmlinuz- 跟 initramfs- 字樣,說明這就是我們想要的東西
grub> root (hd0,2)/ # 下面是搜不到的顯示, 仔細看看 ( 發(fā)現(xiàn)這是根分區(qū)哎~~ hd0,2 是根分區(qū),我們用的是 SATA , 所以根分區(qū)是 /dev/sda3 很有用 !) Possible files are: lost+found boot dev proc sys var tmp etc root selinux lib64 usr bin home lib media mnt opt sbin srv .autorelabel grub> root (hd0,0) # 綁定啟動分區(qū) Filesystem type is ext2fs, partition type 0x83 grub> kernel /VMlinuz-2.6.32-504.e16.x86_64 ro root=/dev/sda3 # 指定啟動內核,ro 只讀模式,root= 指定根分區(qū), 一定要指對 ( 可能如果 boot 沒有單獨分區(qū)不指定也是可以的 ) grub> initrd /initramfs-2.6.32-504.e16.x86_64.img # 這是內核映像吧 ( kernel 、initrd 都是上面搜出來的,輸入一點點按 TAB 可以補全 ) grub> boot # 啟動系統(tǒng),手動編寫 grub.conf 或恢復備份 shell > vim /boot/grub/grub.conf default=0 # 啟動哪個系統(tǒng) timeout=5 # 等待時間 title centos 6.6 # 描述信息 kernel /VMlinuz-2.6.32-504.e16.x86_64 ro root=/dev/sda3 # 內核 initrd /initramfs-2.6.32-504.e16.x86_64.img # 啟動映像
## 這里有個 vim 的用法,直接主機上 vim 是不可以用鼠標復制命令行內容的,那 kernel 跟 initrd 又那么長,不好記
## 方法:末行模式下輸入 .! ls /boot/vmlinuz- 按 TAB 就可以補全了,這時按 Enter 鍵就可以將此條信息放到當前文件中
shell > reboot
## 這樣就恢復成功了!還是記得備份吧
## 如果 kernel 沒有指對根分區(qū)就會這樣~ 還要重啟系統(tǒng),重新來過
dracut Warning: Signal caught! ?dracut Warning: Boot has faild. To debug this issue add "rdshell" to the kernel command line. ?Kernel panic - not syncing: Attempted to kill init! ?Pid: 1, comm: init Not tainted 2.6.32-504.e16.x86_64 #1 ?Call Trace: [二、MBR 損壞
shell > dd if=/dev/zero of=/dev/sda count=1 bs=200 # 覆蓋 MBR , 模擬故障 ( /dev/sda 前 512 個字節(jié)是 MBR ) shell > reboot## 故障現(xiàn)象如下:
Operating System not found # 基本就這樣,會出現(xiàn)本地硬盤找不到系統(tǒng)、從 PXE 獲取,DHCP xxxxxxxxxxxxx## 解決方法:使用緊急救援模式修復
> 插入系統(tǒng)光盤,進入急救模式 ( 這個都會進吧,CentOS 直接選擇,RedHat boot:linux rescue )
shell > grub # 進入 grub 模式 grub> root (hd0,0) # 直接指定內核所在分區(qū)吧,沒法 TAB ( 一定要想辦法找到它, 例如:先 chroot /mnt/sysimage , 然后 df -HT 可以看到所有分區(qū),假如 sda1 是啟動分區(qū),那么這里對應就是 hd0,0 了 ) grub> setup (hd0) # 重新安裝 MBR 到該磁盤,實際上就是 /dev/sda grub> quit shell > reboot## 現(xiàn)在就可以成功進入系統(tǒng)了,MBR 已經(jīng)修復
附加:BASH 故障的解決方法
shell > rm -rf /bin/bash # 刪除 bash ,模擬故障 shell > reboot## 故障現(xiàn)象如為:系統(tǒng)無法初始化,init 命令不存在,其實什么指令都不能執(zhí)行
## 進入急救模式重新安裝 bashshell > mkdir /media # 直接在光盤系統(tǒng)中操作,因為這時無法 chroot 到 /mnt/sysimage shell > mount /dev/sr0 /media # 掛載光盤鏡像,/dev/sr0 代表光驅,如果是 IDE 接口應該是 /dev/hdc shell > cd /media/Packages shell > rpm -ivh --replacepkgs --root /mnt/sysimage bash-4.1.2-29.e16.x86_64.rpm # 將 bash 安裝到 --root 指定根目錄中 --replacepkgs 是替換原有包 shell > reboot## OK ,故障已經(jīng)修復!
文章標題:CentOSGrub、BASH故障、解決方法
轉載來源:http://m.fisionsoft.com.cn/article/dhschdg.html


咨詢
建站咨詢
