linux進入grub
⑴ 如何由linux進入grub
出現grub?
那你的系統還沒有啟動啊,grub只是一個引導程序。
一般情況下你要告訴grub你需要啟動那個驅動器的系統。
如果你的windows系統是安裝在c盤的
那麼你可以這樣啟動你的系統:
grub>rootnoverify
(hd0,0)
grub>chainloader
+1
就可以進入windows系統了。
如果你確定你安裝了linux的話,你需要制定
kernel
和
initrd
文件。
如下:
grub>kernel
(hd0,x)/boot/vmlinuz
ro
root=label=/1
(如果你不知道你的linux安裝在哪兒了,你只需要輸入到"(hd0,
"然後你按tab鍵,系統會自動列出你當前盤中的分區信息,一般linux都是安裝在第一個ext3分區的。假如是(hd0,2),你把x替換成2就可以了,下面同理)
grub>initrd
(hd0,x)/boot/initrd.img
grub>boot
就可以了,其中的x代表你安裝linux的分區。
⑵ linux下啟動按什麼鍵進入grub選項
方向鍵,進入grub選擇項
按E編輯啟動菜單
編輯完畢回車返回grub菜單
按B啟動linux
如果在grub菜單下按C直接進入grub命令行
⑶ Linux怎麼進入grub啟動菜單
對於此類問題可用如下方法解決:
1.可用光碟機或U盤引導系統到純DOS下(做U盤引導盤應該會吧)
2.在C:\下用dir/p/a查找是否有boot.ini文件(都在操作系統盤內)
3.找到boot.ini文件後用edit
boot.ini命令編輯文件
4.一般出現這種現象時boot.ini文件內容會有c:\grub或\boot\grub等內容.可參照另外一台與你電腦操作系統相同的電腦的boot.ini文件修改,需注意字元別錯了.
如是XP
專業版系統也可按如下修改:
[boot
loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating
systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft
Windows
XP
Professional"
/noexecute=optin
/fastdetect
本行不是,上文中最後兩行在boot.ini中是一行,注意字元和空格別錯了
5.改後存檔,重啟即可回到XP.
有幾點需注意:1.光碟或U盤必須能引導到純DOS下
2.boot.ini文件可能含有系統.隱藏.只讀等屬性,可用attrib命令修改後執行編輯.
3.也可將用於參照的boot.ini文件到U盤,再覆蓋你電腦的boot.ini文件.
⑷ Linux 修復grub開機引導(ubuntu)
問題 : 有時候Linux系統/boot分區損壞時,啟動Linux系統時直接進入字元介面的grub引導,並沒有進入到系統或者開機顯示 error:unknow filesystem提示
解決辦法:
Linux開機自動會進入到grub引導介面(如果沒進入到grub引導介面可以按C鍵進入)
第一步:找到系統對應的扇區及/boot/grub目錄
注意 :假設是硬碟介面類型sd,hd0對應是sda hd1對應是sdb
(hd0)≠(hd0)
(hd1,gpt2)=(hd1,2)
ls (hd1,gpt2) 查看(hd1,gpt2)扇區信息(盤符、空間等)
ls (hd1,gpt2)/ 查看(hd1,gpt2)扇區下的內容(文件、文本等)
如果列印每個扇區目錄信息,會出現兩種情況:
1、ls (hd1,gpt2)顯示Unknow filesystem提示說明這個扇區不是我們要找系統分區
2、ls (hd1,gpt2)顯示/boot /proc等系統目錄信息說明這個扇區是我們要找的系統分區
如果找到對應扇區的系統分區,可能會遇到兩種情況:
1、 A目錄下有/boot/grub
2、A目錄下有/boot,B目錄下有/grub (此時在第二步載入系統內核要使用 set prefix=(hd1,gpt2)/grub 命令)
grub > ls
(hd0), (hd1), (hd1, gpt1), (hd2,gpt2), (hd3, gpt3)
第二步:載入系統內核
grub > set root=hd1,2 #此處不需要括弧,加括弧也可以,hd0和hd1是有區別
grub > set prefix=(hd1,2)/boot/grub
grub > linux /vmlinuz root=/dev/sdb2 #vmlinuz必須使用TAB補全(可能有後綴),注意sda或sdb需要看自己的實際情況
grub > initrd /initrd.img-xxx #TAB補全,多內核情況下版本需統一
grub > boot
提示 :如果在boot之後不幸進入BusyBox,說明參數設置有問題,可以仔細查看出錯的日誌,再重啟系統後重復執行第二步操作(重啟系統後上面設置的參數會被清空)。
第三步:修改grub引導
如果成功進入系統,記得要馬上信息grub引導,不然重啟系統後問題還是存在
sudo update-grub2 #grub2命令(高版本使用grub2)
$ sudo grub-install /dev/sdb
第四步:重啟系統
重啟系統後即可正常進入系統
reboot
⑸ linux出現grub
解決的辦法,如下: 首先確定自己當初在安裝linux時有沒有創建/boot分區:
1、如果當初裝系統時創建了/boot分區,那麼先輸入:
grub rescue>ls
屏幕上會顯示很多個分區,例如:
sda:(hd0,msdos1),
(hd0,msdos2),
(hd0,msdos3),
(hd0,msdos4)......
然後輸入ls (hd0,msdos*)/
找出哪一個是/boot的分區
<註:*是一個通配符>
直到嘗試某一個數字,假設是6,(我的電腦就是6)後有顯示:
.../grub.../grub2
如果電腦是fedora16,17,那麼下面的代碼就是這樣:
grub rescue>root=(hd0,msdos6)
grub rescue>prefix=/grub2
grub rescue>set root=(hd0,msdos6)
grub rescue>set prefix=(hd0,msdos6)/grub2
grub rescue>insmod normal
grub rescue>normal
然後就進入了熟悉的grub界面,就能夠順利的引導系統了 (因為fedora16,17後就是用grub2了,原來的grub是不行的)
如果是其他的系統(ubuntu......)則好像是grub
因為本人的是fedora17的系統,所以對ubuntu不是很清楚,但當你無奈的時候可以嘗試一下
2、如果當初沒有創建/boot分區,那麼:
雖然也是使用的ls (hd0,msdos*)/命令,但是這回查找的就不是/boot分區,而是/主分區了
使用ls (hd0,msdos*)/,直到下面顯示有: ......./boot......
假設主分區是7,(我的電腦是7) 若是fedora16,17系統 那就應該輸入如下命令:
grub rescue>root=(hd0,msdos7)
grub rescue>prefix=/boot/grub2
grub rescue>set root=(hd0,msdos7)
grub rescue>set prefix=(hd0,msdos7)/boot/grub2
grub rescue>insmod normal
grub rescue>norma
然後就ok了。
請注意:fedora16,17一定是grub2,而不是grub,網上有很多都是說的grub,應該是針對別的linux而言的
當進入了自己的linux系統之後,還得要更新一下自己的grub,如果不更新的話以後每次開機時都需要輸入這么一大段代碼
⑹ linux系統管理之grub引導
什麼是GRUB
GNU GRUB 是一個多重操作 系統 啟動管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而來。GRUB 最初由Erich Stefan Boleyn 設計和應用;
系統啟動引導管理器,是在計算機啟動後運行的第一個程序,他是用來負責載入、傳輸控制到操作系統的內核,一旦把內核掛載,系統引導管理器的任務就算完成退出,系統引導的其它部份,比如系統的初始化及啟動過程則完全由內核來控制完成;
Linux 中GRUB的配置文件
grub的配置文件位於/boot/grub/grub.conf其內容如下。
default=0 //默認啟動的內核或者說默認啟動的操作系統,0表示的是第一個內核或者操作系統,依次往後排(title所指定的那一項,第一個title是0,第二個是1,依次)
timeout=5 //默認的超時時間,這里定義的是5秒,如果5秒沒有選擇,默認啟動第一個內核或者說是第一個操作系統
splashimage=(hd0,0)/grub/splash.xpm.gz //指定grub的背景圖片,因為grub是系統開機後,運行系統所必須運行的第一個程序,所以,系統所自帶的文件系統還沒有被掛載,好在grub可以直接訪問磁碟文件,grub所識別的硬碟跟linux系統的不太一樣,grub認為,所有的磁碟都是hd的,而系統則不是。所以這里是(hd0,0),第一個0表示的是第一塊硬碟,第二個0表示的是第一個分區。如果要引用磁碟設備,要用括弧括起來,所以這里有一個括弧。
hiddenmenu //隱藏grub菜單,如果有這一項,我們將看不到grub的菜單,只能看到grub的背景圖片,然後上面出現了一個 please any key to enter the menu 下面是 Booting <default=0指定的,默認是第一個title的內容> in <timeout=N 超時時間設置>... 這樣子。具體的看下面的圖

然後可以通過按任意鍵,進入grub的菜單。如果有多個內核的話,我們可以選擇啟動哪一個內核。下圖是grub的菜單

下面的英文內容,相信大家也看得懂。我就不多說了。通過編輯這里的grub菜單,我們可以直接進入單用戶模式,然後修改密碼。忘記密碼的時候,可以試下這個方法。
title Red Hat Enterprise Linux Server (2.6.18-164.el5) //這就是一個標題,就是Grub菜單上所顯示的內容,title關鍵字後面的內核,可以隨便寫,為了方便識別,建議還是寫一些可以從字面意義看出是什麼操作系統或者內核的文字描述。
root (hd0,0) //把hd0,0設置為根目錄,方便訪問.設置文件訪問的起始點,這里設置的根,是grub的根。
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet //指定內核文件,在內核後面跟的root,指的是操作系統的根目錄在哪兒. rhgb是redhat的一個小工具,顯示各種輸出的信息,包括硬體的初始化,quit表示是靜默模式,不輸出信息.啟動系統的時候會卡一下,然後出現redhat就是因為沒有顯示rhgb小程序的輸出信息.
initrd /initrd-2.6.18-164.el5.img //可以認為這是一個驅動程序,系統剛開機的時候,Grub第一個啟動,要掛載文件系統,就要從文件系統裡面讀取驅動,如果驅動在內核裡面還好,如果不在內核裡面了,那不就……所以,這個可以認為是一個驅動。其實,他是一個微小的linux系統,這個系統裡面,只包含了驅動程序,沒有其它文件。可以先把它重命令為.gz的,然後解壓,解壓後再用cpio解壓,就可以看到其內容了。目錄結構跟你的linux系統是一樣的,只不過沒有文件,只有驅動程序而已。
剛才說過,可以直接通過這里改密碼,這樣是很不安全的。也就是說,如果別人能接觸到我們的物理伺服器,他就可以直接更改我們系統的密碼,所以,我們可以給grub 加密 碼,加密碼的方法就是直接在grub.conf中指定,可以用關鍵字password 後面跟密碼來實現,但是這樣的密碼是明文的,也不安全,所以我們可以用password --md5 通過grub的md5加密工具來加密,然後寫到password --md5的後面。grub的md5加密工具是grub-md5-crypt ,直接使用這個命令,輸出密碼,然後會生成一段MD5加密後的值,寫到關鍵字後面就可以實現md5加密grub了。
寫的位置的不同,加密的效果也就不一樣,我們可以寫到一個title裡面,只對指定的內核或者說操作系統來加密,當啟動該內核或者系統的時候,會要求用戶輸入grub的密碼。當寫在所有的title外面的時候,編譯grub菜單的時候,會要求輸入密碼,這時候密碼先按p鍵輸入密碼,然後再按e鍵,才能編輯。
手動安裝GRUB
安裝grub有兩種方法可以使用。下面進入詳細的介紹,如果某些地方說的不太准確,希望大家能夠提出,TKS
第一
可以使用grub-install命令來進行安裝,具體方法是
grub-install --root-directory=/要安裝到哪個目錄 /要安裝的設備
例:我這里用 虛擬機 演示一下,新加了一塊磁碟,然後分區格式化(該操作不演示),然後掛載,然後用命令安裝,如下圖
x
注意:這里掛載點一定是boot目錄,可以不是/mnt,但最後掛載的目錄名字,一字叫boot,不然會出問題的。還有安裝的時候--root-directory=一定不要指定到boot目錄,要指定到boot所在的目錄,因為grub安裝的時候,會去找boot目錄,如果找不到,會報錯的。當我們把盤掛載到boot之後,可以認為,該盤的名字就叫boot,所以,它會在該盤內寫入bootloader,以引導系統,如果我們安裝的時候指定到了boot,那麼就是把bootloader的內容寫到了文件裡面,而不是硬碟的MBR。切記切記。我做了好多次都沒做出來,就是犯了這個錯。
安裝完成後,我們新建一個虛擬機,創建磁碟的時候,使用已有磁碟,找到我們安裝過grub的磁碟,然後使用之即可。開機之後,會驚喜的發現,出現了grub的提示符。

第二種方法(有點兒麻煩):
首先把 /usr/share/grub/i386-redhat/里的所有文件,拷貝到grub目錄
注意:這里同上,一定要掛載到boot目錄下,無論boot目錄在哪

然後開始grub的安裝,直接使用命令grub

root (hd2,0) 表示grub要安裝到第三塊硬碟第1個分區上
setup (hd2) 指定要安裝的設備,設備為第二塊硬碟,安裝完成後quit命令退出就可以了,至於圖片,我就不上了,絕對是可以的。
⑺ linux開機如何進入grub界面
我不知道大家為什麼都說按esc鍵,我按esc鍵就沒有任何反映,重點是一定要用滑鼠把虛擬機當前系統窗口點為激活狀態,也就是說虛擬機系統窗口看不到滑鼠了,然後你再按「任意鍵」就可以進入可選菜單了,說一下我的環境
VMware15Pr 安裝在win10操作系統上
CentOS 5.11 安裝 在VMware虛擬機上
從虛擬機開啟linux想要進入啟動時的grub需要注意幾個點:啟動菜單是否配置好,手速是否夠快,系統藍色窗口是否被滑鼠激活等,說明如下~~
/boot/grub/menu.lst(或者/boot/grub/grub.conf),此文件是否timeout參數設置過小,默認是5秒,如果你手速不夠快的話,可以改成10或者20秒。不夠快的話系統會默認進入可選菜單的第一項
hiddenmenu參數默認開啟,也就是說默認菜單選擇界面是不顯示的,只顯示藍色界面(當然你手速夠快也沒啥大問題),如果想開機顯示可選菜單就把這個參數給注釋掉,前面加上# 變成 #hiddenmenu
以上都沒有問題後,在藍色界面出現時按任意鍵就能夠進入可選菜單,這時按下方界面說明 按e、a、c、b等鍵可進行grub命令控制或者修改你的menu.lst文件
⑻ linux開機grub>命令修復方法
出現grub rescue模式一般是硬碟分區出現變動、導致舊的grub找不到啟動文件而出現的。
出現錯誤具體原因未知,但開機不能引導肯定是grub配置文件出錯,/boot/grub2/grub.cfg
解決方法:
2,grub> 模式下:
輸入:ls 查看所有磁碟分區:hd。x,x......
用:ls hd(x,x)/grub 找grub所在的分區,有正確執行結果的便是
找到linux所在分區後執行:
set prefix=hdx,x/grub
set root=hx,x
insmod normal
再使用normal命令進入系統後,再修復grub 配置。
or:
查找boot分區:
find /boot/grub/menu.lst 或者 find /boot/grub2/grub.cfg
輸入以下命令:
cat hd0,7/boot/grub/grub.conf
關於內核信息的,看一下就明白了。
按照下面命令依次輸入
指定/boot分區使用命令:
grub>root hd0,0
grub>kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet 回車
grub>initrd /boot/initrd-2.6.18-53.el5.img 回車
boot 回車啟動