grub啟動linux
❶ 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 回車啟動
❷ grub 命令行啟動Linux
電腦上已有別的分區,裝這個系統的時候也可以選擇安裝grub啊……
你是想用grub4dos來啟動RHEL是吧?
titile
RHEL
root
(hd0,2)
kernel
/boot/vmlinuz-2.6.30-0.2.rdt.rhfc3.ccrma
ro
root=/dev/hda3
vga=792
quiet
lapic
initrd
/boot/initrd-2.6.30-0.2.rdt.rhfc3.ccrma.img
不清楚你裝的具體的內核版本是多少,所以不知道上面的kernel行和initrd行該怎麼改。不過只要和你安裝的一樣版本的就應該是一樣的。你安裝的分區在第三個主分區,所以root行是(hd0,2),kernel行
root=/dev/hda3或者root=/dev/sda3(看你是什麼介面的硬碟啦……)
只有這里有影響。你看看鏡像文件中的內核版本是多少,然後相應的改一改試試吧……
❸ 如何運用grub來引導Linux系統
grub> 提示符下也可以找到啟動文件進行引導的
比如你只有一硬碟且有兩個分區/dev/hda1和hda2,掛載點分別是/boot和/,由於vmlinuz經常放在/boot下所以直接在grub後輸入
kernel (hd0,0)/vmlinuz
即此時屏幕上應顯示為 grub>kernel (hd0,0)/vmlinuz
然後再按TAB,這樣它會把vmlinuz開頭的文件列出來,甚至補全(通常不是vmlinuz而是像vmlinuz-2.6.19-el.smp這樣長的,所以要用好TAB)
如果只輸入 (hd0,0)/ 就TAB它就把當前分區根目錄的文件全顯示 出來
如果只輸入 (hd0, 就TAB。。。它會提示你有哪些分區可以用。。。
扯遠了,反正用類似的方法,寫出一整行
kernel (hd0,0)/vmlinuz-xxxxxxx 回車
它會提示這是什麼文件,表示載入成功
同樣寫出 initrd(hd0,0)/initrd-xxxxxx回車
然後 再打 boot 回車,正常情況下會進得了系統
❹ 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文件.
❺ U盤啟動器grub 安裝linux
1、要讓U盤可以啟動系統。
有兩個操作,一個是設置bios讓主板從USB HDD或是USB ZIP啟動,另一個是將U盤製作成啟動U盤。
2、把grub4dos裝到U盤中
這一步需要grub4dos這個軟體,將其解壓縮,找到兩個文件:grub.exe、grldr、menu.list,將這兩個文件復制到U盤的根目錄中,此時根目錄中已經有很多文件了,其中包括DOS系統文件和DiskGenius的一些文件,我的目的是裝系統,所以DiskGenius文件並不需要,但我發現這個軟體真的很好噢
2、把grub4dos裝到U盤中
這一步需要grub4dos這個軟體,將其解壓縮,找到兩個文件:grub.exe、grldr、menu.list,將這兩個文件復制到U盤的根目錄中,此時根目錄中已經有很多文件了,其中包括DOS系統文件和DiskGenius的一些文件,我的目的是裝系統,所以DiskGenius文件並不需要,但我發現這個軟體真的很好噢。
圖6 U盤中的文件
3、Linux啟動文件
從iso中將vmlinuz、initrd.gz(文件位置iso/image/boot.iso/isolinux)這兩個文件解壓縮出來,放在U盤中的boot文件夾下。
修改menu.list文件,在最後面加上下面幾行,這幾行代表什麼意思應該不用多說拉,使用過Grub的都有經驗。
title Linux Install Setup
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hda1
initrd /boot/initrd.img
4、啟動電腦
接下來的事兒就是啟動電腦,正常的情況是走到步驟1的結尾,就是有DOS提示符的那裡(如下所示),此時輸入命令grub即可。
C:\>grub
啟動後是GRUB4DOS的啟動界面,最後一行就有我們修改過的標題Linux Install Setup。選擇這個標題開始booting。
接下來就是一系列的文字界面對話框,選擇語言、鍵盤類型。
之後出來的對話框是比較有用地,Installation Method,也就是安裝方法,有以下幾種:
Local CDROM
Hard drive
NFS image
FTP
HTTP
這里我用的是Hard drive,之前已經將安裝的iso文件復制到U盤中。
接下來是選擇iso在哪個盤里,根據不同電腦的情況這里就不一樣拉,自己看著辦嘍。
例如:
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sdb1 ------u盤位置,選擇
順便說一下吧,如果有配置伺服器的話也可以用下面三種方式安裝,這在裝多台機器的時候能體會到便利之處。再往下就是正常安裝系統拉。
❻ 如何用GRUB引導LINUX
步驟如下:
a 進入grub的命令模式。進入grub界面後按C鍵進入命令行界面。
b 先熟悉一下grub 的一些命令 grub>help
c 熟悉一下cat命令
d root指令來指定/boot所在的分區
e kernel指令來指定linux的內核,及所在的分區
f 用initrd命令來指定initrd文件
g boot引導系統
cat命令的用法
cat指令是用來查看文件內容的,有時不知道Linux的/boot分區,以及/根分區所在的位置,要查看/etc/fstab的內容來得知, 這時,就要用到cat (hd[0-n],y)/etc/fstab 來獲得這些內容;注意要學會用tab鍵命令補齊的功能;
grub> cat ( 按tab 鍵會出來hd0或hd1之類的;
grub> cat (hd0, 註:輸入hd0,然後再按tab鍵;會出來分區之類的;
grub> cat (hd0,6)
Possible partitions are:
Partition num: 0, Filesystem type unknown, partition type 0x7
Partition num: 4, Filesystem type is fat, partition type 0xb
Partition num: 5, Filesystem type is reiserfs, partition type 0x83
Partition num: 6, Filesystem type is ext2fs, partition type 0x83
Partition num: 7, Filesystem type unknown, partition type 0x83
Partition num: 8, Filesystem type is reiserfs, partition type 0x83
Partition num: 9, Filesystem type unknown, partition type 0x82
grub> cat (hd0,6)/etc/fstab 註:比如我想查看一下 (hd0,6)/etc/fstab的內容就這樣輸入;
LABEL=/ / ext3 defaults 1 1
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,
managed 0 0
主要查看/etc/fstab中的內容,主要是Linux的/分區及/boot是否是獨立的分區;如果沒有/boot類似的行,證明/boot和 Linux的/處於同一個硬碟分區;比如上面的例子中LABEL=/ 這行是極為重要的;說明Linux系統就安在標簽為LABEL=/的分區中;
如果您的Linux系統/boot和/沒有位於同一個分區,可能cat (hd[a-n],y) 查到的是類似下面的;
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
root (hd[0-n,y) 指令來指定/boot所在的分區;
其實這個root (hd[0,n],y)是可以省略的,如果省略了,要在kerenl 命令中指定;前面已經說過 (hd[0-n],y) 硬碟分區的表示方法的用途;主要是用來指定 /boot所在的分區;
eg:
grub> root (hd0,0)
kernel 指令,用來指定Linux的內核,及/所在的分區;
kernel 這個指令可能初學者有點怕,不知道內核在哪個分區,及內核文件名的全稱是什麼。不要忘記tab鍵的命令補齊的應用;
如果已經通過root (hd[0-n],y) 指定了/boot所在的分區,語法有兩個:
如果/boot和Linux的/位於同一個分區,應該是下面的一種格式;
kernel /boot/vmlinuz在這里按tab鍵來補齊,就看到內核全稱了 ro root=/dev/hd[a-z]X
如果/boot有自己獨立的分區,應該是;
kernel /vmlinuz在這里按tab鍵來補齊,就看到內核全稱了 ro root=/dev/hd[a-z]X
在這里 root=/dev/hd[a-z]X 是Linux 的/根所位於的分區,如果不知道是哪個分區,就用tab出來的來計算,一個一個的嘗試;或用cat (hd[0-n],y)/etc/fstab 中得到Linux的/所在的分區或分區的標簽;
grub> kernel /boot/在這里按tab鍵;這樣就列出/boot中的文件了;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369
_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK memtest86+-1.55
.1 xen-syms xen.gz
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
註解: root=LABEL=/ 是Linux的/所在的分區的文件系統的標簽;如果您知道Linux的/在哪個具體的分區,用root=/dev/hd[a-z]X來指定也行。比如下面的一行也是可以的;
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
也可以把/boot所在的分區的指定 root (hd[0-n],y)這行省掉,直接在kernel 中指定/boot所在的分區;所以就在下面的語法;
如果是/boot和Linux的根同處一個分區;
kernel (hd[0-n],y)/boot/vmlinuz ro root=/dev/hd[a-z]X
比如:
grub>kernel
如果是/boot和Linux所在的根不在一個分區;則是;
kernel (hd[0-n],y)/vmlinuz ro root=/dev/hd[a-z]X
grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
[Linux-bzImage, setup=0x1e00, size=0x18e473]
或下面的輸入,以cat 出/etc/fstab內容為准;
grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
initrd 命令行來指定initrd文件;
grub> initrd /boot/initrd在這里tab 來補齊;
grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
如果/boot是獨立的一個分區,應該是如下樣子的語法;比如下面的;
grub> initrd /initrd在這里tab 來補齊;
grub> initrd /initrd-2.6.11-1.1369_FC4.img
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
boot 引導系統;
grub>boot
下面是在我機器上的命令:
grub> cat (hd0,0)/etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /boot/在這里按tab補齊,全列出/boot所有的文件;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4
memtest86+-1.55.1 xen-syms xen.gz
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
grub> initrd /boot/在這里按tab補齊
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK
memtest86+-1.55.1 xen-syms xen.gz
grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img 注;輸入intrd文件名的全名;
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
grub> boot
❼ 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命令行及修改
1、在啟動linux系統時,如果/boot/grub/grub.cfg文件損壞或者不存在時,啟動linux時,就會有Grub命令行的提示。
如下操作,將系統自帶的grub.cfg文件改名。
2、重新啟動系統後,發現和自己預想的一樣,沒有出現引導菜單。
3、在grub命令提示符下,可以使用一些命令載入內核和文件系統,設置根目錄的分區。
有的grub使用
linux
/boot/vmlinuz-xx
有的grub使用kernel
/boot/vmlinuz-xx,可自己輸入一個首字母,按TAB鍵查看,演示的grub支持的是linux命令
4、過一會出現下面的界面。
->
sudo
update-grub
->sudo
grub-install
/dev/sda
輸入這兩個命令後,新的grub.cfg就生成了,跟之前文件的一樣(前提是沒有對文件做任何更改)。
❾ linux grub啟動如何進入單用戶模式
在grub引導下,系統啟動後,出現grub的引導菜單,用上下健選中所要啟動的linux系統,然後按字母「e」,進入編輯模式。之後再選中系統的啟動內核項(如:kernel
(hd0,0)/boot/vmlinuz
or
root=/dev/hda1
)再次按字母「e」,出現grub>提示,
如下:grub>kernel
(hd0,0)/boot/vmlinuz
or
root=/dev/hda1
在上面的hda1後空一格,輸入init
n(init
和n之間有空格,其中n為要求系統進入的運行級別,1
為單用戶模式,在這個模式下默認root用戶登陸,不要求密碼,所以可以在忘記root密碼的情況下在這里修改root用戶的密碼,2
為多用戶文本模式(沒有nfs),3
為完整的多用戶模式(文本),5
為xwindows模式)
完成後如下:
然後回車確認,自動返回前一頁面,然後再按字母「b」啟動系統就可以以修改後的運行級別進入系統,(在這里的修改隻影響本次啟動,不會修改系統的/etc/inittab文件)。
❿ Linux如何啟動流程Linux啟動流程詳解
當用戶打開電源後,BIOS開機自檢,確定啟動設備,安裝啟動設備,啟動設備上面安裝的GRUB開始引導Linux,Linux首先先進行內核引導,通過跟切換,執行init程序,init程序確定啟動級別,根據啟動級別進行系統初始化和運行的服務,然後返回init啟動終端,用戶通過驗證成功登陸Shell,這就是一個從開機到登陸的啟動過程。
一、硬體引導啟動
當用戶打開電源後POST開始自檢,檢測硬體設備是否確實或者存在故障(是否影響正常開機),如果不影響正常開機,就把任務交給BIOS。BIOS通過搜索,安裝啟動確定啟動設備,啟動項為硬碟,BIOS去讀取硬碟的前512位元組到內存,找到BootLoader,確定GRUB
二、GRUB引導啟動內核
這一部分概況起來就是:GRUB程序載入執行並開始引導kernel程序
Boot Loader就是在操作系統內核運行之前運行的一小段程序。通過GRUB引導可以確定內核程序,因為引導扇區只有446位元組,GRUB只是一個小的程序安裝在裡面,真正使用的在MBR後面的扇區存放,我們想使用Bootloader GRUB功能必須讀取後面的文件,Bootloader GRUB功能程序的運行和載入配置選項分為三個階段
Stage1階段:
Stage1階段其實就是執行系統安裝時預先寫入到MBR的Bootloader中的程序。
Stage1階段的任務僅是將硬碟0柱面0磁軌2扇區的內容讀入內存並執行,它是Stage1.5階段或Stage2階段的入口,引導進入Stage1.5階段或Stage2階段。 在此Stage1階段,還沒有識別文件系統的能力。
Stage1.5階段:
stage1.5階段是stage1階段和stage2階段的中間橋梁。stage1.5階段具有識別啟動分區文件系統的能力,此後GRUB程序便有能力去訪問/boot分區下/grub目錄下的 stage2文件,並將stage2載入內存執行。
Stage2階段
Stage2階段執行時,首先會解析GRUB程序的配置文件grub.conf,並依配置文件決定是否顯示系統啟動菜單。然後載入內核鏡像到內存中,通過initrd程序建立RAMDisk內存虛擬根文件系統。此時控制權將轉交給內核程序。
三、內核引導啟動
這一部分主要是通過在內存中建立虛擬根文件系統實現相關設備的驅動並建立和切換到真正的根文件系統。
解壓內核鏡像載入到內存,以及initrd程序建立RAMDisk內存虛擬根文件系統後,內核開始驅動基本硬體,並調用虛擬根文件系統中的init程序載入驅動模塊初始化系統中各種設備的相關配置工作,其中包括CPU、I/O、存儲設備等。當所需的驅動程序載入完後,會根據grub.conf配置文件中「root=XXX」部分所指定的內容創建一個根設備,然後將根文件系統以只讀的方式掛載,並切換到真正的根文件系統上,同時調用系統進程的/sbin/init程序,進入系統初始化階段。
四、系統初始化
這一步是通過/sbin/init,init程序准備軟體運行壞境,啟動系統服務
通過/etc/inittab文件確定運行級別,然後去執行系統初始化腳本/etc/rc.sysinit,為用戶初始化用戶空間環境,在完成初始化後,根據運行級別,系統開始對應級別的目錄啟動服務,關閉那些不要的服務(裡面S99local -> ../rc.local)用戶自動服務啟動腳本
運行級別:為系統運行或維護等目的而設定;0-6:7個級別
0:關機
1:單用戶模式(root自動登錄), single, 維護模式
2: 多用戶模式,啟動網路功能,但不會啟動NFS;維護模式
3:多用戶模式,正常模式;文本界面
4:預留級別;可同3級別
5:多用戶模式,正常模式;圖形界面
6:重啟
默認級別:3, 5
切換級別:init #
查看級別:runlevel ; who -r
五、啟動終端,用戶登錄
這一步是用戶登錄shell過程
如果沒有改變級別,默認情況執行/sbin/mingetty打開6個純文本終端,讓用戶輸入用戶名和密碼。輸入完成後,再調用login程序,核對密碼。如果密碼正確,就從文件 /etc/passwd 讀取該用戶指定的shell,然後啟動這個shell。更多Linux介紹請查看《Linux就該這么學》。