ubuntu-grub-启动项教程精品资料.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《ubuntu-grub-启动项教程精品资料.docx》由会员分享,可在线阅读,更多相关《ubuntu-grub-启动项教程精品资料.docx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、grub2基础教程-修订版 smallapple目录一、grub2新特性二、grub2安装与启动三、grub2配置文件详解四、脚本修改五、使用grub2常见错误及修复方法一、grub2新特性1、grub2和grub有很多不同的地方:a)图形接口b)使用了模块机制,通过动态加载需要的模块来扩展功能c)支持脚本语言,例如条件判断,循环、变量和函数d)支持rescue模式,可用于系统无法引导的情况e)国际化语言。包括支持非ASCII的字符集和类似gettext的消息分类,字体,图形控制台等等f)有一个灵活的命令行接口。如果没有配置文件存在,GRUB会自动进入命令模式g)针对文件系统、文件、设备、驱动
2、、终端、命令、分区表、os loder的模块化、层次化、基于对象的框架h)支持多种文件系统格式i)可访问已经安装的设备上的数据j)支持自动解压2、设备的命名grub2同样以fd表示软盘,hd表示硬盘(包含IDE和SCSI硬盘)。设备是从0开始编号,分区则是从1开始,主分区从1-4,逻辑分区从5开始,而grub分区编号是从0开始的。下面给出几个例子 :(fd0):表示整个软盘(hd0,1):表示BIOS中的第一个硬盘的第1个分区(hd0,5)/boot/vmlinuz:表示BIOS中的第一个硬盘的第一个逻辑分区下的boot目录下的vmlinuz文件二、grub2安装与启动1、安装ubuntu9.
3、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
4、时,把光标移动到linux这一行最后,在splash后加上一空格再输入acpi=off,然后按ctrl+x启动。按c进入命令行状态,按Tab键可查看所有可用的命令。在命令行状态,可以根据需要加载或移除相应模块,也可用来启动在菜单没有显现的的系统。比如,在第一硬盘的第一分区上装有windows xp系统,但在菜单上没显示出来,我们可以命令行状态下输入命令启动:grubset root=(hd0,1)grubchainloader +1grubboot又比如启动第二硬盘第一逻辑分区上的ubuntu系统:grubset root=(hd1,5)grublinux /boot/vmlinuz-xxx-
5、xxx root=/dev/sdb5grubinitrd /boot/initrd.img-xxx-xxxgrubboot其中内核vmlinuz和initrd.img的版本号可用按Tab键自动查看。2、下面介绍下在grub2中一些常用的命令1)help查看命令用法,如help search:查看search命令详细用法 2)set设置变量值,如set default=0set timeout=5set root=(hd0,3)等等需要调用变量AA的值时,使用$AA,如set root=(hd1,1),则$root=(hd1,1) 3)default定义默认引导的操作系统。0 表示第一个操作系统
6、,1表示第2个,依此类推 4)timeout定义在时间内用户没有按下键盘上的某个按键,自动引导default指定的操作系统。 5)root指定用于启动系统的分区。 6)insmod和rmmod加载或移除某模块,如insmod jpeginsmod pnginsmod ntfsrmmod png等7)drivemapdrivemap兼容grub的map,主要用于只能从第一硬盘(hd0)引导启动的系统如 win2000 xp 2003,比如要添加第二硬盘第一分区上的xp系统:menuentry Windows XP set root=(hd1,1)drivemap -s (hd0) $rootch
7、ainloader +18)ls列出当前的所有设备。如(hd0),(hd0,1),(hd0,5),(hd1),(hd1,1),(hd1,2)等ls -l详细列出当前的所有设备。对于分区,会显示其label及uuid。ls /列出当前设为root的分区下的文件ls (hd1,1)/列出(hd1,1)分区根目录的文件9)searchsearch -f /ntldr 列出根目录里包含ntldr文件的分区,返回为分区号search -l LINUX搜索label是LINUX的分区。search -set -f /ntldr搜索根目录包含ntldr文件的分区并设为root,注意如果多个分区含有ntldr
8、文件,set失去作用。10)loopbackloopback命令可用于建立回放设备,如loopback lo0 (hd1,1)/abc.iso可以使用lo0设备来访问abc.iso里的内容,比如说,可以从abc.iso里的软盘映像中启动loopback lo0 (hd1,1)/aa.isolinux (lo0)/memdiskinitrd (lo0)/abc.img要删除某一回放设备,可以使用-d参数:loopback -d lo011)pager分页显示。set pager=1显示满一页时暂停,按space继续set pager=0取消分页显示12)linux用linux命令取代grub中的
9、kernel命令13)chainloader调用另一个启动器,如chainloader (hd0,1)+1调用第一硬盘第一分区引导扇区内的启动器,可以是windows或linux的启动器14) grub2挂载软盘镜像 menuentry Boot from DOS IMG linux16 /memdisk initrd16 /win98.img 对非标准的1.4M和2.8M的其他镜像挂载方法,需要指定 CHS参数: menuentry Boot from IMG linux16 /memdisk c=* h=* s=* floppy initrd16 /xxx.img 15) grub2挂载u
10、buntu-desktop的镜像启动进入 livecd 内存够大时(大于iso镜像)可以用 loopback,把iso文件放在某一分区根目录下: menuentry Ubuntu 10.01 LiveCD search -f -s /ubuntu-desktop-i386.iso loopback loop /ubuntu-desktop-i386.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-desktop-i386.iso initrd (loop)/casper/initrd.lz iso 按实
11、际文件名修改 内存不够时,把 iso 内 casper 目录下的 vmlinuz和initrd.lz 复制出来和 iso 文件放在同一分区根目录下: menuentry Ubuntu 10.01 LiveCD search -f -s /ubuntu-desktop-i386.iso linux /vmlinuz boot=casper iso-scan/filename=/ubuntu-desktop-i386.iso initrd /initrd.lz 三、grub2配置文件详解grub2改用grub.cfg为配置文件,配置文件包含以下基本内容:(红色为解释部分)# BEGIN /etc/
12、grub.d/00_header #load_env#加载变量,如果在grubenv保存变量,则启动时装载set default=0#设置默认引导项,默认值为0insmod ext2#插入文件系统支持的模块,除了用作启动的分区外,其他分区格式可在menuentry底下再添加set root=(hd0,8)# 指定系统root分区,也就是 / 分区search -no-floppy -fs-uuid -set 2d61e5f9-1d2a-4167-a6f1-b991ba00878b#指定uuid=2d61e5f9-1d2a-4167-a6f1-b991ba00878b的分区为root分区,如果前
13、面的分区号(hd0,8)的#uuid与这里的uuid一致,这两句作用一样,如果不一致,则指定uuid的起作用。if loadfont /usr/share/grub/unicode.pf2 ; then#设置终端字体,unicode.pf2支持中文字符显示set gfxmode=640x480#设置显示分辨率,默认为640x480,可用800x600,1024x768,建议跟你想设定的图片大小一致insmod gfxterm#插入终端模块gfxterm,支持中文字符显示和支持24位图像insmod vbe#插入vbe模块,GRUB2引入模块化机制,要使用它,需要在这里加入if terminal
14、_output gfxterm ; then true ; else# For backward compatibility with versions of terminal.mod that dont# understand terminal_outputterminal gfxterm#设定grub2终端为gfxtermfifiif $recordfail = 1 ; then set timeout=-1 # 若有启动失败的记录,则菜单项不再倒计时else set timeout=10 #倒计时10秒后进按默认启动项启动fi#设定默认启动前等待时间,默认为10秒# END /etc/g
15、rub.d/00_header # BEGIN /etc/grub.d/05_debian_theme #set menu_color_normal=white/black#设定菜单字体及背景颜色set menu_color_highlight=black/blue#设定选择项字体及背景颜色#如果使用默认,背景将完全被蓝色挡住了,需要修改blue为black,背景图片才能显示# END /etc/grub.d/05_debian_theme # BEGIN /etc/grub.d/10_linux #10_linux为系统自动添加的当前root分区linux引导项#每个菜单项要包括menuen
16、try双引号 和大括号 才完整,否则不显示菜单menuentry Ubuntu, Linux 2.6.31-10-generic set quiet=1insmod ext2set root=(hd0,8)search -no-floppy -fs-uuid -set 2d61e5f9-1d2a-4167-a6f1-b991ba00878b#这句与set root=(hd0,8)效果一样,可删除其一,二者不一致以这句为准linux /boot/vmlinuz-2.6.31-10-generic root=UUID=2d61e5f9-1d2a-4167-a6f1-b991ba00878b ro
17、quiet splash#不喜欢看到一长串的, 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+ #menuentry Memory test (memtest86+) linux16 /boot/memtest86+.binmenuentry Memory test (memtest86+, serial co
18、nsole 115200) linux16 /boot/memtest86+.bin console=ttyS0,115200n8# END /etc/grub.d/20_memtest86+ #30_os-prober或30_others为系统自动查找并添加其他系统菜单项,按windows,linux,macos顺序#查找并添加,支持windows 7识别# BEGIN /etc/grub.d/30_os-prober # END /etc/grub.d/30_os-prober # BEGIN /etc/grub.d/30_otheros # This entry automaticall
19、y added by the Debian installer for a non-linux OS# on /dev/sda1menuentry Microsoft Windows XP Professional set root=(hd0,1)search -no-floppy -fs-uuid -set e852-230bdrivemap -s (hd0) $root#对以ntldr引导的系统如win2000,xp,win2003,因其引导机制只能从第一硬盘启动,系统会自动添加#映射命令,对vista和win7就没有这句命令chainloader +1# END /etc/grub.d/
20、30_otheros #40_custom为自定义的启动项,如启动cdlinux# BEGIN /etc/grub.d/40_custom #menuentry CDLinuxset root=(hd0,8)linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8initrd /CDlinux/initrd# END /etc/grub.d/40_custom #定制个性化的配置文件,可以加入背景图片,使用中文字符,让启动画面独具特色,而不是单调的黑、白、蓝三色。下面是一张经美化启动画面:四、脚本修改该怎样定制个性化的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ubuntu-grub-启动项教程 精品资料 ubuntu grub 启动 教程 精品 资料
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内