簡單的啟動排錯

一、出現 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.。.

最終停止在上圖畫面,并且也可以正常進入啟動項菜單,說明MBR、gurb文件等都沒問題,緊接著便是加載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 這個文件。此文件是一個二進制文件,可以考慮從別的系統上拷貝一份過來,注意版本問題。

 

總結:引起啟動失敗的問題:

1、grub

MBRgrub損壞、grub相關文件丟失

2kernel或者initrd文件加載失敗

3、/sbin/init初始化失敗

 

原創文章,作者:Hulk,如若轉載,請注明出處:http://www.www58058.com/60798

(1)
HulkHulk
小練習題?!镜谖逯堋?/span>
上一篇 2016-11-26 16:03
下一篇 2016-11-26 21:02

相關推薦

  • lamp簡介

    lamp 構建一個有著動態服務器端技術的網站 LAMP基礎 1)開源領域LAMP組成: L:Linux;A:apache (httpd);M:mysql, mariadb;P:php, perl, python httpd:接收用戶的web請求;靜態資源則直接響應;動態資源為php腳本交由php來運行; php:運行p…

    Linux干貨 2016-11-07
  • 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 答:針對文件常用的命令有如下幾大類: a)文件創建命令 touch       touch /path/filename  —-新建一個空的文件 b)文件復制命令 cp       cp /path1/…

    Linux干貨 2016-11-19
  • 馬哥教育21期網絡班—第15周課程+練習—-sed 總結

    sed:編輯器 流編輯器,文本流編輯 ed: Stream EDitor, 行編輯器; 介紹:sed是 一個非交換性文本流編輯器,它編輯文件或標準輸入導出的文本拷貝。標準輸入可能來自鍵盤、文件重定向、字符串或變量,或者管道的文本。 sed可以干什么? 別忘了vi也是一個文本編輯器。sed可以隨意編輯小或大的文件,有許多…

    Linux干貨 2016-11-14
  • CentOS7.3安裝Jumpserver0.3.2

    CentOS7.3安裝Jumpserver0.3.2 公司服務器前端增加堡壘機,選用開源的jumpserver 軟件環境CentOS Linux release 7.3.1611 python 2.7.5 mysql5.7 安裝git yum -y install git 克隆jumpserver # cd /opt # git clone https://…

    Linux干貨 2017-07-11
  • kickstart+http+dhcp+tftp實現centos7的無人值守安裝

    環境:IP: 172.16.0.11 centos 7.2 一. tftp 安裝tftp服務端和客戶端 [root@localhost ~]# yum -y install tftp tftp-server 啟動tftp [root@localhost ~]# systemctl start tftp.socket [root@localhost ~]# s…

    Linux干貨 2017-06-03
  • 使用haproxy代理LAMP、LNMP 實現WordPress發布

    haproxy簡介 HAProxy是專業的反向代理軟件,它可以支持4層和7層代理服務。其配置包含一下幾個配置段: global:全局設置,通常與操作系統有關 defaults:配置默認參數,可以被frontend、backend、listen組件利用 frontend:接收親請求的前虛擬節點 backend:后端服務集群的配置,一個backend可以對應多個…

    2017-05-17
欧美性久久久久