linux系統(tǒng)打不開(kāi)的修復(fù)方法
對(duì)于Linux,一旦出現(xiàn)無(wú)法啟動(dòng)系統(tǒng)情況的時(shí)候,也許你知道錯(cuò)誤大概出在哪里,有比較明確的修復(fù)方向,比如調(diào)整屏幕分辨率,或者修改某個(gè)腳本,等等。但是,現(xiàn)在問(wèn)題的關(guān)鍵,是需要能夠啟動(dòng)或者訪問(wèn)Linux系統(tǒng),這樣才能修復(fù)它。下面就是一些應(yīng)急措施的介紹。
最先應(yīng)該想到,也許也是最簡(jiǎn)單的辦法,就是當(dāng)boot loader—通常都是grub—開(kāi)始執(zhí)行時(shí),通過(guò)它調(diào)整系統(tǒng)運(yùn)行級(jí)別。在出現(xiàn)菜單項(xiàng)后,按下鍵盤(pán)上的“e”按鍵,這樣,菜單項(xiàng)能顯示一個(gè)或者多個(gè)啟動(dòng)命令,找到有關(guān)內(nèi)核的這一行,將光標(biāo)移到上面,高亮這一行,再按下“e”,grub就會(huì)將這行內(nèi)容用一個(gè)簡(jiǎn)單的編輯器環(huán)境打開(kāi),讓我們能夠?qū)ζ渥龀龈淖?。那么,到底怎么改變?很簡(jiǎn)單,只需要告訴init程序,我們希望通過(guò)那個(gè)級(jí)別啟動(dòng)即可。在內(nèi)核命令行的最后加上“init X”參數(shù),其中X表示你所希望的運(yùn)行級(jí)別,舉個(gè)實(shí)際例子,如果你判斷可能是因?yàn)轱@卡驅(qū)動(dòng)或者分辨率導(dǎo)致的啟動(dòng)錯(cuò)誤,就可以啟動(dòng)到命令行模式來(lái)修復(fù)它,那么,就應(yīng)該把運(yùn)行級(jí)別改為純命令行模式,假設(shè)是4,改動(dòng)后的內(nèi)核命令行就應(yīng)該是類(lèi)似于這樣的。
/boot/vmlinuz-2.6.17-11-generic root=UUID=5cc79966-969d-4cd0-abb2-74a132efbd7c ro vga=794 quiet splash init 4
這樣,就等于告訴了init程序,我要以運(yùn)行級(jí)別4啟動(dòng),而不是默認(rèn)的運(yùn)行級(jí)別。
如果這些招數(shù)都無(wú)法奏效了,怎么辦?難道我們就坐以待斃了?no。這里還有一個(gè)偏門(mén)可以供你使用。
我們知道,在默認(rèn)情況下,內(nèi)核啟動(dòng)時(shí)會(huì)執(zhí)行init程序,但是你可以指定不同的程序讓內(nèi)核來(lái)執(zhí)行,只需要在后面添加參數(shù)“init=/some/program”即可。“/some/program”通常表示諸如/bin/bash或者/bin/sh這種shell程序。注意這里的等于符號(hào),它的作用是告訴內(nèi)核,你別啟動(dòng)init程序了,而是啟動(dòng)我等號(hào)后面所指定的任意程序吧。大體命令行如下:
/boot/vmlinuz-2.6.17-11-generic root=UUID=5cc79966-969d-4cd0-abb2-74a132efbd7c ro vga=794 quiet splash init=/bin/bash
這樣,你就可以直接啟動(dòng)到所指定的shell中,對(duì)發(fā)生的錯(cuò)誤進(jìn)行分析,修復(fù)等操作。
如果這樣做都還是不行……好吧,我覺(jué)得你人品有問(wèn)題!那么,還是拿出恢復(fù)cd,通常就是你的安裝光盤(pán),它允許你在啟動(dòng)時(shí)選擇是否進(jìn)入rescue修復(fù)模式。進(jìn)入這個(gè)模式之后,他會(huì)自動(dòng)找到你的硬盤(pán)安裝的系統(tǒng),并將它們掛載到一個(gè)臨時(shí)目錄下,這樣,你就能進(jìn)行修改配置文件或者其它修復(fù)操作了。
推薦:linux教程