grubcfg.docx

上传人:b****5 文档编号:30370137 上传时间:2023-08-13 格式:DOCX 页数:23 大小:23.05KB
下载 相关 举报
grubcfg.docx_第1页
第1页 / 共23页
grubcfg.docx_第2页
第2页 / 共23页
grubcfg.docx_第3页
第3页 / 共23页
grubcfg.docx_第4页
第4页 / 共23页
grubcfg.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

grubcfg.docx

《grubcfg.docx》由会员分享,可在线阅读,更多相关《grubcfg.docx(23页珍藏版)》请在冰豆网上搜索。

grubcfg.docx

grubcfg

Ubuntu9.10grub2的启动配置文件grub.cfg

[日期:

2009-12-03]来源:

Ubuntu社区作者:

smallapplehacklong1

摘记的比较乱,自己做个笔记,大家略去。

(LinuxIDC)

升级到Ubuntu9.10后,就要接触grub2了,它和以前的版本有了很多的不同。

这里是一个基础教程。

一、grub2的启动配置文件grub.cfg

grub2的启动配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。

如果你是多系统,有Ubuntu和windows,那么用下面的命令,可以使grub2得到所以可以启动的系统。

sudoupdate-grub

实际就是让系统自己生成合适的grub.cfg文件。

这个grub.cfg文件是只读属性,so如果你要修改它,需要权限。

sudochmod+w/boot/grub/grub.cfg

然后可以编辑grub.cfg了。

sudogedit/boot/grub/grub.cfg

二、默认系统和等待时间

1、setdefault=0

这是说从第一项启动。

每个启动项都是以menuentry开始,menuentry后面“xxx”是启动项名称,然后{xxx}是启动代码。

###BEGIN/etc/grub.d/10_linux

###menuentry“Ubuntu,Linux2.6.31-14-generic”{

recordfail=1if[-n${have_grubenv}];

thensave_envrecordfail;

fisetquiet=1insmodext2setroot=(hd0,6)search–no-floppy–fs-uuid–set040508ff-fec7-4c66-ba64-a09f8abe8059linux/boot/vmlinuz-2.6.31-14-genericroot=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059roquietsplashinitrd/boot/initrd.img-2.6.31-14-generic}menuentry“Ubuntu,Linux2.6.31-14-generic(recoverymode)”{recordfail=1if[-n${have_grubenv}];

thensave_envrecordfail;fiinsmodext2setroot=(hd0,6)search–no-floppy–fs-uuid–set040508ff-fec7-4c66-ba64-a09f8abe8059linux

/boot/vmlinuz-2.6.31-14-generic

root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059

rosingleinitrd/boot/initrd.img-2.6.31-14-generic}

###END/etc/grub.d/10_linux

######BEGIN/etc/grub.d/20_memtest86+

###menuentry“Memorytest(memtest86+)”{linux16/boot/memtest86+.bin}menuentry“Memorytest(memtest86+,serialconsole115200)”{linux16/boot/memtest86+.binconsole=ttyS0,115200n8}

###END/etc/grub.d/20_memtest86+

######BEGIN/etc/grub.d/30_os-prober

###menuentry“MicrosoftWindowsXPHomeEdition(on/dev/sda1)”{insmodntfssetroot=(hd0,1)search–no-floppy–fs-uuid–set5c108a1c1089fd70drivemap-s(hd0)${root}chainloader+1}ifkeystatus;thenifkeystatus–shift;thensettimeout=-1elsesettimeout=10fielseifsleep$verbose–interruptible3;thensettimeout=10

Fi

fi

###END/etc/grub.d/30_os-prober

######BEGIN/etc/grub.d/10_linux

###menuentry“Ubuntu,Linux2.6.31-14-generic”{

recordfail=1

if[-n${have_grubenv}];thensave_envrecordfail;fi

setquiet=1

insmodext2

setroot=(hd0,6)

search–no-floppy–fs-uuid–set040508ff-fec7-4c66-ba64-a09f8abe8059

linux/boot/vmlinuz-2.6.31-14-genericroot=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059roquietsplash

initrd/boot/initrd.img-2.6.31-14-generic

}

menuentry“Ubuntu,Linux2.6.31-14-generic(recoverymode)”{

recordfail=1

if[-n${have_grubenv}];thensave_envrecordfail;fi

insmodext2

setroot=(hd0,6)

search–no-floppy–fs-uuid–set040508ff-fec7-4c66-ba64-a09f8abe8059

linux/boot/vmlinuz-2.6.31-14-genericroot=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059rosingle

initrd/boot/initrd.img-2.6.31-14-generic

}

###END/etc/grub.d/10_linux###

###BEGIN/etc/grub.d/20_memtest86+###

menuentry“Memorytest(memtest86+)”{

linux16/boot/memtest86+.bin

}

menuentry“Memorytest(memtest86+,serialconsole115200)”{

linux16/boot/memtest86+.binconsole=ttyS0,115200n8

}

###END/etc/grub.d/20_memtest86+###

###BEGIN/etc/grub.d/30_os-prober###

menuentry“MicrosoftWindowsXPHomeEdition(on/dev/sda1)”{

insmodntfs

setroot=(hd0,1)

search–no-floppy–fs-uuid–set5c108a1c1089fd70

drivemap-s(hd0)${root}

chainloader+1

}

ifkeystatus;then

ifkeystatus–shift;then

settimeout=-1

else

settimeout=10

fi

else

ifsleep$verbose–interruptible3;then

settimeout=10

fi

fi

###END/etc/grub.d/30_os-prober###

我的第五个启动项是menuentry“MicrosoftWindowsXPHomeEdition(on/dev/sda1)”,我要它默认是以xp启动,所以修改为setdefault=”4″。

(hd0,1)表示第一块硬盘的第一个分区,我的Linux在(hd0,6)。

当然,你也可以把你需要默认启动的系统放到最前面,那么就还是setdefault=0

2、settimeout=10

if[${recordfail}=1];then

settimeout=-1

else

settimeout=10

fi

这里停留在grub选择系统界面的时间就是10秒,即settimeout=10。

有时候我并不想等待这么久,我直接启动xp,需要Ubuntu时才按几下Shift键进入grub选择系统界面。

可以添加如下代码:

ifkeystatus;then

ifkeystatus–shift;then

settimeout=-1

else

settimeout=10

fi

else

ifsleep$verbose–interruptible3;then

settimeout=10

fi

fi

三、其他详细配置说明

请点击此处下载grub2基础教程-修订版.pdf

四、我的grub.cfg文件

安装了xp和Ubuntu,默认启动xp,在电脑启动grub时,按Shift键进入系统选择界面。

#

#DONOTEDITTHISFILE

#

#Itisautomaticallygeneratedby/usr/sbin/grub-mkconfigusingtemplates

#from/etc/grub.dandsettingsfrom/etc/default/grub

#

###BEGIN/etc/grub.d/00_header###

if[-s/boot/grub/grubenv];then

have_grubenv=true

load_env

fi

setdefault=”4″

if[${prev_saved_entry}];then

saved_entry=${prev_saved_entry}

save_envsaved_entry

prev_saved_entry=

save_envprev_saved_entry

fi

insmodext2

setroot=(hd0,6)

search–no-floppy–fs-uuid–set040508ff-fec7-4c66-ba64-a09f8abe8059

ifloadfont/usr/share/grub/unicode.pf2;then

setgfxmode=640×480

insmodgfxterm

insmodvbe

ifterminal_outputgfxterm;thentrue;else

#Forbackwardcompatibilitywithversionsofterminal.modthatdon’t

#understandterminal_output

terminalgfxterm

fi

fi

if[${recordfail}=1];then

settimeout=-1

else

settimeout=10

fi

###END/etc/grub.d/00_header###

###BEGIN/etc/grub.d/05_debian_theme###

setmenu_color_normal=white/black

setmenu_color_highlight=black/white

###END/etc/grub.d/05_debian_theme###

###BEGIN/etc/grub.d/10_linux###

menuentry“Ubuntu,Linux2.6.31-14-generic”{

recordfail=1

if[-n${have_grubenv}];thensave_envrecordfail;fi

setquiet=1

insmodext2

setroot=(hd0,6)

search–no-floppy–fs-uuid–set040508ff-fec7-4c66-ba64-a09f8abe8059

linux/boot/vmlinuz-2.6.31-14-genericroot=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059roquietsplash

initrd/boot/initrd.img-2.6.31-14-generic

}

menuentry“Ubuntu,Linux2.6.31-14-generic(recoverymode)”{

recordfail=1

if[-n${have_grubenv}];thensave_envrecordfail;fi

insmodext2

setroot=(hd0,6)

search–no-floppy–fs-uuid–set040508ff-fec7-4c66-ba64-a09f8abe8059

linux/boot/vmlinuz-2.6.31-14-genericroot=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059rosingle

initrd/boot/initrd.img-2.6.31-14-generic

}

###END/etc/grub.d/10_linux###

###BEGIN/etc/grub.d/20_memtest86+###

menuentry“Memorytest(memtest86+)”{

linux16/boot/memtest86+.bin

}

menuentry“Memorytest(memtest86+,serialconsole115200)”{

linux16/boot/memtest86+.binconsole=ttyS0,115200n8

}

###END/etc/grub.d/20_memtest86+###

###BEGIN/etc/grub.d/30_os-prober###

menuentry“MicrosoftWindowsXPHomeEdition(on/dev/sda1)”{

insmodntfs

setroot=(hd0,1)

search–no-floppy–fs-uuid–set5c108a1c1089fd70

drivemap-s(hd0)${root}

chainloader+1

}

ifkeystatus;then

ifkeystatus–shift;then

settimeout=-1

else

settimeout=10

fi

else

ifsleep$verbose–interruptible3;then

settimeout=10

fi

fi

###END/etc/grub.d/30_os-prober###

###BEGIN/etc/grub.d/40_custom###

#Thisfileprovidesaneasywaytoaddcustommenuentries.Simplytypethe

#menuentriesyouwanttoaddafterthiscomment.Becarefulnottochange

#the‘exectail’lineabove.

###END/etc/grub.d/40_custom###

一、grub.cfg详解(红色为说明)

说明:

grub.cfg默认为只读,需要个性化配置文件的,建议不要直接修改grub.cfg,请参考链接的pdf文档和google文档。

setdefault=0

#默认为0

insmodjpeg

#添加jpg支持,如要使用png或tga文件做背景,加上insmodpng或insmodtga

insmodext2

#除了用作启动的分区外,其他分区格式可在menu底下再添加

setroot=(hd0,7)

#设定root分区

search--no-floppy--fs-uuid--setf255285a-5ad4-4eb8-93f5-4f767190d3b3

#设定uuid=****的分区为root,和上句重复,可删除

#以下为终端配置

ifloadfont/usr/share/grub/unicode.pf2;then

#设置终端字体,unicode.pf2支持中文显示

setgfxmode=640x480

#设置分辨率,默认为640x480,可用800x600,1024x768,建议跟你想设定的图片大小一致

insmodgfxterm

#插入模块gfxterm,支持中文显示,它还支持24位图像

insmodvbe

#插入vbe模块,GRUB2引入很多模块的东西,要使用它,需要在这里加入

ifterminal_outputgfxterm;thentrue;else

#Forbackwardcompatibilitywithversionsofterminal.modthatdon't

#understandterminal_output

terminalgfxterm

#设置GRUB2终端为gfxterm

fi

fi

settimeout=10

background_image(hd0,7)/boot/images/1.jpg

#设置背景图片

###END/etc/grub.d/00_header###

###BEGIN/etc/grub.d/05_debian_theme###

setmenu_color_normal=white/black

setmenu_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,Linux2.6.31-9-386"{

insmodext2

setroot=(hd0,7)

search--no-floppy--fs-uuid--setf255285a-5ad4-4eb8-93f5-4f767190d3b3

#这句与setroot=(hd0,7)重复,可删除

linux/boot/vmlinuz-2.6.31-9-386root=UUID=f255285a-5ad4-4eb8-93f5-4f767190d3b3roquitesplash

#不喜欢看到一长串的,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"Memorytest(memtest86+)"{

linux16/boot/memtest86+.bin

}

###END/etc/grub.d/20_memtest86+###

#自动添加存在于其他分区的系统引导项

###BEGIN/etc/grub.d/30_os-prober###

#windows启动菜单

menuentry"WindowsVista(loader)(on/dev/sda1)"{

insmodntfs

#windows格式为ntfs,或为fat32改为insmodfat

setroot=(hd0,1)

search--no-floppy--fs-uuid--setece067d2e067a196

#可删除

#grub2比较先进的地方就是如果发现windows启动是通过ntldr引导的,定为2000/xp/2003,会在这加上drivemap-s(hd0)${root},作用相当于grub的map,可正常启动非第一硬盘的xp/2003系统。

chainloader+1

}

#查找到其他分区上的linux系统并自动添加

menuentry"Ubuntukarmic(developmentbranch)(9.10)(on/dev/sda3)"{

insmodext2

setroot=(hd0,3)

search--no-floppy--fs-uuid--set4d893970-0685-44ed-86b3-1de45b2db84a

linux/boot/vmlinuz-2.6.31-9-genericroot=/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"{

setroot=(hd0,8)

linux/CDlinux/bzImageroot=/dev/ram0vga=791CDL_LANG=zh_CN.UTF-8

initrd/CDlinux/initrd

}

###END/etc/grub.d/40_custom###

#手动添加时,硬盘编号从0开始(hd0),主分区编号从1开始(hd0,1),逻辑分区从5开始(hd0,5)

本篇文章来源于Linux公社网站()原文链接:

http:

//www.linuxidc.c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1