linuxgrub命令
① 如何在linux上通過GRUB添加內核參數
如果你想在系統啟動時載入一個內核參數,需修改GRUB的配置模板(/etc/default /grub),添加"名稱=值」的鍵值對到GRUB_CMDLINE_LINUX變數,添加多個時用空格隔開,例如GRUB_CMDLINE_LINUX="...... name=value"(如果沒有GRUB_CMDLINE_LINUX變數時,用GRUB_CMDLINE_LINUX_DEFAULT替代即可).
1. Debian or Ubuntu
$ sudo update-grub //生成grub的配置文件
$ sudo apt-get install grub2-common //沒有 update-grub命令時,先運行這個安裝命令
2. Fedora or CentOS7
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg //生成grub2的配置文件
$ sudo yum install grub2-tools.x86_64 //沒有grub2-mkconfig命令時,先安裝grub2-tools
帶EFI的系統,grub.cfg文件會是在/boot/efi下,比如CentOS7:/boot/efi/EFI/centos/grub.cfg
② linux下怎麼修改grub.cfg
一、grub2的啟動配置文件grub.cfg
grub2的啟動配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。
如果你是多系統,有Ubuntu和windows,那麼用下面的命令,可以使grub2得到所以可以啟動的系統。
sudo update-grub
實際就是讓系統自己生成合適的grub.cfg文件。
這個grub.cfg文件是只讀屬性,so如果你要修改它,需要許可權。
sudo chmod +w /boot/grub/grub.cfg
然後可以編輯grub.cfg了。
sudo gedit /boot/grub/grub.cfg
二、默認系統和等待時間
1、set default=0
這是說從第一項啟動。每個啟動項都是以menuentry開始,menuentry後面「xxx」是啟動項名稱,然後{xxx}是啟動代碼。
### BEGIN /etc/grub.d/10_linux ###menuentry 「Ubuntu, Linux 2.6.31-14-generic」 {recordfail=1if [ -n ${have_grubenv} ]; then save_env recordfail; fiset quiet=1insmod ext2set root=(hd0,6)search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splashinitrd /boot/initrd.img-2.6.31-14-generic}menuentry 「Ubuntu, Linux 2.6.31-14-generic (recovery mode)」 {recordfail=1if [ -n ${have_grubenv} ]; then save_env recordfail; fiinsmod ext2set root=(hd0,6)search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro singleinitrd /boot/initrd.img-2.6.31-14-generic}### END /etc/grub.d/10_linux ###### BEGIN /etc/grub.d/20_memtest86+ ###menuentry 「Memory test (memtest86+)」 {linux16 /boot/memtest86+.bin}menuentry 「Memory test (memtest86+, serial console 115200)」 {linux16 /boot/memtest86+.bin console=ttyS0,115200n8}### END /etc/grub.d/20_memtest86+ ###### BEGIN /etc/grub.d/30_os-prober ###menuentry 「Microsoft Windows XP Home Edition (on /dev/sda1)」 {insmod ntfsset root=(hd0,1)search –no-floppy –fs-uuid –set 5c108a1c1089fd70drivemap -s (hd0) ${root}chainloader +1}if keystatus; thenif keystatus –shift; thenset timeout=-1elseset timeout=10fielseif sleep$verbose –interruptible 3 ; thenset timeout=10fifi### END /etc/grub.d/30_os-prober ###### BEGIN /etc/grub.d/10_linux ###
menuentry 「Ubuntu, Linux 2.6.31-14-generic」 {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry 「Ubuntu, Linux 2.6.31-14-generic (recovery mode)」 {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 「Memory test (memtest86+)」 {
linux16 /boot/memtest86+.bin
}
menuentry 「Memory test (memtest86+, serial console 115200)」 {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 「Microsoft Windows XP Home Edition (on /dev/sda1)」 {
insmod ntfs
set root=(hd0,1)
search –no-floppy –fs-uuid –set 5c108a1c1089fd70
drivemap -s (hd0) ${root}
chainloader +1
}
if keystatus; then
if keystatus –shift; then
set timeout=-1
else
set timeout=10
fi
else
if sleep$verbose –interruptible 3 ; then
set timeout=10
fi
fi
### END /etc/grub.d/30_os-prober ###
我 的第五個啟動項是menuentry 「Microsoft Windows XP Home Edition (on /dev/sda1)」,我要它默認是以xp啟動,所以修改為set default=」4″。(hd0,1)表示第一塊硬碟的第一個分區,我的Linux在(hd0,6)。
當然,你也可以把你需要默認啟動的系統放到最前面,那麼就還是set default=0
2、set timeout=10
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
這里停留在grub選擇系統界面的時間就是10秒,即set timeout=10。
有時候我並不想等待這么久,我直接啟動xp,需要Ubuntu時才按幾下Shift鍵進入grub選擇系統界面。可以添加如下代碼:
if keystatus; then
if keystatus –shift; then
set timeout=-1
else
set timeout=10
fi
else
if sleep$verbose –interruptible 3 ; then
set timeout=10
fi
fi
③ 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.可用光碟機或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版本號
grub-install --version
⑥ grub怎麼啟動linux系統
如果沒有備份文件時可以使用grub的交換功能,可以在」grub>」命令行下進行以下操作以手動啟動系統:
查找/boot/grub/grub.conf分區所在的目錄:
grub>
find
/boot/grub/grub.conf
(hd0,0)
需要注意的是,上述命令將得到的是grub.conf配置文件所在的系統的分區,(hd0,0)即表示它在分區hda1
查看grub.conf文件錯誤使用如下的命令:
grub>
cat
(hd0,0)/boot/grub/grub.conf
需要注意的是,可以查看配置文件到底什麼地方出現了錯誤,以便進入後修改。
指定/boot分區使用命令:root
(hd0,0)
從此步驟開始,即為本文前面提到的grub配置文件的主要引導步驟,只是一般都是系統讀取grub配置文件,出現問題時我們可以使用手動啟動。
指定內核載入的命令:kernel
/boot/vmlinuz
ro
root=label=/
指定鏡像文件所在的位置可用如下命令:initrd
/boot/initrd-2.6.24-1.3194.fc7
從/boot分區啟動可以使用如下命令:boot
(hd0,0)
此時系統即可正常啟動,實際上以上步驟就是執行了grub引導期間載入grub.conf文件的步驟,當系統正常啟動後將grub配置文件修改正確後即可。
⑦ 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(看你是什麼介面的硬碟啦……)
只有這里有影響。你看看鏡像文件中的內核版本是多少,然後相應的改一改試試吧……
⑧ 如何由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命令行