簡單的啟動排錯

一、出現 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相關文件丟失

2、kernel或者initrd文件加載失敗

3、/sbin/init初始化失敗

 

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

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

相關推薦

  • 馬哥教育21期網絡班—第7周課程+練習—-成長進行時–努力前進

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; fdisk /dev/sdb   1、磁盤分區 &nbs…

    Linux干貨 2016-08-19
  • awk多分隔符

    awk的-F參數可以指定新的分隔符,有些時候可能需求指定多個分隔符,比如下面的內容 [root@N1 ~]# netstat -an | grep ESTAB udp 0 0 192.168.1.120:35570 212.47.249.141:123 ESTABLISHED udp 0 0 192.168.1.120:55589 108.59.2.24:1…

    Linux干貨 2017-08-09
  • 夢想走向現實的地方

    曾經羨慕打字快的同學指尖能在鍵盤上優雅地跳舞,于是我有努力練習打字。 曾經羨慕同事能很神奇地把一個交換機的端口關閉,讓那端口下面的人都不能上網,于是我努力學習交換機、路由。 現在我羨慕一個人能管很多服務器的人,于是我開始學習linux了。 努力成為一個也能管很多服務器的人,因為我也想別人叫我運維工程師

    Linux干貨 2016-10-25
  • Linux發展史

    Linux 操作系統是UNIX操作系統的一種克隆系統。它誕生于1991年的10月5日(這是第一次正式向外公布的時間)。以后借助于Internet網絡,并經過全世界各地計算機愛好者的共同努力下,現已成為今天世界上使用最多的一種UNIX類操作系統,并且使用人數還在迅猛增長。下文簡要介紹了Linux發展史。 1969年,美國貝爾實驗室的Ken.Thompson和D…

    Linux干貨 2016-10-17
  • 硬鏈接與軟鏈接的簡述

    我們知道文件都有文件名與數據,這在 Linux 上被分成兩個部分:用戶數據 (user data) 與元數據 (metadata)。用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;而元數據則是文件的附加屬性,如文件大小、創建時間、所有者等信息。在 Linux 中,元數據中的 inode 號(inode 是文件元數據的一部分但…

    Linux干貨 2016-10-20
  • linux運維

    linux運維大綱,學習路線圖

    Linux干貨 2017-10-21
欧美性久久久久