1、grub 命令行接口(一次性設置)
成都創新互聯主營臨潭網站建設的網絡公司,主營網站建設方案,App定制開發,臨潭h5微信小程序定制開發搭建,臨潭網站營銷推廣歡迎臨潭等地區企業咨詢
系統啟動過程中按 c 鍵可進入grub 命令行界面,就可以自定義grub 啟動參數了。常用命令有:
help? ?##查詢幫助
help? ?COMMAND ##查詢命令幫助
ls : 顯示系統磁盤及分區情況
root (hd#,#)? ?:將hd#的第#號分區設置為根分區;(CentOS 6)
kernel /PATH/TO/KERNEL_FILE : 設定本次啟動用到的內核文件(CentoS 6)
set root=(hd#,msdos#)? :?將第#塊硬盤的第#個分區設置為根分區;(CentOS 7)
linux /PATH/TO/KERNEL_FILE : 設定本次啟動用到的內核文件(CentoS 7)
r oot=/dev/mapper/cl-root ro init=/bin/sh ? : 指明根分區路徑;以ro/rw格式掛載; 第一個運行的程序是bash ;
initrd /PATH/TO/INITRAMFS_FILE_FILE : 為選定的內核提供額外的ramdisk ;
CentOS 7:
然后boot 重啟,將會出現以下定制的系統了:
CentOS 6:
2、grub 配置文件:? ?永久配置是要在grub 的配置文件中配置的;
? ? CentOS 6 : /boot/grub/grub.cfg
? ? ? ? ? ? default=0? : 設置默認啟動菜單項;編號從0開始;
? ? ? ? ? ? timeout=5 :? 設置菜單項等待被選擇的時長
? ? ? ? ? ? title CentOS Express? ?##定義內核菜單選項
? ? ? ? ? ? ? ? ? ? root (hd0,0)
? ? ? ? ? ? ? ? ? ? kernel /vmlinuz-VERSION-release ro [selinux=0]? root=/dev/mapper/vg0-root (根據系統設置)
? ? ? ? ? ? ? ? ? ? initrd /initramfs-VERSION-release.img
? ? CenOS 7 :?/boot/grub2/grub.cfg (/etc/grub2.cfg ), 不要直接修改 ;
grub2-mkconfig會調用/etc/grub.d中的腳本去搜集/etc/default/grub 中的配置參數,生成/etc/grub2.cfg ;?
/etc/default/grub中的參數被修改,就可以使用grub2-mkconfig重新生成/etc/grub2.cfg
#grub2-mkconfig –o /boot/grub2/grub.cfg
3、給Grub 添加保護
CentOS 6:
配置項:
default=0
timeout=5
? ? ? ? ? ?password [--md5] STRING : 菜單編輯認證 ;
? ? ? ? ? ?title TITLE :?
root (hd#,#) :?
kernel /PATH/TO/VMLINUXZ_FILE [PARAMETERS]?
initrd /PATH/TO/INITRAMFS_FILE?
? ? ? ? ? ? ? ? ? ? ? ? password [--md5] STRING : 啟動選定的內核或操作系統時需要進行認證;
CentOS 7:
a.添加grub菜單和命令行的密碼認證:
grub2-setpassword? ? ##輸入密碼兩次生成/boot/grub2/user.cfg 文件
cat /boot/grub2/user.cfg
GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CC6F56BFCFB90C49E6E16DC7234.....
grub2-mkconfig -o /boot/grub2/grub.cfg? ##重新生成配置文件
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-f9725b0c842348ce9e0bc81968cf7181
Found initrd image: /boot/initramfs-0-rescue-f9725b0c842348ce9e0bc81968cf7181.img
done
? ? shutdown -r now
再次鍵入e 或 c ,系統都會要求輸入用戶名和密碼的;
rel:?
b. 刪除grub 密碼保護(刪除掉user.cfg,重新生成配置文件即可)
rm -rf /boot/grub2/user.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
步驟如下:
a ?進入grub的命令模式。進入grub界面后按C鍵進入命令行界面。
b ?先熟悉一下grub ?的一些命令 grubhelp
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
比如:
grubkernel
如果是/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 引導系統;
grubboot
下面是在我機器上的命令:
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
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就生成了,跟之前文件的一樣(前提是沒有對文件做任何更改)。
hprx2620進入單用戶模式方法是
1、使用"a"操作按鍵進入單用戶模式:這是進入單用戶模式最快速的方法。在GRUB啟動菜單里使用a操作按鍵編輯kernel參數,在末行輸入single,來告訴linux內核后續的啟動過程需要進入單用戶模式,編輯后按enter鍵,即可啟動單用戶模式。
2、使用'e'操作按鍵進入單用戶模式。在GRUB啟動菜單里使用e操作按鍵進入Linux啟動菜單向界面,移動光標至kernel配置項一行,按e編輯kernel菜單項,在行末輸入single,告訴Linux內核后續的啟動過程需要進入單用戶模式,更改后,按回車返回Linux啟動菜單項界面,然后按b,使用更改后的Linux啟動菜單啟動單用戶模式。
3、使用c操作按鍵進入單用戶模式這是進入單用戶模式最麻煩的一中方式,必須要熟悉GRUB命令行界面才行。在grup啟動菜單里使用c進入GRUB命令行.分別使用grup下的root、kernel(在末行輸入single)、initrd命令指定啟動參數,最后使用boot命令啟動到單用戶模式。
我不知道大家為什么都說按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文件
簡單的說,GRUB 是系統的啟動引導程序。我們要啟動系統時,需要通過BIOS啟動硬盤0扇區的程序引導啟動系統內核。從早期的 MBR到如今的UEFI啟動類型和GUID分區表 (GPT) 特殊操作。想了解詳情自行查閱資料。
Linux系統 U盤
首先我們要給U盤分區。通過下面命令查看U盤的掛在情況。
如果掛載正常,就可以通過下面命令給U盤分區。(/dev/sdb是我的U盤)
d刪除所有分區,然后o寫入DOS分區表,再n添加分區。配置好后w保存退出。
然后格式化U盤分區。命令:
然后掛載U盤,如果U盤無法掛載,可以把分區類型改為Linux filesystem(20類型),掛載后再改回BIOS boot(4類型)。否則GURB安裝時會提示錯誤。
掛載命令
--force 選項啟用對 blocklists(塊列表)的支持
--debug 顯示安裝信息
第一個路徑掛載的分區路徑,第二個路徑為U盤的設備路徑。
至此我們已經把GRUB安裝到了U盤。U盤會多個boot目錄 。
可以重啟BIOS選U盤啟動,正常的話會進入GRUB 命令行。
下一篇說說GRUB配置
本文標題:grub命令行啟動linux grub命令行啟動deepin
文章源于:http://vcdvsql.cn/article24/dooocje.html
成都網站建設公司_創新互聯,為您提供網站內鏈、虛擬主機、定制開發、、標簽優化、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯