ubuntu live cd修复grub引导项
----------------------------------------------------2017.5.2更新-------------------------------------------------------------------
1. 通過Ubuntu Live CD(安裝盤,選擇try Ubuntu)進(jìn)入U(xiǎn)buntu系統(tǒng)
打開終端,依次進(jìn)行如下操作:
出現(xiàn)如下界面:
2. 然后會(huì)看到,有好多不一樣的硬盤分區(qū),但是當(dāng)時(shí)我裝系統(tǒng)的時(shí)候沒有分boot分區(qū),而且我當(dāng)時(shí)給的/目錄的容量是20G,很顯然,/dev/sda7就是我的根目錄所在的硬盤(如果沒有分boot分區(qū),boot分區(qū)啟動(dòng)默認(rèn)是位于/目錄)。然后執(zhí)行:
? ? ? ? ?
[plain]?view plaincopy
3. 接下來是新建MBR分區(qū),即進(jìn)行如下操作
4. 更新grub
? ? ? ??
[plain]?view plaincopy##這一步并非必須
----------------------------------------------------2017.5.2更新-------------------------------------------------------------------
Linux老手們告誡用戶一定要先裝windows再裝linux,但是有些時(shí)候如果windows死機(jī)或者中毒后必須重裝windows系統(tǒng)時(shí),就需要對(duì)Grub進(jìn)行修復(fù)了。這其中原因是因?yàn)閣indows把多重引導(dǎo)程序Grub覆蓋了,而自身程序卻沒有引導(dǎo)Linux啟動(dòng)的能力。
解決的方法很簡(jiǎn)單,就是重新修復(fù)Grub,需要的東西就是安裝盤。
Ubuntu修復(fù):
使用光盤啟動(dòng)Ubuntu,選擇Try?Ubuntu?without?any?change?to?your?computer。
成功的從光盤啟動(dòng)后就已經(jīng)做好了修復(fù)Grub的準(zhǔn)備了。在Ubuntu的命令行中依次輸入以下內(nèi)容。
grub
find?/boot/grub/stage1
root?(hdx,y)
setup?(hd0)
quit?
| 命令 | 含義 |
| grub | 啟動(dòng)光盤上的grub程序,如果用戶正在使用Ubuntu,需要使用sudo??grub以獲得root權(quán)限。? |
| find?/boot/grub/stage1 | 查找硬盤上linux系統(tǒng)將/boot存放在哪個(gè)硬盤分區(qū)中,grub在安裝時(shí)需要讀取這個(gè)目錄中的相關(guān)配置文件。 |
| root(hdx,y) | 指示linux內(nèi)核文件所在硬盤分區(qū)(也就是/boot所在目錄分區(qū)),將這里的(hdx,y)替換為上一行中查找的那個(gè)分區(qū),注意括號(hào)中不能存在空格。 |
| setup(hd0) | 在第一塊硬盤中安裝grub引導(dǎo)程序。 |
| quit | 離開引導(dǎo)程序grub。 |
? ? ? 利用grub命令來啟動(dòng)損壞的Linux系統(tǒng),可能你的電腦因?yàn)槟承┰驌p壞不能自動(dòng)啟動(dòng)了。當(dāng)然原因很多,可能的現(xiàn)象也很多。?
這里說一下這種情況下的處理方法,即:屏幕上提示grub>,但你的硬盤上數(shù)據(jù)沒有丟失,各分區(qū)都是好的。這種情況是你的grub信息損壞了,但比較嚴(yán)重的是系統(tǒng)啟動(dòng)不了。?
? ? ? 當(dāng)然,在正常啟動(dòng)情況下,屏幕上出現(xiàn)grub的啟動(dòng)項(xiàng)選擇菜單時(shí)按c鍵也是可以進(jìn)入grub>狀態(tài)的。這時(shí)候我們需要用grub的命令來手工啟動(dòng)系統(tǒng)。 只需要用到四個(gè)命令boot、kernel、initrd、boot。
? ? ? 但grub本身命令很多,比如查看文件內(nèi)容的cat ,你輸入help會(huì)得到。
? ? ? 首先,輸入“ root (hd ” ,然后按兩次 TAB 鍵; /* 這會(huì)列出你電腦上可能的磁盤設(shè)備,硬盤為 hd0/hd1 或 sd0/sd1 等 */?
? ? ? 然后,選擇你的安裝 Linux 系統(tǒng)的硬盤,比如 hd0 ,輸入 “ root (hd0, ” 再按兩次 TAB 鍵; /* 這會(huì)列出你的第一塊硬盤上的分區(qū)情況,你會(huì)知道哪個(gè)是 swap 交換分區(qū), 0x82 ,哪個(gè)是 Linux 分區(qū) 0x83 */
? ? ? 選擇你認(rèn)為可能的 /boot 目錄所在的分區(qū), 輸入root (hd0, 1)回車;?
? ? ? 接著,輸入cat /boot/vm, 按兩次 TAB 鍵,如果出現(xiàn)一些 vm 開頭的文件,比如 vmlinuz-2.6.15-26-386 說明這里是 /boot 所在的分區(qū)。?
? ? ? 刪除上一次的輸入,再輸入cat /boot/initrd,按兩次 TAB 鍵,如果出現(xiàn)一些 initrd 開頭的文件,比如 initrd.img-2.6.15-26-386 說明這個(gè) /boot 所在的分區(qū)有 initrd ,即 ramdisk 鏡像;
? ? ? 刪除上一次的輸入,再輸入cat /sbin/init,按兩次 TAB 鍵,如果出現(xiàn)一些 init 開頭的文件,比如/sbin/init說明這個(gè)分區(qū)是/所在的分區(qū);?
? ? ? 如果沒有出現(xiàn)/sbin/init文件,說明(hd0,1)分區(qū)僅僅是/boot分區(qū)而不是/分區(qū)。重新輸入root (hd0,N)命令,這里 N 是某個(gè) Linux 分區(qū),然后再試cat /sbin/init, 直到屏幕上出現(xiàn)/sbin/init,說明你找到了/分區(qū),嚴(yán)格來說,應(yīng)該是/sbin目錄所在的分區(qū);
? ??依次輸入命令:?
[plain]?view plaincopy
即可啟動(dòng)系統(tǒng)。?
這里的關(guān)鍵問題是如何確定系統(tǒng)的幾個(gè)分區(qū):/boot / /sbin
總結(jié)
以上是生活随笔為你收集整理的ubuntu live cd修复grub引导项的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 调用 tensorflow
- 下一篇: ubuntu安裝opencv3.4.1