grub2基础教程Word下载.docx
- 文档编号:4511754
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:28
- 大小:28.87KB
grub2基础教程Word下载.docx
《grub2基础教程Word下载.docx》由会员分享,可在线阅读,更多相关《grub2基础教程Word下载.docx(28页珍藏版)》请在冰点文库上搜索。
1、安装ubuntu9.10时,grub默认安装在第一硬盘(hd0)的mbr,其实就是把引导文件boot.img写入硬盘的mbr,当然,用户也可以选择不写入硬盘mbr而是写入linux分区的引导扇区。
启动时根据mbr所提供信息找到启动分区后,加载分区内的grub核心文件core.img和配置文件grub.cfg,进入选择菜单画面,在菜单画面,按上下箭号选择需要系统菜单项,按Enter进入选项。
按e进入己选择菜单的编辑状态,在编辑状态下,由上下左右箭号来移动光标,enter键换行,ctrl+x以编辑的内容启动,ctrl+c进命令行状态,按Esc退出,回到菜单项。
在需要使用额外的内核参数启动时,比如要加上acpi=off时,把光标移动到linux这一行最后,在splash后加上一空格再输入acpi=off,然后按ctrl+x启动。
按c进入命令行状态,按Tab键可查看所有可用的命令。
在命令行状态,可以根据需要加载或移除相应模块,也可用来启动在菜单没有显现的的系统。
比如,在第一硬盘的第一分区上装有windowsxp系统,但在菜单上没显示出来,我们可以命令行状态下输入命令启动:
grubsetroot=(hd0,1)
grubchainloader+1
grubboot
又比如启动第二硬盘第一逻辑分区上的ubuntu系统:
grubsetroot=(hd1,5)
grublinux/boot/vmlinuz-__-__root=/dev/sdb5
grubinitrd/boot/initrd.img-__-__
其中内核vmlinuz和initrd.img的版本号可用按Tab键自动查看。
2、下面介绍下在grub2中一些常用的命令
1)help
查看命令用法,如
helpsearch:
查看search命令详细用法
2)set
设置变量值,如
setdefault=0
settimeout=5
setroot=(hd0,3)等等
需要调用变量AA的值时,使用${AA},如setroot=(hd1,1),则${root}=(hd1,1)
3)default
定义默认引导的操作系统。
0表示第一个操作系统,1表示第2个,依此类推
4)timeout
定义在时间内用户没有按下键盘上的某个按键,自动引导default指定的操作系统。
5)root
指定用于启动系统的分区。
6)insmod和rmmod
加载或移除某模块,如
insmodjpeg
insmodpng
insmodntfs
rmmodpng
等
7)drivemap
drivemap兼容grub的map,主要用于只能从第一硬盘(hd0)引导启动的系统如win2000xp2003,比如要添加第二硬盘第一分区上的xp系统:
menuentry“WindowsXP"
{
setroot=(hd1,1)
drivemap-s(hd0)${root}
chainloader+1
}
8)ls
列出当前的所有设备。
如(hd0),(hd0,1),(hd0,5),(hd1),(hd1,1),(hd1,2)等
ls-l
详细列出当前的所有设备。
对于分区,会显示其label及uuid。
ls/
列出当前设为root的分区下的文件
ls(hd1,1)/
列出(hd1,1)分区根目录的文件
9)search
search-f/ntldr
列出根目录里包含ntldr文件的分区,返回为分区号
search-lLINUX
搜索label是LINUX的分区。
search--set-f/ntldr
搜索根目录包含ntldr文件的分区并设为root,注意如果多个分区含有ntldr文件,
set失去作用。
10)loopback
loopback命令可用于建立回放设备,如
loopbacklo0(hd1,1)/abc.iso
可以使用lo0设备来访问abc.iso里的内容,比如说,可以从abc.iso里的软盘映像中启动
loopbacklo0(hd1,1)/aa.iso
linux(lo0)/memdisk
initrd(lo0)/abc.img
要删除某一回放设备,可以使用-d参数:
loopback-dlo0
分页显示。
setpager=1
显示满一页时暂停,按space继续
setpager=0
取消分页显示
12)linux
用linux命令取代grub中的kernel命令
13)chainloader
调用另一个启动器,如
chainloader(hd0,1)+1
调用第一硬盘第一分区引导扇区内的启动器,可以是windows或linux的启动器
14)grub2挂载软盘镜像
menuentry"
BootfromDOSIMG"
linux16/memdisk
initrd16/win98.img
对非标准的1.4M和2.8M的其他镜像挂载方法,需要指定CHS参数:
BootfromIMG"
linux16/memdiskc=*h=*s=*floppy
initrd16/__.img
15)grub2挂载ubuntu-desktop的镜像启动进入livecd
内存够大时(大于iso镜像)可以用loopback,把iso文件放在某一分区根目录下:
Ubuntu10.01LiveCD"
search-f-s/ubuntu-desktop-i386.iso
loopbackloop/ubuntu-desktop-i386.iso
linux(loop)/casper/vmlinuzboot=casperiso-scan/filename=/ubuntu-desktop-i386.iso
initrd(loop)/casper/initrd.lz
iso按实际文件名修改
内存不够时,把iso内casper目录下的vmlinuz和initrd.lz复制出来和iso文件放在同一分区根目录下:
linux/vmlinuzboot=casperiso-scan/filename=/ubuntu-desktop-i386.iso
initrd/initrd.lz
grub2改用grub.cfg为配置文件,配置文件包含以下基本内容:
(红色为解释部分)
###BEGIN/etc/grub.d/00_header###
load_env
#加载变量,如果在grubenv保存变量,则启动时装载
setdefault="
0"
#设置默认引导项,默认值为0
insmodext2
#插入文件系统支持的模块,除了用作启动的分区外,其他分区格式可在menuentry底下再添加
setroot=(hd0,8)
#指定系统root分区,也就是/分区
search--no-floppy--fs-uuid--set2d61e5f9-1d2a-4167-a6f1-b991ba00878b
#指定uuid=2d61e5f9-1d2a-4167-a6f1-b991ba00878b的分区为root分区,如果前面的分区号(hd0,8)的#uuid与这里的uuid一致,这两句作用一样,如果不一致,则指定uuid的起作用。
ifloadfont/usr/share/grub/unicode.pf2;
then
#设置终端字体,unicode.pf2支持中文字符显示
setgfxmode=640x480
#设置显示分辨率,默认为640x480,可用800x600,1024x768,建议跟你想设定的图片大小一致insmodgfxterm
#插入终端模块gfxterm,支持中文字符显示和支持24位图像
insmodvbe
#插入vbe模块,GRUB2引入模块化机制,要使用它,需要在这里加入
ifterminal_outputgfxterm;
thentrue;
else
#Forbackwardpatibilitywithversionsofterminal.modthatdon'
t
#understandterminal_output
terminalgfxterm
#设定grub2终端为gfxterm
fi
if[${recordfail}=1];
settimeout=-1#若有启动失败的记录,则菜单项不再倒计时
settimeout=10#倒计时10秒后进按默认启动项启动
#设定默认启动前等待时间,默认为10秒
###END/etc/grub.d/00_header###
###BEGIN/etc/grub.d/05_debian_theme###
setmenu_color_normal=white/black
#设定菜单字体及背景颜色
setmenu_color_highlight=black/blue
#设定选择项字体及背景颜色
#如果使用默认,背景将完全被蓝色挡住了,需要修改blue为black,背景图片才能显示
###END/etc/grub.d/05_debian_theme###
###BEGIN/etc/grub.d/10_linux###
#10_linux为系统自动添加的当前root分区linux引导项
#每个菜单项要包括menuentry双引号"
"
和大括号{}才完整,否则不显示菜单
Ubuntu,Linux2.6.31-10-generic"
setquiet=1
#这句与setroot=(hd0,8)效果一样,可删除其一,二者不一致以这句为准
linux/boot/vmlinuz-2.6.31-10-genericroot=UUID=2d61e5f9-1d2a-4167-a6f1-b991ba00878broquietsplash#不喜欢看到一长串的,roo=UUID=__可用root=/dev/sda8(/分区的分区号)代替
initrd/boot/initrd.img-2.6.31-10-generic
。
###END/etc/grub.d/10_linux###
#20_memtest86+为系统自动添加的内存测试菜单项
###BEGIN/etc/grub.d/20_memtest86+###
Memorytest(memtest86+)"
linux16/boot/memtest86+.bin
Memorytest(memtest86+,serialconsole*****)"
linux16/boot/memtest86+.binconsole=ttyS0,*****n8
###END/etc/grub.d/20_memtest86+###
#30_os-prober或30_others为系统自动查找并添加其他系统菜单项,按windows,linux,macos顺序#查找并添加,支持windows7识别
###BEGIN/etc/grub.d/30_os-prober###
###END/etc/grub.d/30_os-prober###
###BEGIN/etc/grub.d/30_otheros###
#ThisentryautomaticallyaddedbytheDebianinstallerforanon-linuxOS
#onsda1
MicrosoftWindowsXPProfessional"
setroot=(hd0,1)
search--no-floppy--fs-uuid--sete852-230b
drivemap-s(hd0)$root
#对以ntldr引导的系统如win2000,xp,win2003,因其引导机制只能从第一硬盘启动,系统会自动添加#映射命令,对vista和win7就没有这句命令
###END/etc/grub.d/30_otheros###
#40_custom为自定义的启动项,如启动cdlinux
###BEGIN/etc/grub.d/40_custom###
CDLinux"
{
linux/CDlinux/bzImageroot=/dev/ram0vga=791CDL_LANG=zh_CN.UTF-8
initrd/CDlinux/initrd
###END/etc/grub.d/40_custom###
定制个性化的配置文件,可以加入背景图片,使用中文字符,让启动画面独具特色,而不是单调的黑、白、蓝三色。
下面是一张经美化启动画面:
该怎样定制个性化的配置文件呢?
系统安装完成后,用户就会发现/boot/grub/grub.cfg文件只有root权限可读,如果要直接修改grub.cfg文件,要先修改其权限。
好不容易把grub.cfg修改好了,系统内核或grub升级时,会自动执行update-grub,grub.cfg文件就会被打回原形,如何保证修改后的配置文件能一直保留下来呢?
其实不用修改grub.cfg,只要把个性化配置写入/etc/default/目录下的grub和/etc/gurb.d目录下的脚本文件,以后不管升级内核或者是升级grub所执行的update-grub,都会按要求创建个性化的grub.cfg。
1、首先看下/etc/default/grub,先从应用程序-附件里打开终端,输入
sudogedit/etc/default/grub
用户密码
看看打开的文件可作什么修改:
#Ifyouchangethisfile,run'
update-grub'
afterwardstoupdate
#/boot/grub/grub.cfg.
GRUB_*****=0--------设置默认启动项,按menuentry顺序。
比如要默认从第四个菜单项启动,数字改为3,若改为saved,则默认为上次启动项。
GRUB_HIDDEN_*****=0默认为0,单系统时启动菜单自动隐藏,要取消自动隐藏菜单,改为大于0再sudoupdate-grub。
(注意:
单系统下/etc/grub.d/30_os-prober可能没引用这里的变量,如果修改这里不能显示菜单,还要修改/etc/grub.d/30_os-prober,具体看下面修改部份)
GRUB_HIDDEN_*****_QUIET=true
GRUB_*****="
3"
-----------设置进入默认启动项的等候时间,默认值10秒,按自己需要修改
GRUB_*****UTOR=`lsb_release-i-s2/dev/null||echoDebian`
GRUB_*****_LINUX_*****="
quietsplash"
-----------添加内核启动参数,这个为默认
GRUB_*****_LINUX="
noresume"
---------手动添加内核启动参数,比如acpi=offnoapic等可在这里添加,加text参数启动进入字符模式。
#menttodisablegraphicalterminal(grub-pconly)
#GRUB_*****L=console----------设置是否使用图形介面。
去除前面#,仅使用控制台终端,不使用图形介面
#Theresolutionusedongraphicalterminal
#notethatyoucanuseonlymodeswhichyourgraphiccardsupportsviaVBE
#youcanseetheminrealGRUBwiththemand`vbeinfo'
#GRUB_*****=640x480设定图形介面分辨率,如不使用默认,把前面#去掉,把分辨率改为800x600或1024x768
#mentifyoudon'
twantGRUBtopass"
root=UUID=__"
parametertoLinux
#GRUB_*****_LINUX_UUID=true----------设置grub命令是否使用UUID,去掉#,使用root=/dev/sdax而不用root=UUDI=__
#menttodisablegenerationofrecoverymodemenuentrys
#GRUB_*****_LINUX_*****Y="
true"
-----------设定是否创建修复模式菜单项
2、再看下/etc/grub.d目录下的脚本文件:
00_header,05_debian_theme,10_linux,20_memtest86+,30_os-prober,40_custom这五个脚本对应grub.cfg上的各个部分,有的版本的grub可能把30_os-prober分出另一部分为30_os-others,这并不影响。
怎样修改这些脚本文件才能保证不会破坏update-grub的运行,又能让生成的grub.cfg合乎意愿呢?
其实很简单,只要在脚本文件中找到
catEOF
__
EOF
这类语句,EOF中间的文本会直接写入grub.cfg中相应位置,所以个性化的语句添加在这地方就可以了。
其他使用变量的语句不要随变做修改,除非你清楚修改后会有什么结果。
1)看看00_header,一样在终端中打开sudogedit/etc/grub.d/00_header,找到这部分
load_env-加载由save_env保存在grubenv的变量
${GRUB_*****}"
----------使用/etc/default/grub中的设定值
if[/${prev_saved_entry}];
saved_entry=/${prev_saved_entry}
save_envsaved_entry
prev_saved_entry=------------变里设置的变量由下句保存到grubenv
save_envprev_saved_entry
fi--------这里回车添加新行后可插入需要添加的模块
insmodjpeg-------添加背景图片格式支持,如jpeg,png,tga等。
insmodfat--------添加文件系统格式支持如fat,ntfs,也可在menuentry下添加
再看看最后这一段
if[/${recordfail}=1];
settimeout=-1--------设定为若有启动失败记录,不倒计时,不会进入默认启动,需手动选择才能启动选择项,若要设置为即使曾启动错误也进行默认启动,可把时间设为
合适的正值,如settimeout=5
settimeout=${GRUB_*****}------使用/etc/default/grub中的设定值
fi--------这行后添加行
background_image(hd0,7)/boot/images/002.jpg--------添加背景图片的绝对路径,可以按
05_debian_theme修改图片路径。
2)05_debian_theme修改字体及背景颜色、添加背景图片
先打开文件sudogedit/etc/grub.d/05_debian_theme
看这里
setmenu_color_normal=white/black-------设置菜单全局的字体和背景颜色
setmenu_color_highlight=black/white-------设置选择项的字体和背景颜色。
可供使用菜单颜色有:
black(当背景色时为透明),blue,green,cyan,red,magenta,brown,light-gray,dark-gr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- grub2 基础教程