日本一本亚洲最大|日本午夜免费啪视频在|国产自产在线视频一区|亚洲福利精品视频

    <object id="4ihfc"></object>
      
      
    1. <object id="4ihfc"></object>
    2. 我要投稿 投訴建議

      如何拯救一臺(tái)GRUB 2啟動(dòng)失敗的Linux電腦

      時(shí)間:2021-01-21 20:48:10 電腦知識(shí) 我要投稿

      如何拯救一臺(tái)GRUB 2啟動(dòng)失敗的Linux電腦

        GRUB是多操作系統(tǒng)的啟動(dòng)程序,GRUB 2相對(duì)GRUB增加了不少新功能,比GRUB更加實(shí)用,不少朋友Linux系統(tǒng)操作中,會(huì)遇到GRUB 2啟動(dòng)失敗的問題,下面小編就給大家介紹下Linux GRUB2啟動(dòng)失敗的解決方法。

      如何拯救一臺(tái)GRUB 2啟動(dòng)失敗的Linux電腦

        update-grub腳本可以可靠的檢測(cè)內(nèi)核、啟動(dòng)文件,并添加所有的操作系統(tǒng),自動(dòng)生成你的啟動(dòng)菜單,所以你不必手動(dòng)的修改他們。

        我們還要學(xué)習(xí)如何解決兩個(gè)常見的故障。當(dāng)啟動(dòng)系統(tǒng)時(shí),它會(huì)停在grub》提示上,這是一個(gè)完整的GRUB 2命令界面,所以不要驚慌。這意味著GRUB 2依舊可以正常啟動(dòng)和加載normal.mod模塊(它和其他模塊分別位于/boot/grub/[架構(gòu)]/ 下),但沒有找到你的grub.cfg文件。如果你看到grub rescue》 這意味著它無法找到normal.mod,因此它有可能找不到你的啟動(dòng)文件。

        這是如何發(fā)生的?因?yàn)閮?nèi)核可能改變驅(qū)動(dòng)器分區(qū)號(hào)碼的分配,或者您移動(dòng)了您的硬盤驅(qū)動(dòng)器,或者你手動(dòng)改變一些分區(qū),也有可能是安裝一個(gè)新的操作系統(tǒng)或者移動(dòng)一些文件。在這些情況下你的啟動(dòng)文件仍然存在,但GRUB不能找到他們。所以你可以在GRUB提示符中找到啟動(dòng)文件,設(shè)置它們的位置,然后啟動(dòng)您的系統(tǒng)并修復(fù)GRUB配置。

        GRUB 2 命令行

        GRUB 2 的命令界面和上一代GRUB中的一樣強(qiáng)大。你可以用它來找到引導(dǎo)鏡像,內(nèi)核和根文件系統(tǒng)。事實(shí)上,它可以讓你避開權(quán)限和其它訪問控制,完全訪問本地計(jì)算機(jī)上的所有文件。有些人可能會(huì)認(rèn)為這是一個(gè)安全漏洞,但是你知道古老的UNIX的名言:有物理訪問機(jī)器權(quán)限的人,就是擁有它的人。

        當(dāng)你在grub 》提示時(shí),你有許多類似命令行界面的功能,如命令歷史和tab補(bǔ)全。但是grub rescue》模式是受限的,沒有命令歷史,沒有tab補(bǔ)全。

        如果你是在一個(gè)正常運(yùn)作的系統(tǒng)上練習(xí),那就當(dāng)GRUB菜單出現(xiàn)時(shí),可以按下C來打開GRUB命令行界面。你可以通過向上和向下光標(biāo)鍵滾動(dòng)你的.菜單條目來停止啟動(dòng)倒計(jì)時(shí)。在GRUB命令行下做實(shí)驗(yàn)是安全的,因?yàn)樽霾涣擞谰玫男薷,一切都是暫時(shí)的。如果你已經(jīng)看到grub 》或grub rescue》提示符,那就說明你的表現(xiàn)時(shí)刻到了。

        接下來的幾個(gè)命令可以在grub》和grub rescue模式下運(yùn)行。你應(yīng)該運(yùn)行的第一個(gè)命令是設(shè)置一個(gè)分頁器,將長(zhǎng)的命令分頁。如下:

        grub》set pager=1

        等號(hào)兩側(cè)必須不能出現(xiàn)空格,F(xiàn)在讓我們做一點(diǎn)探索。輸入ls來列出的GRUB識(shí)別的所有分區(qū):

        grub》 ls

       。╤d0)(hd0,msdos2)(hd0,msdos1)

        msdos是什么?這意味著該系統(tǒng)具有老式的MS-DOS分區(qū)表,而不是全新的全局唯一標(biāo)識(shí)符的分區(qū)表(GPT)。如果你正在運(yùn)行的GPT,它會(huì)出現(xiàn)(hd0,GPT1)。現(xiàn)在讓我們看看,使用ls命令查看你的系統(tǒng)里面有什么文件:

        grub》 ls (hd0,1)/

        lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/

        lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/

        srv/ sys/ tmp/ usr/var/ vmlinuz vmlinuz.old

        initrd.img initrd.img.old

        太好了,我們已經(jīng)找到了根文件系統(tǒng)。你可以省略msdos和GPT的標(biāo)簽。如果沒有加分區(qū)后面的斜杠/,則只會(huì)列出分區(qū)的信息。你可以用cat命令顯示文件系統(tǒng)上的任何文件:

        grub》 cat (hd0,1)/etc/issue

        Ubuntu14.04 LTS l

        在一個(gè)多引導(dǎo)系統(tǒng)上,通過/etc/issue文件可以知道這是哪個(gè)Linux系統(tǒng)。

        從 grub》 中啟動(dòng)

        下面講述如何設(shè)置啟動(dòng)文件并從grub 》提示下啟動(dòng)系統(tǒng)。我們已經(jīng)知道如何從Linux根文件系統(tǒng)(hd0,1)下運(yùn)行l(wèi)s命令,你可以一直尋找直到找到你的/boot/grub所在位置。然后運(yùn)行以下命令,記得使用您自己的根分區(qū),內(nèi)核和initrd映像等參數(shù):

        grub》set root=(hd0,1)

        grub》 linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1

        grub》 initrd /boot/initrd.img-3.13.0-29-generic

        grub》 boot

        第一行設(shè)置分區(qū)的根文件系統(tǒng)。第二行告訴GRUB您想要使用的內(nèi)核位置。開始輸入/boot/vmli,然后使用tab補(bǔ)完填寫。輸入root= /dev/sdX設(shè)置根文件系統(tǒng)位置。是的,這似乎是多余的,但如果你忘記了輸入,你會(huì)得到一個(gè)kernel panic。你知道怎么找到正確的分區(qū)嗎?hd0,1 即 /dev/sda1,hd1,1 即 /dev/sdb1,hd3,2 即 /dev/ sdd2。我想你可以自己推算剩下的了。

        第三行設(shè)置initrd文件,必須是和內(nèi)核相同的版本號(hào)。

        最后一行啟動(dòng)系統(tǒng)。

        在一些Linux系統(tǒng)上,內(nèi)核和initrd是被符號(hào)鏈接到當(dāng)前的根文件系統(tǒng)的根目錄,就像:

        $ ls -l /

        vmlinuz -》 boot/vmlinuz-3.13.0-29-generic

        initrd.img -》 boot/initrd.img-3.13.0-29-generic

        所以,你也可以這樣輸入命令:

        grub》set root=(hd0,1)

        grub》 linux /vmlinuz root=/dev/sda1

        grub》 initrd /initrd.img

        grub》 boot

        從grub rescue》 中啟動(dòng)

        如果你處在grub rescue》 命令界面下,命令有所不同,你必須要先加載兩個(gè)模塊normal.mod 和 linux.mod。

        grub rescue》set prefix=(hd0,1)/boot/grub

        grub rescue》set root=(hd0,1)

        grub rescue》 insmod normal

        grub rescue》 normal

        grub rescue》 insmod linux

        grub rescue》 linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1

        grub rescue》 initrd /boot/initrd.img-3.13.0-29-generic

        grub rescue》 boot

        在你加載了這兩個(gè)模塊之后tab補(bǔ)完的功能就可以用了。

        永久性的修復(fù)

        當(dāng)你成功地啟動(dòng)你的系統(tǒng),運(yùn)行這些命令來永久修復(fù)GRUB:

        # update-grub

        Generating grub configuration file 。。。

        Found background:/usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga

        Found background image:/usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga

        Found linux image:/boot/vmlinuz-3.13.0-29-generic

        Found initrd image:/boot/initrd.img-3.13.0-29-generic

        Found linux image:/boot/vmlinuz-3.13.0-27-generic

        Found initrd image:/boot/initrd.img-3.13.0-27-generic

        Found linux image:/boot/vmlinuz-3.13.0-24-generic

        Found initrd image:/boot/initrd.img-3.13.0-24-generic

        Found memtest86+ image:/boot/memtest86+.elf

        Found memtest86+ image:/boot/memtest86+.bin

        done

        # grub-install /dev/sda

        Installingfor i386-pc platform.

        Installation finished.No error reported.

        當(dāng)你運(yùn)行 grub-install 時(shí),記得GRUB是安裝到整個(gè)硬盤驅(qū)動(dòng)器的主引導(dǎo)扇區(qū)而不是到一個(gè)具體分區(qū),所以不要加上像/dev/sda1一樣的分區(qū)號(hào)。

        上面就是Linux GRUB 2啟動(dòng)失敗的解決方法的介紹了,但你遇到GRUB 2無法啟動(dòng)的時(shí)候不用擔(dān)心,只需按照本文介紹的方法進(jìn)行修復(fù),輸入正確的命令即可。

      【如何拯救一臺(tái)GRUB 2啟動(dòng)失敗的Linux電腦】相關(guān)文章:

      如何在寒冬里拯救你的創(chuàng)業(yè)08-28

      電腦啟動(dòng)藍(lán)屏怎么辦?11-29

      怎么設(shè)置電腦的開機(jī)啟動(dòng)項(xiàng)04-09

      電腦主板不能啟動(dòng)的解決方法03-30

      電腦重裝系統(tǒng)失敗怎么辦11-30

      如何才能降低創(chuàng)業(yè)失敗的機(jī)率10-08

      創(chuàng)業(yè)者如何降低創(chuàng)業(yè)失敗的風(fēng)險(xiǎn)?02-28

      夏季應(yīng)該如何保養(yǎng)電腦04-14

      電腦族應(yīng)該如何養(yǎng)生04-14

      如何重裝電腦系統(tǒng)04-14