導航:首頁 > 文件管理 > grub2配置文件

grub2配置文件

發布時間:2022-09-12 05:58:00

㈠ GRUB2的安裝和使用

Grub 2的內核是符合multiboot標準的,因此可以在Grub中引導。
1、下載
解壓到某個FAT分區的根目錄,會生成/boot/grub目錄,Grub 2的文件便在該目錄下。
2、修改
/boot/grub/grub.cfg
這是Grub 2的配置文件,它的格式不同於menu.lst,以下是一個例子:
set timeout=20
set default=0
menuentry Chainload First Part {
set root=(hd0,1)
chainloader +1
}
menuentry Load linux at Second Part {
set root=(hd0,2)
linux /vmlinuz root=/dev/hda2
initrd /initrd
}
如果你熟悉Grub,應該可以看明白裡面的內容。要注意的是:
a、timeout, default等參數用變數來儲存
d、菜單項由menuentry定義
c、第1個分區是(hd0,1)而不是(hd0,0)
d、當前支持的啟動方式是chainload,linux和multiboot
3、在Grub中使用以下的命令進入Grub2
root (hd0,0)
kernel /boot/grub/core.img
boot
(hd0,0)請用存放Grub2的分區的名字來代替
4、進入Grub 2後,在菜單界面下輸入 c 便可進入控制界面。

㈡ grub2啟動順序怎麼把win放在最下面把Ubuntu放到最上面

你好!

grub2 引導菜單的配置文件,默認為 /boot/grub/grub.cfg


對grub的各個配置文件修改後,需要執行

sudo update-grub

才能產生新的 grub.cfg 引導菜單。

如果有什麼不明白的,可以追問我。

㈢ 自動生成grub2配置

解決方法:用LiveCD(本人用的是Ubuntu 9.10的安裝光碟)修復Grub2的具體方法如下:
1、用Ubuntu9.10光碟進入菜單欄後選擇「試用而不是安裝Ubuntu9.10的系統選項」;
2、進入試用的系統後,打開終端,輸入終端命令:
sudo fdisk -l (查看計算機分區列表)
請記錄下來根分區 / 和 /boot 分區安裝的位置(我的根分區位於/dev/sda6,/boot沒有單獨分區(若有則假設位於/dev/sda7)),
下面就以我的分區為例說明,請大家根據自己的磁碟分區情況進行相應修改;
3、在終端輸入命令:
sudo -i (取得root特權)
mount /dev/sda6 /mnt
mount /dev/sda7 /mnt/boot (如果/boot沒有單獨分區則不要執行這個命令)
grub-install --root-directory=/mnt/ /dev/sda (注意此命令中root前面是兩個減號橫杠)
4、執行完以上步驟和命令,重新啟動系統。
此時出現雙系統啟動菜單,且可正常進入ubuntu9.10,卻無法進入windows xp了。注意:如何你是刪了一個系統導致的,而此時的grub.cfg裡面還是會有那個系統的,需要將其用「#」來逐行注釋掉或刪除掉,這里由於是要在root許可權下才行,所以在使用狀態下,只能啟動終端,賦予root許可權(命令:sudo -i)找到對應的文件後,用命令gedit grub.cfg打開該文件,如果修改後不能保存則需要使用chmod a+x grub.cfg賦予可修改的許可權。如果沒有成功出現雙系統啟動菜單,而是進入到有grub版本,下面是sh:grub> 這說明grub還缺少grub.cfg(這是grub2的啟動項配置,在grub的目錄下)文件,將對應的grub.cfg文件復制過去即可,這里要用root許可權,可以通過終端下的sudo -i獲得,然後進入到grub文件下,使用gedit grub.cfg,彈出一個gedit編輯框,將前面的grub.cfg文件的內容拷貝到這里,保存即可繼續修復如下:
進入Ubuntu9.10系統,打開終端,輸入命令:
sudo update-grub (重建GRUB列表,將windows xp引導項修復)
sudo grub-install /dev/sda (重新寫入第一分區mbr)
5、重新啟動系統,雙系統啟動應該恢復成功。
若還是無法進入windows xp,可以嘗試手動修改grub.cfg文件,
若想修改啟動順序的話,也要修改grub.cfg文件。

㈣ Grub2知識點整理(略)

GRUB2命令

Set 設置環境變數 set root='hd0,msdos1'

menuentry "title" [--class=class …] [--users=users] [--unrestricted] [--hotkey=key] [--id=id] [arg …] { command; … }

定義一個名為"title"的菜單項。當此菜單項被選中時,GRUB將會把環境變數"chosen"的值設為"id"(使用了[--id=id]選項)或"title"(未使用[--id=id]選項),然後執行花括弧中的命令列表,如果列表中最後一個命令執行成功,並且已經載入了一個內核,那麼將執行"boot"命令。

可以使用 --class 選項指定菜單項所屬的"樣式類"。從而可以使用指定的主題樣式顯示菜單項。

可以使用 --users 選項指定只允許特定的用戶訪問此菜單項。如果沒有使用此選項,則表示允許所有用戶訪問。

可以使用 --unrestricted 選項指明允許所有用戶訪問此菜單項。

可以使用 --hotkey 選項設置訪問此菜單項的熱鍵(快捷鍵)。"key"可以是一個單獨的字母,或者'backspace','tab','delete'之一。

可以使用 --id 選項為此菜單項設置一個全局唯一的標識符。"id"必須由ASCII字母/數字/下劃線組成,且不得以數字開頭。

[arg …]是可選的參數列表。你可以把它們理解為命令行參數。實際上"title"也是命令行參數,只不過這個參數是個必須參數而已。這些參數都可以在花括弧內的命令列表中使用,"title"對應著"$1",其餘的以此類推。

insmod mole

載入名為"mole"的GRUB2模塊。

chainloader [--force] file

鏈式載入"file"文件。通常使用磁碟塊表示法,例如用'+1'表示當前根分區的第一個扇區。

linux16 file …

以傳統的16位啟動協議從"file"載入一個Linux內核映像,並將其餘的字元作為內核的命令行參數逐字傳入。這通常用於啟動一些遵守Linux啟動協議的特殊工具(例如 MEMDISK )。

[注意]使用傳統的16位啟動協議意味著:(1)'vga='啟動選項依然有效,(2)不能啟動純64位內核(也就是內核必須要'CONFIG_IA32_EMULATION=y'才行)。

initrd16 file

為以16位協議啟動的Linux內核載入一個"initial ramdisk",並在內存里的Linux設置區域設置合適的參數。

[注意]這個命令必須放在"linux16"命令之後使用。

loopback [-d] device file

將"file"文件映射為"device"回環設備。例如:

loopback loop0 /path/to/image
ls (loop0)/

可以使用 -d 選項,刪除先前使用這個命令創建的設備。

default

默認選中第幾個菜單項(從Ɔ'開始計數)

default

默認選中第幾個菜單項(從Ɔ'開始計數)

gfxpayload

設置Linux內核啟動時的視頻模式,可以指定一組由逗號或分號分隔的模式以供逐一嘗試:每個模式的格式必須是:'text'(普通文本模式,不能用於UEFI平台),'keep'(繼承"gfxmode"的值),'auto'(自動檢測),'寬x高','寬x高x色深'之一,並且只能使用VBE標准指定的模式[640x480,800x600,1024x768,1280x1024]x[16,24,32]。在BIOS平台上的默認值是'text',在UEFI平台上的默認值是'auto'。除非你想明確設置Linux控制台的解析度(要求內核必須"CONFIG_FRAMEBUFFER_CONSOLE=y"),或者打算在BIOS平台上使用圖形控制台(要求內核必須"CONFIG_FRAMEBUFFER_CONSOLE=y"),否則不要設置此變數

root

設置"根設備"。任何未指定設備名的文件都視為位於此設備。初始值由GRUB在啟動時根據"prefix"變數的值自動設置。在大多數情況下,你都需要修改它。

superusers

設置一組"超級用戶"(使用空格/逗號/分號進行分隔),以開啟安全認證的功能。

theme

設置菜單界面的主題風格文件的位置,例如:"/boot/grub/themes/starfield/theme.txt"。關於如何定製界面風格(背景圖片/字體/顏色/圖標等)的細節,可以參考GRUB2手冊中的"<u> Theme file format </u>"部分。

timeout

在啟動默認菜單項前,等待鍵盤輸入的秒數。默認值是Ƌ'秒。Ɔ'表示直接啟動默認菜單項(不顯示菜單),'-1'表示永遠等待。

pager

如果設為Ƈ',那麼每一滿屏後暫停輸出,等待鍵盤輸入。預設是'',表示不暫停。

Insmod模塊

pxe.mod Driver to provide access to the pxe filesystem

pxecmd.mod Command to control the PXE device

cat.mod Show the contents of a file. 顯示文件內容

cmp.mod Compare two files.

configfile.mod configure - Load another config file.

cpuid.mod Check for CPU features

crc.mod Calculate the crc32 checksum of a file.

echo.mod Display a line of text.

halt.mod halts the computer. This command does not work on all firmware.

suspend.mod Halt the system, if possible using APM

hello.mod Say hello

help.mod Show a help message.

hexmp.mod Dump the contents of a file or memory.

ls.mod List devices and files.

lspci.mod List PCI devices

normal.mod Grub2 的常規模式(於此對應的是安全模式,內置於 kernel 中)

pci.mod

play.mod 播放音頻文件 (體驗功能) Play a tune

read.mod Set variable with user input

reboot.mod Reboot the computer. 重啟計算機

search.mod Search devices by file, filesystem label or filesystem UUID.

serial.mod

sleep.mod Wait for a specified number of seconds

terminal.mod Select a terminal.

terminfo.mod Set terminfo type.

test.mod test -

ieee1275_suspend Return to Open Firmware prompt

分區管理

pc.mod pc 機上的分區類型(主分區、擴展分區)管理

sun.mod sun 機上的分區類型管理

gpt.mod Read GUID Partition Tables (GPT).

apple.mod 蘋果機的分區管理

acorn.mod Linux/ADFS partition tables.

amiga.mod Amiga partition tables (RDB).

圖形相關:

vga.mod 字元終端

gfxterm.mod 圖形終端

font.mod Specify one or more font files to display.

vbe.mod pc 上圖形核心庫

vbeinfo.mod List compatible VESA BIOS extension video modes.

vbetest.mod Test VESA BIOS Extension 2.0+ support

video.mod

videotest.mod Test video subsystem

bitmap.mod 圖片格式基類

jpeg.mod JPG 圖片格式解碼

tga.mod TGA 圖片格式解碼

png.mod PNG 圖片格式解碼

文件系統

affs.mod Amiga Fast FileSystem.

afs.mod The native AtheOS file-system.

cpio.mod cpio and tar filesystem.

ext2.mod Second Extended filesystem

fat.mod FAT filesystem

hfs.mod HFS

hfsplus.mod HFS+ Filesystem.

iso9660.mod iso9660 implementation with extensions: SUSP, Rock Ridge. (光碟文件系統)

jfs.mod JFS

minix.mod The minix filesystem, version 1 and 2.

ntfs.mod NTFS filesystem

ntfscomp.mod compression support for the NTFS filesystem

reiserfs.mod ReiserFS versions up to 3.6

sfs.mod Amiga Smart FileSystem.

udf.mod Universal Disk Format filesystem. (光碟文件系統)

ufs.mod Unix File System

xfs.mod XFS

fshelp.mod Filesystem helper functions (查找文件、讀取文件操作)

磁碟訪問

ata.mod ATA disk access.

fs_uuid.mod Access disks by their filesystem UUID.

host.mod Dummy disk driver to provide access to the hosts filesystem. (grub-emu 用以訪問宿主文件系統)

loopback.mod Make a device of a file. (command to add loopback devices.)

biosdisk.mod BIOS 磁碟設備 (cdrom, hdd, cdrom 訪問層)

lvm.mod mole to read Logical Volumes. (加密卷)

memdisk.mod Access embedded memory disk

raid.mod mole to read RAID arrays.

引導器

appleloader.mod Boot legacy system. (apple legacy boot loader.)

multiboot.mod multiboot - Load a Multiboot kernel.

linux.mod linux - Load a linux kernel.

loadenv.mod load_env - Load variables from environment block file.

blocklist.mod Print a block list.

boot.mod Boot an operating system.

bsd.mod freebsd - load freebsd kernel

chain.mod load another boot loader

其他 (未知)

aout.mod

elf.mod

_bsd.mod

_chain.mod

_linux.mod

_multiboot.mod

IO hook

bufio.mod buffered io access

gzio.mod decompression support for gzip

GRUB2對設備與分區的命名規則舉例如下,看看就能明白。需要說明的是磁碟從"0"開始計數,分區從"1"開始計數。

上面所舉的例子僅是最常用的情形,更多高級的設備命名規則請參考GRUB2手冊中的"<u> Naming convention </u>"與"<u> How to specify devices </u>"部分。此外,如果你想看看當前系統上有哪些設備可用,可以在GRUB SHELL中使用"ls"命令(可能需要先載入必要的驅動模塊)。

文件的命名方法有兩種:(1)絕對路徑表示法,(2)相對路徑表示法。舉例如下:

上面所舉的例子僅是最常用的情形,更多高級的文件命名規則請參考GRUB2手冊中的"<u> How to specify files </u>"部分。

磁碟塊的命名方法同樣也有兩種:(1)絕對路徑表示法,(2)相對路徑表示法。舉例如下:

磁碟塊幾乎只用於鏈式引導(chainloader)的場合。更多高級的磁碟塊命名規則請參考GRUB2手冊中的"<u> How to specify block lists </u>"部分。

這是我記錄的一些常用的知識點,詳細使用以及例子請到這里:

GRUB2配置文件"grub.cfg"詳解(GRUB2實戰手冊) [金步國]

㈤ ubuntu 怎樣修改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

㈥ Linux系統啟動及定製過程

CentOS的啟動流程總體順序如下:

POST --> Boot Sequence --> bootloader(MBR) --> Kernel --> 載入rootfs --> switchroot --> /sbin /init --> (配置文件:/etc/inittab, /etc/init/*.conf) --> 根據init配置文件設置默認運行級別 --> 運行系統初始化腳本/etc/rc.d/rc.sysinit,完成系統初始化 --> 開啟或關閉用戶選定的對應運行級別下所對應的服務 --> 啟動終端,列印登錄提示符。

註:前面加粗部分代表內核空間的系統啟動流程,後面未加粗部分代表用戶空間的系統啟動流程。

第一步:硬體啟動過程

POST加電自檢

主要實現的功能是檢測各個外圍硬體設備是否存在而且能夠正常運行起來,實現這一自檢功能的是固化在主板上的ROM(主要代表為CMOS)晶元上的BIOS(Basic Input/Output System)程序;例如BIOS會檢測CPU、Memory以及I/O設備是否能夠正常運行,如果是個人計算機的話可能還會檢測一下顯示器。只要一通電,CPU就會自動去載入ROM晶元上的BIOS程序,是這樣來實現的。而檢測完成之後就進行硬體設備的初始化。

選擇啟動設備以載入MBR

主要實現的功能是選擇要啟動的硬體設備,選擇了之後就可以讀取這個設備上位於MBR里頭的bootloader了。這一步的實現是這樣的:根據BIOS中對啟動順序的設定,BIOS自己會依次掃描各個引導設備,然後第一個被掃描到具有引導程序(bootloader)的設備就被作為要啟動的引導設備。

MBR(Main Boot Record),是硬碟的0柱面,0磁軌、1扇區(第一個扇區),稱為主引導扇區,也稱為主引導記錄。它由三部分組 成:主引導程序(BootLoader)、硬碟分區表DPT(Disk Partition table)和硬碟有效標志(55AA)。
註:硬碟默認一個扇區大小為512位元組。
第一部分,主引導程序(BootLoader)佔446個位元組,負責從活動分區中裝載,並運行系統引導程序。
第二部分,硬碟分區表DPT佔64個位元組,有4個分區表項,每個分區表項佔16個位元組,硬碟中分區有多少以及每一個分區的大小都記 錄在其中。
第三部分,硬碟有效標志,佔2個位元組,固定為55AA。如果這個標志位0xAA55,就認為這個是MB

第二步:GRUB引導階段

不同的系統有不同的主引導程序(BootLoader)。Windows使用的是NTLDR(NT Loader,Windows NT系列操作系統)、Bootmgr(Boot Manager,Windows Vista,7,8,10),Linux一般使用的是grub(也叫grub legacy)和grub2。GRUB程序載入執行並引導kernel(內核)程序,其中有三個階段,Grub引導階段的文件都在/boot/grub/目錄下。

stage1: 這一階段執行的就是系統安裝時預先寫入到MBR的Bootloader程序,即是存放在MBR的前446位元組里的程序。它的任務僅是讀取(載入)硬碟的0柱面,0磁軌,2扇區的內容(/boot/grub/stage1)並執行。

stage1.5: 這一階段是Stage1階段和Stage2階段的橋梁,功能是載入stage2所在分區的文件系統驅動,讓stage1中的bootloader能識別stage2所在分區的文件系統,此後grub程序便有能力去訪問/boot/grub/stage2。

stage2: 這一階段讀取並解析grub的配置文件/boot/grub/grub.cnf,根據配置文件載入內核鏡像到內存中,通過initrd程序建立虛擬根文件系統,最後調用(轉交)內核。

第三步:內部引導階段

載入內核,核心開始解壓,啟動一些最核心的程序。為了讓內核足夠的輕小,硬體驅動並沒放在內核文件裡面。系統僅探測可識別到的所有硬體設備,載入硬體驅動程序,即載入真正的根文件系統所在設備的驅動程序(有可能會藉助於ramdisk載入驅動),以只讀方式掛載根文件系統,運行用戶空間的第一個應用程序:/sbin/init。

第四步:init初始化階段(系統初始化階段)

雖然CentOS 5、CentOS 6以及CentOS 7的/etc/init配置文件內容各不相同,但總體的啟動流程相同:/sbin/init --> 根據/etc/inittab配置文件設置默認運行級別 --> 運行系統初始化腳本/etc/rc.d/rc.sysinit,完成系統初始化 --> 關閉或啟動用戶選定的默認運行級別所對應的服務 。

對於CentOS 5來說,初始化程序init是SysV init,其配置文件為:/etc/inittab; 對於CentOS 6來說,初始化程序init是upstart,其配置文件為:/etc/inittab, /etc/init/ .conf,也就是upstart將配置文件拆分成多個,在/etc/init/目錄下以conf結尾的都是upstart風格的配置文件,而/etc/inittab僅用於設置默認運行級別; 對於CentOS 7來說,初始化程序init是systemd,其配置文件:/usr/lib/system/systemd/, /etc/systemd/system/

具體執行過程:/sbin/init程序會讀取/etc/inittab文件確認運行級別,然後執行/etc/rc.d/rc腳本,根據確認的運行級別啟動對應/etc/rc.d/rc#.d/目錄下的服務(#為0~6),與此同時執行系統初始化腳本/etc/rc.sysinit(軟鏈接,指向/etc/rc.d/rc.sysinit),還會載入/etc/rc.local(軟鏈接,指向/etc/rc.d/rc.local文件)用戶自定義服務(腳本)。

CentOS7中初始化進程變為了systemd,systemd即為system daemon,是Linux下的一種init軟體,開發目標是提供更優秀的框架以表示系統服務間的依賴關系,並依此實現系統初始化時服務的並行啟動,同時達到降低Shell系統開銷的效果,最終代替現在常用的System V與BSD風格的init程序。與多數發行版使用的System V風格的init相比,systemd採用了以下的新技術:A.採用Socket激活式與匯流排激活式服務,以提高相互依賴的各服務的並行運行性能;B.用Cgroup代替PID來追蹤進程,即使是兩次fork之後生成的守護進程也不會脫離systemd的控制。

第五步:啟動終端

根據前面獲取的運行級別來啟動終端,mingetty程序是用於啟動終端的,它會調用登錄程序login,這樣就能顯示出登錄提示符了,類似mingetty這種用於打開終端的程序還有getty等。而如果默認運行級別為5,則會打開圖形界面。

第一步:硬體啟動過程

這一步和CentOS6差不多,詳細請看1.1內容。

第二步:GRUB引導階段

從這一步開始,CentOS6和CentOS7的啟動流程區別開始展現出來了。CentOS7的主引導程序使用的是grub2,執行過程是先載入boot.img、core.img兩個鏡像,再載入MOD模塊文件,把grub2程序載入執行,接著解析配置文件/boot/grub/grub.cfg,根據配置文件載入內核鏡像到內存,之後構建虛擬根文件系統,最後轉到內核。

CentOS7中使用命令進行配置,而不直接去修改配置文件了。grub.cfg配置文件開頭注釋部分說明了由/etc/grub.d/目錄下文件和/etc/default/grub文件組成。改好配置後都需要使用命令grub2-mkconfig -o /boot/grub2/grub.cfg,將配置文件重新生成。

第三步:內部引導階段

這一步與CentOS6也差不多,載入驅動,切換到真正的根文件系統,唯一不同的是執行的初始化程序變成了/usr/lib/systemd/systemd。

第四步:init初始化階段(系統初始化階段)

CentOS7中我們的初始化進程變為了systemd。執行默認target配置文件/etc/systemd/system/default.target(這是一個軟鏈接,與默認運行級別有關)。然後執行sysinit.target來初始化系統和basic.target來准備操作系統。接著啟動multi-user.target下的本機與伺服器服務,並檢查/etc/rc.d/rc.local文件是否有用戶自定義腳本需要啟動。最後執行multi-user下的getty.target及登錄服務,檢查default.target是否有其他的服務需要啟動。

注意:/etc/systemd/system/default.target指向了/lib/systemd/system/目錄下的graphical.target或multiuser.target。而graphical.target依賴multiuser.target,multiuser.target依賴basic.target,basic.target依賴sysinit.target,所以倒過來執行。

unit對象:unit表示不同類型的systemd對象,通過配置文件進行標識和配置;文件中主要包含了系統服務、監聽socket、保存的系統快照以及其他與init相關的信息。(也就是CentOS6中的伺服器啟動腳本)

第五步:啟動終端

systemd執行sysinit.target
systemd啟動multi-user.target下的本機與伺服器服務
systemd執行multi-user.target下面的/etc/rc.d/rc.local
Systemd執行multi-user.target下的getty.target及登錄服務
getty.target是啟動終端的systemd對象。如果到此步驟,系統沒有指定啟動圖形桌面,到此就可以結束了,如果需要啟動圖形界面,要在此基礎上啟動桌面程序。

從 CentOS 7 版本之後,系統開始用 systemd 實現init進程,系統啟動和伺服器守護進程管理器功能,負責在系統啟動或運行時,激活系統資源,伺服器進程和其它進程。

unit表示不同類型的systemd對象,通過配置文件進行標識和配置;文件中主要包含了系統服務、監聽socket、保存的系統快照以及其它與init相關的信息。

3.2 system unit文件格式

/usr/lib/systemd/system:發行版打包者使用,每個服務最主要的啟動腳本設置,類似於之前的/etc/init.d/

/etc/systemd/system:系統管理員和用戶使用,管理員建立的執行腳本,類似於/etc/rcN.d/Sxx的功能,比上面目錄優先運行

/lib/systemd/system::ubutun的對應目錄

/run/systemd/system:系統執行過程中所產生的服務腳本,比上面目錄優先運行

unit 格式說明:

service unit file文件通常由三部分組成:

Unit段的常用選項:

Service段的常用選項:

Install段的常用選項:

注意:對於新創建的unit文件,或者修改了的unit文件,要通知systemd重載此配置文件,而後可以選擇重啟。

首先在啟動界面按e編輯啟動參數,

將ro參數更改為rw init=/sysroot/bin/sh,按ctr + x啟動系統

按下圖執行命令更改root密碼

㈦ grub2 怎麼安裝和使用

grub-install 是gurb1 的命令
grub2應該使用grub2-install。

在/boot/grub 建立一個配置文件名為: grub.cfg
也有可能是/boot/grub2/grub.cfg 這跟你的設置有關。
root 許可權執行
grub2-mkconfig>/boot/grub/grub.cfg
或者:
grub2-mkconfig>/boot/grub2/grub.cfg

重啟電腦應該就能看到菜單了。

㈧ grub2引導配置問題 由於特殊需要想在grub.cfg中添加一條菜單引導另一個grub.cfg

grub2:
menuentry "Other grub.cfg" {
set root=
configfile /path/to/other/grub.cfg
}

syslinux:
LABEL othermenu
MENU LABEL Other Menu
KERNEL vesamenu.c32
APPEND othermenu.cfg

或者
LABEL new_config
CONFIG /path/to/new/config.cfg

㈨ 如何配置Ubuntu 16.04 GRUB 2引導載入程序

GRUB2是大多數Linux操作系統的默認引導載入程序。GRUB是GRandUnifiedBootloader的縮寫,它是Linux啟動時首先要載入的一個程序,此後它會負責載入並將控制權交給Linuxkernel,並由Linuxkernel負責對操作系統的其它部分進行初始化。在本文中,我們將對Ubuntu16.04LTS桌面版GRUB2引導載入程序的重要配置進行介紹,當然操作和配置也與其它Linux發行版中的GRUB配置通用。GRUB2引導載入程序設置GRUB2的默認配置文件是/boot/grub/grub.cfg,它是Linux啟動引導過程中非常主要的一個文件,除非你已經非常熟悉,否則不要直接編輯或修改此文件。有關GRUB2的所有設置默認都存放在/etc/default/grub文件中,對其內容的更改將直接反饋到GRUB2。為保險起見,我們先將它進行備份:sudocp/etc/default/grub/etc/default/grub.bak我們先來看看GRUB引導裝載程序的主要選項:cat/etc/default/grub每當編輯了該配置文件之後,需要執行如下命令將變更應用到GRUB2:sudoupdate-grub下面我們開始對GRUB2bootloader進行三項重要的優化調整。1.選擇默認操作系統為加快開機引導過程,用戶可以手動指定默認要從哪個系統開始引導。如果設置為0則表示從GRUB選單中的第一個系統開始引導,如果設置為1則表示從第二個條目開始引導,以此類推。如果你裝了多個操作系統,可以使用GRUB_DEFAULT=saved參數從最後一個系統開始引導,配置好後你每次重啟計算機都會直接從最後一個系統開始啟動。注意:此功能還需配合一個GRUB_SAVEDEFAULT=true條目才能生效。為了不至於數不清楚個數和方便配置,還可以直接指定GRUB開機默認引導系統的名稱,例如你的GRUB選單中有「Lubuntu14.04LTS」條目,便可以直接指定GRUB_DEFAULT=Lubuntu14.04LTS默認啟動Lubuntu。2.設置超時時間默認情況下,啟動菜單停留讓用戶選擇的時間為10秒。用戶可以直接在配置文件中增長或縮短等待時間,如果將GRUB_TIMEOUT設置為0,則表示忽略選單直接按上步中選擇的默認操作系統進行引導。3.更改GRUB背景圖片要更改GRUB背景圖片非常簡單,只需將准備好的圖片復制到/boot/grub/路徑即可。GRUB僅支持265色JPG/JPEG格式圖片,所以建議大家使用PNG圖片。背景圖片替換好之後記得執行sudoupdate-grub使之生效。

㈩ 簡述grub啟動引導程序配置及命令行介面詳解

1、grub 命令行介面(一次性設置)

系統啟動過程中按 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-

                Found initrd image: /boot/initramfs-0-rescue-.img

                done

       >>> shutdown -r now

            再次鍵入e 或 c ,系統都會要求輸入用戶名和密碼的;

rel:  https://www.thegeekdiary.com/centos-rhel-7-how-to-password-protect-grub2-menu-entries/

b. 刪除grub 密碼保護(刪除掉user.cfg,重新生成配置文件即可)

        >>>rm -rf /boot/grub2/user.cfg

        >>>grub2-mkconfig -o /boot/grub2/grub.cfg

        >>>reboot

閱讀全文

與grub2配置文件相關的資料

熱點內容
感測器視頻教程下載 瀏覽:95
flash源文件賀卡下載 瀏覽:434
如何提高網路扶貧的效果 瀏覽:654
飛車軟體文件夾叫什麼 瀏覽:242
刷ec用什麼編程器 瀏覽:765
方菱數控u盤文件格式 瀏覽:260
編程為什麼輸出兩個變數 瀏覽:490
衛星大鍋2017用升級嗎 瀏覽:113
玉米win10系統下載 瀏覽:134
fgo技能升級減cd嗎 瀏覽:129
什麼記賬app免費好用 瀏覽:441
網路檢測可以檢測到什麼 瀏覽:504
sip協議教程 瀏覽:832
編程哪裡可以接項目 瀏覽:119
孤島驚魂win10 瀏覽:246
網路HRV是什麼意思 瀏覽:918
word框中打勾 瀏覽:577
tcl筆試題java 瀏覽:467
win10怎麼登錄安全模式 瀏覽:679
除了archdaily還有什麼網站 瀏覽:567

友情鏈接