1. 程式人生 > >通過 Grub 來引導啟動 UBUNTU

通過 Grub 來引導啟動 UBUNTU

老樣子,先分享一篇文章——用 EasyBCD 硬碟安裝 Ubuntu(適用於Windows 7/8)

http://forum.ubuntu.org.cn/viewtopic.php?t=392854

本文適用人群:對GRUB沒有基礎,但是遇到與博主相同問題,同時希望對GRUB有所瞭解的朋友

處理了兩種情況,先對情況進行說明:

    1、UBUNTU升級後,不能正常進入,通過GRUB命令列引導進入UBUNTU

        博主手賤,昨天晚上一路點選升級,於是乎將UBUNTU14.04升級了,到了哪個版本也不知道。直到今天早上起床開機,直接在GRUB引導介面點選UBUNTU後,沒有進入那熟悉的紫紅色的介面,然後,就沒有然後了...

        博主的機子裝的 WINDOWS7 和 UBUNTU 雙系統,因為之前 ubuntu 也出過一次問題,grub又不熟悉,不想重蹈覆轍,所以還是保持了 windows 的 grub 引導。

    2、需要安裝UBUNTU,通過GRUB命令列引導載入.iso檔案

        沒有光碟,直接通過載入 iso 映象進行 ubuntu 的安裝。

好了,兩種情況都說明完成,下面說具體的方法,前提條件有3:

    1、按照連結中的方法安裝的NeoGrub

    2、將ubuntu的iso檔案複製到C盤根目錄

    3、將ubuntu的iso檔案中的/capser目錄下的vmlinuz.efi和initrd.lz檔案複製到C盤根目錄


這裡記錄的方法,均為從開機以後,進入NeoGrub引導載入器以後,也就是從介面

進入到

按照右下角提示,點 C 進入命令列模式,提示符為 grub>


兩種操作方法均在命令列中執行。

對於第一種情況,在已經安裝好的系統,僅僅不能正常的引導,可以通過如下的grub命令進入ubuntu:
root (hd0,5)
kernel /vmlinuz-3.19.0-78-generic ro quiet splash root=/dev/sda5
initrd /initrd.img-3.19.0-78-generic
boot
    root 設定工作路徑,類似於 cd,不方便的是它只能設定絕對路徑。這個命令不要怕,隨便用,在寫好 “root (hd” 後用 tab 鍵可以補全,如下圖。


    kernel 設定核心。前一條 root 命令已經將工作路徑切換到 ubuntu 的 boot 路徑下,路徑下直接輸入 /vml 進行補全即可得到核心,同時新增 ro、quiet、splash選項(設定為圖形介面,否則是命令列),設定引數 root=/dev/sda5。這裡一定要說一下這個 root 引數,也就是造成圖 “grub 命令列” 中無法找到的問題所在。這裡新增的 root=/dev/sda5 為載入 ubuntu 時的根目錄,參考下圖(使用 df -h檢視),及 / 的掛載點。然而一般的都是在 sda6。


    initrd 專業解釋為 Load an initial ramdisk for a Linux kernel image, and set the appropriate parameters in the Linux setup area in memory。

暫且繞過,我理解為啟動配置吧。

    boot 啟動系統。

而對於第二種情況,需要新安裝一個系統,通過載入 iso 的話,就要用如下命令(和連結中的一樣)

root (hd0,0)
kernel /vmlinuz.efi boot=capser iso-scan/filename=/ubuntu-14.04-desktop-i386.iso quiet splash ro locale=zh_CN.UTF-8
initrd /initrd.lz
boot


想要說明的是,必須使用 iso-scan 來載入 iso 檔案,而 kernel 命令中的 /vmlinuz.efi ,和 initrd 命令中的 /inintrd.lz ,就是從映象檔案中拷貝出來的兩個檔案,

/ubuntu-14.04-desktop-i386.iso 就是 ubuntu 映象。

這裡 / 不能少,表示工作路徑的根目錄,同時 root(hd0,0) 就是 C 盤的位置了,可以通過 ls 命令檢視其中的檔案,就知道了。

—— 對於需要安裝的同學,進去後一定要按照連結中的,先 umount 掉映象再安裝哦,否則後果自負哦。

小結一下:

其實搞了這麼久,就瞭解了兩個命令 root 和 ls,剩下的都是直接使用。 grub 命令列中的引數基本上都沒有 -- 做標識,所以注意 root 命令和 kernel 引數 root 的區別就好。

而最讓人糾結的就是路徑的確認問題,幾個地方可以注意一下(映象安裝的不涉及此問題):

1、在安裝時,進行分割槽,記錄好根目錄 / 的掛載點

2、進入系統後,使用 df -h 檢視根目錄 / 的掛載點

3、在 GRUB 命令列中可以通過 ls 檢視路徑中的檔案,從而確定工作路徑(只是一種判斷方法)



加註:

通過GRUB命令列進入UBUNTU肯定不是長久之計,當發生樓主的情況或者安裝完成後GRUB中沒有UBUNTU的GRUB資訊時,一次性永久解決的方法就是:

進入 windows 中,開啟 EASYBCD,然後新增新條目,在 Linux/BSD 選項卡下,勾選“使用EasyBCD的GRUB副本,然後點選”新增條目“即可自動搜尋並新增新的GRUB資訊。

2017/5/11 新增:

        還有一種比較麻煩的永久解決辦法,就是自己去修改WIN下面的grub檔案,由於風險較高,筆者暫時還沒嘗試,

愛冒險的朋友試成功了記得出來分享哦

相關推薦

通過 Grub 引導啟動 UBUNTU

老樣子,先分享一篇文章——用 EasyBCD 硬碟安裝 Ubuntu(適用於Windows 7/8) http://forum.ubuntu.org.cn/viewtopic.php?t=392854 本文適用人群:對GRUB沒有基礎,但是遇到與博主相同問題,同時希望對G

怎樣修復grub開機引導以及在Ubuntu中新增win7開機啟動

出自:http://blog.chinaunix.net/uid-27037833-id-3235145.html         由於裝Centos(我機子上已經有了win7和Ubuntu),結果Centos沒裝好,還把Ubuntu的引導給弄沒了。在win7 下用easy

通過Executor啟動線程比用Thread的start()更好

對象創建 code splay 大小 延時 ren mar 數量 nds java5為什麽引入Executor線程池框架 1.new Thread()的缺點 (1) 每次new Thread()耗費性能 (2) 調用new Thread()創建的線程缺乏管理,被稱為野線程,

如何修改Grub中Windows 和 Ubuntu啟動順序

執行 重啟 rmi 命令 vim 啟動順序 log bsp efault 情景: 安裝了window,然後又安裝了Ubuntu OS , 電腦打開後默認啟動Ubuntu OS 目的: 希望默認啟動Ubuntu OS 實現方式: 進入Ubuntu OS, 打開Terminal

雙系統啟動ubuntu提示grub rescue

彈出 ive col process try ado nor orm term 故障現象:error:file "/boot/grub/i386-pc/normal.mod" not found 故障分析:系統引導中未找到normal.mod文件 解決方

Ubuntu win7 雙系統修改ubunbu13.04的grub檔案更改啟動順序

1 背景介紹 之前系統是win7,突然想玩玩ubuntu,但是新系統(ubuntu13.04)裝好了之後,開機時每次都是先出現ubuntu的啟動項如下圖所示: 它預設的是從unbuntu開始啟動,但是我比較多用的是win7,於是就想修改一下,網上的教程實測有效,跟大家分享一下

ubuntu grub 調整系統啟動順序

裝了 ubuntu 11.04 和 windows 7 ,預設是 ubuntu 先啟動的。現在想改為windows7 預設啟動。 首先開啟  /boot/grub/grub.cfg  檔案 vim /boot/grub/grub.cfg   1 #   2 # DO NO

如何配置Ubuntu 16.04 GRUB 2引導載入程式

正如你所知,GRUB 2 是大多數 Linux 作業系統的預設引導載入程式。GRUB 是 GRand Unified Bootloader 的縮寫,它是 Linux 啟動時首先要載入的一個程式,此後它會負責載入並將控制權交給 Linux kernel,並由 Linux k

雙系統無法引導問題,ubuntu,16.10安裝win10後,無法啟動ubuntu

我有兩個硬碟,一個SATA一個SSD,ubuntu安裝在SATA上,然後裝的ssd的win10。 中間有個插曲,win10裝的教育版的,啟用期只有180天,想轉成專業版還不行。所以就刪了重新裝的專業版,再啟用的。 之後再開ubuntu就死活打不開,網上試了一

sql server啟動不了, MSSQL 18052錯誤: 9003,嚴重度: 20,狀態: 1 . 。sql server 2000 附加資料庫沒日誌,及安裝異常問題。無法通過IP聯結

sql server啟動不了, MSSQL 18052錯誤: 9003,嚴重度: 20,狀態: 1 .   問題現象: 系統日誌檔案(控制面板–管理工具–系統日誌) 能找到以下兩條錯誤: 17052: 無法恢復 master 資料庫。正在退出。 18052: 錯誤: 9003

shell通過程序判斷多個redis服務是否都啟動

動指令碼後,不知redis服務是否全部啟動成功,查詢了shell中許多判斷自啟動是否執行成功的方法,經測試都失敗。最終發現多種方法只能判斷shell語句指令碼是否執行成功,並不能來判斷redis服務。我開始思考,先去執行自啟指令碼,然後去判斷程序是否存在這個程序,這樣不就可以

U盤啟動 Ubuntu 等系統,修復 PBR 引導的簡單解決方法

首先看看你的U盤下有一個 syslinux 目錄 然後下載 BOOTICE 這個東西 然後開啟它,按圖依次操作: 1、選擇你的啟動盤,千萬別錯了。。。 2、MBR 3、改成 USB-HD

Ubuntu通過gitweb瀏覽原始碼

本文介紹在ubuntu下快速搭建一個git伺服器,通過gitweb來瀏覽原始碼。安裝git和openssh:sudo apt-get install git-core openssh-server openssh-client建立git使用者建立git使用者,home目錄為/

ubuntu下使用grub customizer修改啟動選項

在終端中使用以下命令安裝: sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer 在系統左

ubuntu 通過grub進入單使用者root模式,已進行密碼的修改

按任意鍵停住grub: 選擇 Advanced options for Ubuntu 再選擇:recovery mode 按e進入編輯狀態。 將linux開頭那行的"ro recovery nomodeset"改為 “rw single init=/bin/bash” (注

通過GRUB引導Windows作業系統

1、通過編輯 menu.lst 來引導Windows 系統; 如果您的Windows所處於的分割槽在(hd0,0),可以在menu.lst 加如下的一段就能引導起來了; title WinXp        rootnoverify (hd0,0)        chain

centos 7 啟動盤製作和grub rescue引導恢復

今天回頭看鳥叔的基礎篇時,發現centos在安裝階段是可以設定包括Windows在內的多重引導的,想到自己已經因為丟失啟動引導搞壞過一臺主機了,便心癢難耐想試一把,以圖真正學會,免得以後碰到發憷。在重灌的過程中遇到的問題如下: 一、啟動盤的製作。製作軟體為Ul

Android中通過反射設置Toast的顯示時間

ring margin ner manage etc short 延遲 lln sse 這個Toast的顯示在Android中的用途還是非常大的,同一時候我們也知道toast顯示的時間是不可控的。我們僅僅能改動他的顯示樣式和顯示的位置,盡管他提供了一個顯示時間的設置方法

關於Windows通過遠程桌面訪問Ubuntu

關於 啟動 驗證 運行 trac 進行 電腦桌面 service ubuntu 關於Windows通過遠程桌面訪問Ubuntu 問題及目標 Window環境通過遠程桌面訪問Ubuntu Ubuntu機器端 1、 安裝所需軟件包 sudoapt-get

老男孩教育每日一題-第66天-通過Iptables限定apache每秒鐘連接數為1,峰值為3

防火墻 iptables 每日一題 題目通過Iptables來限定apache每秒鐘連接數為1,峰值為3參考答案iptables -A INPUT -d 172.16.100.1 -p tcp --dport -m limit --limit 1/second --limit-burst -j