日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux Grub.cfg配置文件詳解 (linux grub.cfg)

Grub.cfg文件是Linux操作系統(tǒng)中比較重要的配置文件之一,負(fù)責(zé)啟動和管理操作系統(tǒng)的引導(dǎo)程序。Grub.cfg文件不僅可以幫助用戶啟動系統(tǒng),還可以方便的修改啟動參數(shù)和添加新的操作系統(tǒng)選項。在本文中,我們將詳細講解Grub.cfg配置文件的結(jié)構(gòu)和設(shè)置方法,幫助您更好地理解和應(yīng)用該文件。

創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為吳橋企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都做網(wǎng)站,吳橋網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

Grub.cfg配置文件結(jié)構(gòu)

Grub.cfg文件屬于基于文本的配置文件,其結(jié)構(gòu)和語法類似于C語言,由一系列由“#”號開頭的注釋行和一些由命令行構(gòu)成的塊組成。在Grub.cfg文件中,每個塊都代表了一個不同的操作系統(tǒng)或者啟動器;每個塊由多行命令組成,每行末尾都需要使用分號“;”作為結(jié)束符。

Grub.cfg文件的之一行是帶有版本信息的開頭行,后面接著若干注釋行和塊。每個塊都包含了一些配置選項和變量,在每個塊內(nèi)部的命令行中可以通過各種變量來獲得和設(shè)置不同的配置值。下面是Grub.cfg文件的一個示例:

“`

# This is a sample grub.cfg file

set timeout=5

set default=0

menuentry “Ubuntu 20.04” {

linux /boot/vmlinuz-5.4.0-74-generic root=UUID=20d018eb-f7c2-40b8-a294-8c0b0b64d609 ro quiet splash

initrd /boot/initrd.img-5.4.0-74-generic

}

menuentry “Arch Linux” {

set root=(hd0,2)

linux /vmlinuz-linux root=/dev/sda2 rw

initrd /initramfs-linux.img

}

menuentry “Windows 10” {

set root=(hd0,1)

chnloader +1

}

“`

在這個例子中,Grub.cfg文件包含了三個塊,分別代表了Ubuntu、Arch Linux和Windows 10三種不同的操作系統(tǒng)選項。每個塊都包含了一定的配置信息,比如操作系統(tǒng)的名稱和相應(yīng)的啟動命令等。

Grub.cfg配置文件中的變量和命令

Grub.cfg文件中的命令和變量用于控制和修改Grub引導(dǎo)程序的行為和參數(shù)。下面是一些常用的命令和變量:

1. set:用于設(shè)置一個變量的值,格式為set varname=value。例如:set timeout=5表示設(shè)置引導(dǎo)等待超時時間為5秒。

2. menuentry:定義一個菜單項,格式為menuentry choice {…},其中choice為菜單項的名稱,{}內(nèi)部是關(guān)于該菜單項的操作系統(tǒng)啟動命令。

3. linux:用于定義加載內(nèi)核的命令行參數(shù),格式為linux kernel-image options。例如:linux /boot/vmlinuz root=/dev/sda1 ro表示加載/dev/sda1分區(qū)上的vmlinuz內(nèi)核,并以只讀模式啟動。

4. initrd:指定一個可載入模塊(initrd)文件,以便于啟動操作系統(tǒng)。格式為initrd initrd-file。例如:initrd /boot/initramfs-$(uname -r).img表示使用當(dāng)前版本內(nèi)核對應(yīng)的initramfs文件。

5. set root:設(shè)置啟動分區(qū)的設(shè)備和分區(qū)號,格式為set root=(device,partition)。例如:set root=(hd0,1)表示將/boot目錄設(shè)為grub的root目錄。

6. chnloader:加載Windows的NTLDR引導(dǎo)程序,格式為chnloader +(hdX,Y)+1。其中X和Y為硬盤和分區(qū)的序號,+1表示從該分區(qū)的之一個扇區(qū)開始啟動。

Grub.cfg配置文件的使用注意事項

在使用Grub.cfg文件的時候,需要注意以下幾點:

1. 修改Grub.cfg文件的時候一定要備份原來的文件,以免因修改錯誤而導(dǎo)致系統(tǒng)無法啟動。

2. 在修改Grub.cfg文件之前,需要先了解自己安裝的操作系統(tǒng)和分區(qū)情況,以確定正確的啟動參數(shù)和分區(qū)信息。

3. 在Grub.cfg文件中,語法和格式十分重要,因此需要注意每個命令和變量分別的位置和格式,以確保文件能夠被正確識別和解析。

結(jié)論

Grub.cfg配置文件是Linux系統(tǒng)中非常重要的一個配置文件,它控制著引導(dǎo)程序的行為和參數(shù),決定了系統(tǒng)的啟動順序和設(shè)置。對于系統(tǒng)管理員和Linux用戶來說,了解Grub.cfg文件的結(jié)構(gòu)和語法,以及掌握常見的命令和變量是必不可少的技能之一。通過本文的介紹,相信讀者已經(jīng)掌握了Grub.cfg文件的基本知識和使用方法,希望本文可以為廣大Linux用戶提供一些幫助。

相關(guān)問題拓展閱讀:

  • win7+linux雙系統(tǒng)環(huán)境。linux的grub.cfg被我修改后,異常了,咋辦
  • linux問題,GRUB下怎么編輯文件?
  • Linux系統(tǒng)啟動及定制過程

win7+linux雙系統(tǒng)環(huán)境。linux的grub.cfg被我修改后,異常了,咋辦

如果你用的不是wubi安裝。用埋橘滑live cd修彎臘復(fù)。你想修改菜單,不是在這里伍搜改的,你可以看看我空間里的文章,在ubuntu分類標(biāo)簽下。

直接進入主題吧,用ubuntu10.04光盤啟動電腦,進入LIVECD模式。

sudo -i

先來找一找你的ubuntu10.04安裝在那個分區(qū),用:

fdisk -l

我的部分輸出如下:

Device Boot StartEnd Blocks Id System

/dev/sda+ 12 Compaq diagnostics

/dev/sda2 *HPFS/NTFS

/dev/sda+ 83 Linux

/dev/sda+ 5 Extended

/dev/sda 83 Linux

/dev/sda 82 Linux swap / Solaris

/dev/sda+ 83 Linux

/dev/sda b W95 FAT32

/dev/sda 83 Linux

/dev/sda 82 Linux swap / Solaris

內(nèi)容有點多,因為我是3系統(tǒng)- -!,而我ubuntu10.04根目錄所在的分區(qū)就是/dev/sda9,如果你不確定的話就找id為83的吧。

下面掛載原系統(tǒng)的根目錄:

mount /dev/sda9 /mnt

將/dev/sda9掛載到了/mnt下,當(dāng)然你也可以選其他地方。這里注意,如果你有單獨為/boot分區(qū)的話,要單獨掛載一次 /boot,比如說 如果你原來的/boot掛載到/dev/sda12上了,那個你這里要再輸入mount /dev/sda12 /mnt/boot。我這里運敬沒有把它單獨分出來,所以就不需要了。

下面是最后一步了:

grub-install –root-directory=/mnt /dev/sda (注意:/mnt后面有 空格鍵)

這里我剛開始的時候自做主張的寫成了grub-install –root-directory=/mnt /dev/sda9,同學(xué)們不要學(xué)我!

如果看到

Installation finished.No Error Reported.

就表示已經(jīng)成功啦租掘!重啟看看,熟悉的grub引導(dǎo)畫面是不是又回來了?

這時重新啟動你的電腦,就能看到grub2的引導(dǎo)界面了旁型慎,但是這時只能用來引導(dǎo)Ubuntu 10.04,還暫時無法引導(dǎo)Windows 7,這時選擇進入Ubuntu 10.04,再找到并啟動終端,在終端輸入如下命令:

sudo update-grub2

按照提示輸入密碼,如果順利的話,會出現(xiàn)如下類似語句,那就表示成功了。

grub.cfg …

Found Debian background: moreblue-orbit-grub.png

Found linux image: /boot/vmlinuz-2.6.31-15-generic

Found initrd image: /boot/initrd.img-2.6.31-15-generic

Found memtest86+ image: /boot/memtest86+.bin

Found Windows 7 (loader) on /dev/sda1

done

如果沒有出現(xiàn)以上類似語句的話,那就在新立得里面搜索grub,可以安裝帶有Ubuntu 標(biāo)志的那個grub-pc,安裝之后,再輸入

sudo update-grub2

更新一下grub2就可以了。

如果你豎搏寬的linux新的話銀肆應(yīng)余亮該是grub2吧。下載新的easybcd2.1.2.

ok

linux問題,GRUB下怎么編輯文件?

記得是按E,你看下邊不是有一行顯示的么。

一、grub2的啟動配置文件grub.cfg

grub2的啟動配置文孝橘件鋒敏grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。

如果你是多系統(tǒng),有Ubuntu和windows,那么用下面的命令,可以使grub2得到所以巧基團可以啟動的系統(tǒng)。

sudo update-grub

實際就是讓系統(tǒng)自己生成合適的grub.cfg文件。

這個grub.cfg文件是只讀屬性,so如果你要修改它,需要權(quán)限。

sudo chmod +w /boot/grub/grub.cfg

然后可以編輯grub.cfg了。

sudo gedit /boot/grub/grub.cfg

二、默認(rèn)系統(tǒng)和等待時間

1、set default=0

這是說從之一項啟動。

Linux系統(tǒng)啟動及定制過程

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

POST –> Boot Sequence –> bootloader(MBR) –> Kernel –> 加載rootfs –> switchroot –> /in

/init –> (配置文件:/etc/inittab, /etc/init/*.conf) –> 根據(jù)init配置文件設(shè)置默認(rèn)運行級別 –> 運行系統(tǒng)初始化腳本/etc/rc.d/rc.sysinit,完成系統(tǒng)初始化 –> 開啟或關(guān)閉用戶選定的對應(yīng)運行級別下所對應(yīng)的服務(wù) –> 啟動終端,打印登錄提示符。

注:前面加粗部分代表內(nèi)核空間的系統(tǒng)啟動流程,后面未加粗部分代表用戶空間的系統(tǒng)啟動流程。

之一步:硬件啟動過程

POST加塵數(shù)電自檢

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

選擇啟動設(shè)備以加載MBR

主要實現(xiàn)的功能是選擇要啟動的硬件設(shè)備,選擇了之后就可以讀取這個設(shè)備上位于MBR里頭的bootloader了。這一步的實現(xiàn)是這樣的:根據(jù)BIOS中對啟動順序的設(shè)定,BIOS自己會依次掃描各個引導(dǎo)設(shè)備,然后之一個被掃描到具有引導(dǎo)程序(bootloader)的設(shè)備就被作為要啟動的引導(dǎo)設(shè)備。

MBR(Main Boot Record),是硬盤的0柱面,0磁道、1扇區(qū)(之一個扇區(qū)),稱為主引導(dǎo)扇區(qū),也稱為主引導(dǎo)記錄。它由三部分組 成:主引導(dǎo)程序(BootLoader)、硬盤分區(qū)表DPT(Disk Partition table)和硬盤有效標(biāo)志(55AA)。派冊首

   注:硬盤默認(rèn)一個扇區(qū)大小為512字節(jié)。

  之一部分,主引導(dǎo)程序(BootLoader)占446個字節(jié),負(fù)責(zé)從活動分區(qū)中裝載,并運行系統(tǒng)引導(dǎo)程序。

  第二部分,硬盤分區(qū)表DPT占64個字節(jié),有4個分區(qū)表項,每個分區(qū)表項占16個字節(jié),硬盤中分區(qū)有多少以及每一個分區(qū)的大小都記 錄在其中。

  第三部分,硬盤有效標(biāo)志,占2個字節(jié),固定為55AA。如果這個標(biāo)志位0xAA55,就認(rèn)為這個是MB

第二步:GRUB引導(dǎo)階段

不同的系統(tǒng)有不同的姿磨主引導(dǎo)程序(BootLoader)。Windows使用的是NTLDR(NT Loader,Windows NT系列操作系統(tǒng))、Bootmgr(Boot Manager,Windows Vista,7,8,10),Linux一般使用的是grub(也叫g(shù)rub legacy)和grub2。GRUB程序加載執(zhí)行并引導(dǎo)kernel(內(nèi)核)程序,其中有三個階段,Grub引導(dǎo)階段的文件都在/boot/grub/目錄下。

stage1:

這一階段執(zhí)行的就是系統(tǒng)安裝時預(yù)先寫入到MBR的Bootloader程序,即是存放在MBR的前446字節(jié)里的程序。它的任務(wù)僅是讀?。虞d)硬盤的0柱面,0磁道,2扇區(qū)的內(nèi)容(/boot/grub/stage1)并執(zhí)行。

stage1.5:

這一階段是Stage1階段和Stage2階段的橋梁,功能是加載stage2所在分區(qū)的文件系統(tǒng)驅(qū)動,讓stage1中的bootloader能識別stage2所在分區(qū)的文件系統(tǒng),此后grub程序便有能力去訪問/boot/grub/stage2。

stage2:

這一階段讀取并解析grub的配置文件/boot/grub/grub.cnf,根據(jù)配置文件加載內(nèi)核鏡像到內(nèi)存中,通過initrd程序建立虛擬根文件系統(tǒng),最后調(diào)用(轉(zhuǎn)交)內(nèi)核。

第三步:內(nèi)部引導(dǎo)階段

加載內(nèi)核,核心開始解壓,啟動一些最核心的程序。為了讓內(nèi)核足夠的輕小,硬件驅(qū)動并沒放在內(nèi)核文件里面。系統(tǒng)僅探測可識別到的所有硬件設(shè)備,加載硬件驅(qū)動程序,即加載真正的根文件系統(tǒng)所在設(shè)備的驅(qū)動程序(有可能會借助于ramdisk加載驅(qū)動),以只讀方式掛載根文件系統(tǒng),運行用戶空間的之一個應(yīng)用程序:/in/init。

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

雖然CentOS 5、CentOS 6以及CentOS 7的/etc/init配置文件內(nèi)容各不相同,但總體的啟動流程相同:/in/init –> 根據(jù)/etc/inittab配置文件設(shè)置默認(rèn)運行級別 –> 運行系統(tǒng)初始化腳本/etc/rc.d/rc.sysinit,完成系統(tǒng)初始化 –> 關(guān)閉或啟動用戶選定的默認(rèn)運行級別所對應(yīng)的服務(wù) 。

對于CentOS 5來說,初始化程序init是SysV init,其配置文件為:/etc/inittab; 對于CentOS 6來說,初始化程序init是upstart,其配置文件為:/etc/inittab, /etc/init/

.conf,也就是upstart將配置文件拆分成多個,在/etc/init/目錄下以conf結(jié)尾的都是upstart風(fēng)格的配置文件,而/etc/inittab僅用于設(shè)置默認(rèn)運行級別; 對于CentOS 7來說,初始化程序init是systemd,其配置文件:/usr/lib/system/systemd/, /etc/systemd/system/

;

具體執(zhí)行過程:/in/init程序會讀取/etc/inittab文件確認(rèn)運行級別,然后執(zhí)行/etc/rc.d/rc腳本,根據(jù)確認(rèn)的運行級別啟動對應(yīng)/etc/rc.d/rc#.d/目錄下的服務(wù)(#為0~6),與此同時執(zhí)行系統(tǒng)初始化腳本/etc/rc.sysinit(軟鏈接,指向/etc/rc.d/rc.sysinit),還會加載/etc/rc.local(軟鏈接,指向/etc/rc.d/rc.local文件)用戶自定義服務(wù)(腳本)。

CentOS7中初始化進程變?yōu)榱藄ystemd,systemd即為system daemon,是Linux下的一種init軟件,開發(fā)目標(biāo)是提供更優(yōu)秀的框架以表示系統(tǒng)服務(wù)間的依賴關(guān)系,并依此實現(xiàn)系統(tǒng)初始化時服務(wù)的并行啟動,同時達到降低Shell系統(tǒng)開銷的效果,最終代替現(xiàn)在常用的System V與BSD風(fēng)格的init程序。與多數(shù)發(fā)行版使用的System V風(fēng)格的init相比,systemd采用了以下的新技術(shù):A.采用Socket激活式與總線激活式服務(wù),以提高相互依賴的各服務(wù)的并行運行性能;B.用Cgroup代替PID來追蹤進程,即使是兩次fork之后生成的守護進程也不會脫離systemd的控制。

第五步:啟動終端

根據(jù)前面獲取的運行級別來啟動終端,mingetty程序是用于啟動終端的,它會調(diào)用登錄程序login,這樣就能顯示出登錄提示符了,類似mingetty這種用于打開終端的程序還有g(shù)etty等。而如果默認(rèn)運行級別為5,則會打開圖形界面。

之一步:硬件啟動過程

這一步和CentOS6差不多,詳細請看1.1內(nèi)容。

第二步:GRUB引導(dǎo)階段

從這一步開始,CentOS6和CentOS7的啟動流程區(qū)別開始展現(xiàn)出來了。CentOS7的主引導(dǎo)程序使用的是grub2,執(zhí)行過程是先加載boot.img、core.img兩個鏡像,再加載MOD模塊文件,把grub2程序加載執(zhí)行,接著解析配置文件/boot/grub/grub.cfg,根據(jù)配置文件加載內(nèi)核鏡像到內(nèi)存,之后構(gòu)建虛擬根文件系統(tǒng),最后轉(zhuǎn)到內(nèi)核。

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

第三步:內(nèi)部引導(dǎo)階段

這一步與CentOS6也差不多,加載驅(qū)動,切換到真正的根文件系統(tǒng),唯一不同的是執(zhí)行的初始化程序變成了/usr/lib/systemd/systemd。

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

CentOS7中我們的初始化進程變?yōu)榱藄ystemd。執(zhí)行默認(rèn)target配置文件/etc/systemd/system/default.target(這是一個軟鏈接,與默認(rèn)運行級別有關(guān))。然后執(zhí)行sysinit.target來初始化系統(tǒng)和basic.target來準(zhǔn)備操作系統(tǒng)。接著啟動multi-user.target下的本機與服務(wù)器服務(wù),并檢查/etc/rc.d/rc.local文件是否有用戶自定義腳本需要啟動。最后執(zhí)行multi-user下的getty.target及登錄服務(wù),檢查default.target是否有其他的服務(wù)需要啟動。

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

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

第五步:啟動終端

systemd執(zhí)行sysinit.target

systemd啟動multi-user.target下的本機與服務(wù)器服務(wù)

systemd執(zhí)行multi-user.target下面的/etc/rc.d/rc.local

Systemd執(zhí)行multi-user.target下的getty.target及登錄服務(wù)

getty.target是啟動終端的systemd對象。如果到此步驟,系統(tǒng)沒有指定啟動圖形桌面,到此就可以結(jié)束了,如果需要啟動圖形界面,要在此基礎(chǔ)上啟動桌面程序。

從 CentOS 7 版本之后,系統(tǒng)開始用 systemd 實現(xiàn)init進程,系統(tǒng)啟動和服務(wù)器守護進程管理器功能,負(fù)責(zé)在系統(tǒng)啟動或運行時,激活系統(tǒng)資源,服務(wù)器進程和其它進程。

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

3.2 system unit文件格式

/usr/lib/systemd/system:發(fā)行版打包者使用,每個服務(wù)最主要的啟動腳本設(shè)置,類似于之前的/etc/init.d/

/etc/systemd/system:系統(tǒng)管理員和用戶使用,管理員建立的執(zhí)行腳本,類似于/etc/rcN.d/Sxx的功能,比上面目錄優(yōu)先運行

/lib/systemd/system::ubutun的對應(yīng)目錄

/run/systemd/system:系統(tǒng)執(zhí)行過程中所產(chǎn)生的服務(wù)腳本,比上面目錄優(yōu)先運行

unit 格式說明:

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

Unit段的常用選項:

Service段的常用選項:

Install段的常用選項:

注意:對于新創(chuàng)建的unit文件,或者修改了的unit文件,要通知systemd重載此配置文件,而后可以選擇重啟。

首先在啟動界面按e編輯啟動參數(shù),

將ro參數(shù)更改為rw init=/sysroot/bin/sh,按ctr + x啟動系統(tǒng)

按下圖執(zhí)行命令更改root密碼

關(guān)于linux grub.cfg的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都服務(wù)器托管選創(chuàng)新互聯(lián),先上架開通再付費。
創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)-網(wǎng)站建設(shè),軟件開發(fā)老牌服務(wù)商!微信小程序開發(fā),APP開發(fā),網(wǎng)站制作,網(wǎng)站營銷推廣服務(wù)眾多企業(yè)。電話:028-86922220


新聞標(biāo)題:Linux Grub.cfg配置文件詳解 (linux grub.cfg)
當(dāng)前地址:http://www.dlmjj.cn/article/cdhhide.html