1. 程式人生 > >Ubuntu的啟動配置檔案grub.cfg(menu.lst)設定指南

Ubuntu的啟動配置檔案grub.cfg(menu.lst)設定指南

一、grub.cfg詳解(紅色為說明)

說明:grub.cfg預設為只讀,需要個性化配置檔案的,建議不要直接修改grub.cfg,請參考連結的pdf文件和google文件。

set default=0
#預設為0
insmod jpeg
#新增jpg支援,如要使用png或tga檔案做背景,加上 insmod png或insmod tga
insmod ext2
#除了用作啟動的分割槽外,其他分割槽格式可在menu底下再新增
set root=(hd0,7)
#設定root分割槽
search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3
#設定uuid=****的分割槽為root,和上句重複,可刪除# 以下為終端配置
if loadfont /usr/share/grub/unicode.pf2 ; then
#設定終端字型,unicode.pf2支援中文顯示
set gfxmode=640x480
#設定解析度,預設為 640x480,可用800x600,1024x768,建議跟你想設定的圖片大小一致
insmod gfxterm
#插入模組 gfxterm,支援中文顯 示,它還支援 24 點陣圖像
insmod vbe
#插入 vbe 模組,GRUB 2 引入很多模組的東西,要使用它,需要在這裡加入
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
#設定 GRUB 2 終端為 gfxterm
fi
fi
set timeout=10
background_image (hd0,7)/boot/images/1.jpg
#設定背景圖片
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=cyan/black
#這兩行為 Debian 下的選單顏色設定,如果預設的話,你會發現背景完全被藍色擋住了,你需要修改 blue 為 black,這樣背景就會出現 
### END /etc/grub.d/05_debian_theme ###

# 10_linux 為自動新增的當前root分割槽linux引導項
### BEGIN /etc/grub.d/10_linux ###
#選單項,要包括 menuentry 雙引號" " 和大括號 { }才完整,否則不顯示選單
menuentry "Ubuntu, Linux 2.6.31-9-386" {
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3
#這句與set root=(hd0,7)重複,可刪除
linux /boot/vmlinuz-2.6.31-9-386 root=UUID=f255285a-5ad4-4eb8-93f5-4f767190d3b3 ro quite splash
#不喜歡看到一長串的, roo=UUID=***可用root=/dev/sda7代替
initrd /boot/initrd.img-2.6.31-9-386
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
### END /etc/grub.d/20_memtest86+ ###

# 自動新增存在於其他分割槽的系統引導項
### BEGIN /etc/grub.d/30_os-prober ###
#windows 啟動選單
menuentry "Windows Vista (loader) (on /dev/sda1)" {
insmod ntfs
#windows格式為ntfs,或為fat32改為 insmod fat 
set root=(hd0,1)
search --no-floppy --fs-uuid --set ece067d2e067a196
#可刪除#grub2比較先進的地方就是如果發現windows啟動是通過ntldr 引導的,定為2000/xp/2003,會在這加上 drivemap -s (hd0) ${root} ,作用相當於grub的map,可正常啟動非第一硬碟的xp/2003系統。
chainloader +1 
}
# 查詢到其他分割槽上的linux系統並自動新增 
menuentry "Ubuntu karmic (development branch) (9.10) (on /dev/sda3)" {
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 4d893970-0685-44ed-86b3-1de45b2db84a
linux /boot/vmlinuz-2.6.31-9-generic root=/dev/sda3
initrd /boot/initrd.img-2.6.31-9-generic
}
#若存在macos會自動在這裡新增。
### END /etc/grub.d/30_os-prober ###
# 以下為手動新增的選單項
### BEGIN /etc/grub.d/40_custom ###
menuentry "CDLinux"{
set root=(hd0,8)
linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8
initrd /CDlinux/initrd
}
### END /etc/grub.d/40_custom ###

# 手動新增時,硬碟編號從0開始(hd0),主分割槽編號從1開始(hd0,1),邏輯分割槽從5開始(hd0,5)
二、grub2終端部分命令介紹
在出現選擇選單時,按C進入終端命令列模式,按E進入當前選單項編輯模式(和grub一樣),編輯中按Ctrl + C退出,按Ctrl + X 以編輯內容啟動。

1. help
檢視命令用法,顯示所有可用命令
help search 
search 命令用法
2. ls
列出當前的所有裝置。如 (hd0) (hd0,1) (hd0,5) (hd1) (hd1,1) (hd1,2) .......
ls -l
詳細列出當前的所有裝置。對於分割槽,會顯示其label及uuid。
ls /
列出當前設為root的分割槽下的檔案
ls (hd1,1)/
列出(hd1,1)分割槽下檔案
3. search
search -f /ntldr
列出根目錄裡包含ntldr檔案的分割槽,返回為分割槽號
search -l LINUX
搜尋label是LINUX的分割槽。
search --set -f /ntldr
搜尋根目錄包含ntldr檔案的分割槽並設為root,注意如果多外分割槽含有ntldr檔案,set 失去作用。
4. loopback
loopback命令可用於建立回放裝置,如
loopback lo0 (hd1,1)/abc.iso

可以使用lo0裝置來訪問abc.iso裡的內容,比如說,可以從abc.iso裡的軟盤映像中啟動
 
loopback lo0 (hd1,1)/aa.iso
linux (lo0)/memdisk
initrd (lo0)/abc.img

要刪除某一回放裝置,可以使用-d引數:
 
loopback -d lo0
5. set
使用set可以設定變數的值
set root=
set timeout=
需要呼叫變數的值時,使用${AA},如set root=(hd1,1)
則${root}=(hd1,1)
6. pager
分頁顯示。
set pager=1
滿頁時暫停,按space繼續
set pager=0
取消分頁
7. linux
三、
單linux系統或
硬碟安裝時iso放在C盤,umount /isodevice引起的誤認為單系統
不能出現選單項的幾種處理方法。
1. 開機自檢後時按幾下shift鍵,可調出選單項
2. sudo update-grub
重建grub.cfg,會發現新的系統而改寫grub.cfg,一般能出現選單項。
3.如第二種方法不能解決,直接修改grub.cfg
把在### BEGIN /etc/grub.d/30_os-prober 中的這一段
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep$verbose --interruptible 3 ; then
set timeout=0
fi
fi
刪除或修改三處set timeout=<大於0>
四、雙硬碟雙系統 Grub Loading時間過長的解決方案

grub2的boot.img設定root的uuid從第一分割槽開始搜尋分割槽的/boot/grub下的模組並載入, 如果linux分割槽處於第二硬碟甚至第三硬碟,會導致搜尋時間過長而,出現選單時間會長達10多秒。
對雙(多)硬碟的情況建議把grub安裝在ubuntu所在硬碟的mbr上,/boot分割槽或 / 分割槽 儘量靠前,並設該硬碟為啟動盤,會大大縮短啟動時間。

相關推薦

Ubuntu啟動配置檔案grub.cfgmenu.lst設定指南

一、grub.cfg詳解(紅色為說明)說明:grub.cfg預設為只讀,需要個性化配置檔案的,建議不要直接修改grub.cfg,請參考連結的pdf文件和google文件。 set default=0#預設為0 insmod jpeg#新增jpg支援,如要使用png或tga檔案做背景,加上 insmod pn

mongo shell啟動配置檔案.mongorc.js

如果你的主目錄下有個.mongorc.js檔案,那麼當你啟動shell時他就會自動執行。使用它可以初始化任何你經常使用的helper方法和你不想意外操作的刪除方法。 比如,你不想使用預設的dropDatabase()方法了,你可以在.mongorc.js檔案中新增下面的命令: 複製內容到剪貼簿 程式碼:

mybatis配置檔案祥解mybatis.xml

以下是mybatis.xml檔案,提倡放在src目錄下,檔名任意 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

屬性配置檔案資訊加密基於jasypt

    之前專案使用的是druid連線池,後來切換到hikari(號稱java平臺最快的連線池),需要自己加密資料庫密碼,故使用jasypt對專案敏感資訊實現加密。   pom.xml   application.yml &nb

Android安全/開發基礎--15--應用程式配置檔案詳解AndroidManifest.xml

================================================================= Android應用程式都需要有清單檔案。該檔案必須命名為AndroidManifest.xml且必須防止在應用程式根目錄中。它聲明

ubuntu配置python開發環境Eclipese+Pydev

大家都知道,ubuntu中自帶了python,不用安裝,直接就可以在編寫執行python。個人覺得這是ubuntu最大的優點之一,windows什麼都要再裝,而且還那麼大。。。 當然,工欲善其事,必先利其器。現在很少有人寫程式不用IDE了,寫python固然也有一些獨立的ID

spring配置檔案詳解applicationContext.xml

上次在開發時遇到建立的新路徑下的model類在部署時不能與資料庫表對映的問題,找到原因是在applicationContext.xml檔案中沒有新增我新建立的路徑,所以spring找不到我的model類,也就無法完成部署。 這裡說一下applicationCo

三大框架ssh學習——配置檔案詳解一)

配置檔案詳解 指定web應用預設字符集 <constant name="struts.i18n.encoding" value="gbk" /> 此配置相當於: request.setCharacterEncoding(“gbk”); r

三大框架ssh學習——配置檔案詳解

多配置檔案實現 專案經常需要多人協作開發,但是如果大家都是用同一個struts.xml檔案,會互相影響不利於開發的正常開展。這樣,我們可以通過<include>元素指定多個配置檔案。 可以在src下面建立多個struts配置檔案。然後再struts.xml中分別引入: str

spring-boot configuration processor 讓配置檔案有提示不包括自定義的

IDEA新建spring-boot時  勾選該項   勾選該項後pom.xml就會出現 <dependency> <groupId>org.springframework.boot</groupId> <

專案中讀取配置檔案的方式

import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** 有時,需要配置檔案,配置檔案中儲存的內容是什麼 ? 儲存屬性 儲存一些經常

專案中常用的讀取配置檔案的方式

package com.bjpowernode.demo01; import java.util.ResourceBundle; /** ResourceBundle讀取配置檔案 @author Administrator */ public clas

活動1(活動在配置檔案的註冊,Menu,活動的切換、銷燬,活動間資料的傳遞)

活動是Android平臺上應用程式的基本構建塊之一。它們充當使用者與應用程式互動的入口點,也是使用者如何在應用程式中導航(如“後退”按鈕)或應用程式之間(與“最近”按鈕一樣)的核心。 一.在AndroidManifest中註冊活動 活動的註冊宣告放在<application>標籤

Hibernate ---核心配置檔案(Hibernate.cfg.xml)詳解

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC     "-//Hibernate/Hibernate Configuration DTD

linux使用者登入啟動配置檔案

( 1 ) /etc/profile : 此檔案為系統的每個使用者設定環境資訊 , 當用戶第一次登入時 , 該檔案被執行 .  並從 /etc/profile.d 目錄的配置檔案中搜集 shell 的設定。 ( 2 ) /etc/bashrc:&n

vsftpd配置檔案詳解

  vsftpd配置檔案詳解     1.預設配置:

【SpringBoot學習之路】08.Springboot配置檔案詳解

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾【SpringBoot學習之路】08.Springboot配置檔案詳解(四)  自動配置原理 配置檔案到底能寫什麼?怎麼寫?自動配置原理; 配置檔案能配置的屬性參照

【SpringBoot學習之路】07.Springboot配置檔案詳解

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾 【SpringBoot學習之路】07.Springboot配置檔案詳解(三) Profile多環境支援 Profile是Spring對不同環境提供不同配置功能的支援,可以通

【SpringBoot學習之路】06.Springboot配置檔案詳解

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾 【SpringBoot學習之路】06.Springboot配置檔案詳解(二) 配置檔案值注入 @Value獲取值和@ConfigurationProperties獲取值比較

【SpringBoot學習之路】05.Springboot配置檔案詳解

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾【SpringBoot學習之路】05.Springboot配置檔案詳解(一)  配置檔案 Spring Boot使用一個全域性的配置檔案 applic