當前位置:首頁 » 操作系統 » grub命令行啟動linux

grub命令行啟動linux

發布時間: 2023-12-07 09:39:12

『壹』 linux redhat 開機後直接進入grub界面。提示信息為:minimal BASH-like editing is supported.

linux redhat 開機後直接進入grub界面,是設置錯誤造成的,解決方法如下:

1、首先啟動centos7電源,在下面圖形化界面處按下空格,讓系統停止在此界面,一般此界面默認時間為5秒。

『貳』 linux開機如何進入grub界面

我不知道大家為什麼都說按esc鍵,我按esc鍵就沒有任何反映,重點是一定要用滑鼠把虛擬機當前系統窗口點為激活狀態,也就是說虛擬機系統窗口看不到滑鼠了,然後你再按「任意鍵」就可以進入可選菜單了,說一下我的環境

  • VMware15Pr 安裝在win10操作系統上

  • CentOS 5.11 安裝 在VMware虛擬機上

從虛擬機開啟linux想要進入啟動時的grub需要注意幾個點:啟動菜單是否配置好,手速是否夠快,系統藍色窗口是否被滑鼠激活等,說明如下~~

  1. /boot/grub/menu.lst(或者/boot/grub/grub.conf),此文件是否timeout參數設置過小,默認是5秒,如果你手速不夠快的話,可以改成10或者20秒。不夠快的話系統會默認進入可選菜單的第一項

  2. hiddenmenu參數默認開啟,也就是說默認菜單選擇界面是不顯示的,只顯示藍色界面(當然你手速夠快也沒啥大問題),如果想開機顯示可選菜單就把這個參數給注釋掉,前面加上# 變成 #hiddenmenu

  3. 以上都沒有問題後,在藍色界面出現時按任意鍵就能夠進入可選菜單,這時按下方界面說明 按e、a、c、b等鍵可進行grub命令控制或者修改你的menu.lst文件

『叄』 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

『肆』 如何用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

熱點內容
奇駿哪個配置性價比 發布:2024-11-29 22:25:21 瀏覽:702
漢娜資料庫 發布:2024-11-29 22:25:17 瀏覽:703
伺服器和收銀機怎麼連接 發布:2024-11-29 22:24:11 瀏覽:608
關鍵詞排名源碼 發布:2024-11-29 22:22:03 瀏覽:72
禪道伺服器ip是什麼 發布:2024-11-29 22:22:02 瀏覽:808
參貪心演算法 發布:2024-11-29 21:54:24 瀏覽:340
php統計數組元素 發布:2024-11-29 21:46:08 瀏覽:195
健康和解壓哪個重要 發布:2024-11-29 21:40:07 瀏覽:749
聯通網的密碼去哪裡找 發布:2024-11-29 21:38:57 瀏覽:849
jscookie加密 發布:2024-11-29 21:33:03 瀏覽:40