grub4dos新手指南-2
Grub4dos 新手指南
一、GRUB4DOS的配置文件
Grub4dos 有三个文件,grldr、grldr.mbr和menu.lst,配置文件是menu.lst,和GRUB一样。该文件一般放在和启动文件GRLDR同样的目录里。其结构举个简单栗子:
default 0
title Boot First Partition
root (hd0,0)
chainloader +1
title Boot Second Partition
root (hd0,1)
chainloader +1
title来指定菜单项,该例子中有两个title,就是说GRUB4DOS启动时会显示两个菜单,title的参数就是菜单的标题,也就是 Boot First Partition 和 Boot Second Partition。在第一个title前的命令是全局命令,它们在显示菜单之前执行。
二、Grub4dos 基本命令
Help Default Timeout Root
用来指定根设备,例子: root (hd0,0)
Rootnoverify
该命令也可以用来指定根设备。root在设置根设备前,先测试一下该分区的文件系统是否可以识别,而rootnoverify则省略这一测试。 rootnoverify (hd0,0)
Chainloader
把启动扇区的内容装入内存,参数+1指的是把分区的第一个扇区,例子:
chainloader +1
boot
启动操作系统。
在使用该命令前,必须用kernel或者chainloader把系统内核或者启动扇区/启动文件装入内存。例子: boot
在配置文件中不需要使用这个命令。这是因为GRUB在执行了菜单项的所有命令后会自动加上boot。该命令一般在命令行界面里使用。
设备名字
在GRUB中,硬盘设备用以下的方法来命名:
(hdm) m是硬盘的序号。序号0相对于BIOS的第一只硬盘。
硬盘上的分区用以下的方法来命名:
(hdm,n) n是硬盘m里分区的序号。主分区最多有4个,其序号为0-3,扩展分区的序号从4开始。例子:
硬盘0上的第一个主分区: <pre>(hd0,0)</pre>
硬盘1上的第一个扩展分区: <pre>(hd1,4)</pre>
设备也可以用相应的BIOS设备号来表示。例如,第一只硬盘设备的设备号是0x80,因此,以下的表示是等价的: (hd0,0), (0x80,0), (128,0)。
另外,对于一些文件系统来说,例如FreeBSD中使用的ffs,或者是Solaris中使用的ufs,在分区中还继续划分为子分区。子分区的表示是在分区表示的基础上加上从a开始计算的子分区序号。例如:
硬盘0上的第一个主分区里的第一个子分区: <pre>(hd0,0,a)</pre>
软盘设备用以下的方法来命名:
(fdm) m是软盘的序号。序号0相对于BIOS的第一只软盘。软盘设备后面同样可以加上分区或者子分区的序号。
GRUB还有其它一些设备,比如说(cd)是光盘设备,(nd)是网络设备,等等。
文件名字
GRUB的文件名字是在设备名字的基础上加上文件的路径,例子:硬盘0上第一个主分区根目录里的aa.img文件: <pre>(hd0,0)/aa.img</pre>
软盘0上boot目录里的aa.img文件: <pre>(fd0)/boot/aa.img</pre>
注意:目录的分隔符是 / ,而不是Windows/DOS下常用的 \ 。
另外,还可以用扇区的位移和数量来指定数据,比如:
<pre>(hd0,0)0+100,200+1,300+300</pre>
表示硬盘0上第一个主分区里,从扇区0起的100个扇区,然后是从扇区200起的1个扇区,最后是从扇区300起的300个扇区。当位移为零时,可以省略不写,因此,(hd0,0)+1 表示的是硬盘0上第一个主分区里从扇区0起的1个扇区,也就是分区的第一个扇区。
GRUB中纪录了一个根设备,它由root命令来指定,例如:
<pre>root (hd0,0)</pre>
根设备上的文件可以省略设备名,例如,使用了以上的root命令后,文件名 +1 就等同于 (hd0,0)+1。
注意:在GRUB4DOS的扩展中,map命令中使用的文件名的意义和以上所说的有所不同。在map命令里,(hd0,0)+1表示的不是硬盘0上第一个主分区的第一个扇区,而是整个分区。
启动操作系统
启动一般系统
一般来说,操作系统会在其所在分区的第一个扇区里放入启动代码。因此,用以下的一组命令一般可以启动硬盘0第一主分区上的操作系统:
rootnoverify (hd0,0) chainloader +1 boot
对于不同的分区,只要修改设备名(hd0,0)就可以了。
注意:大部分的操作系统需要在第一只硬盘的主分区里才能正常启动。当把该组命令作为menu.lst里某一菜单项的内容时,最后的命令boot可以省略。该方法是通用的,它可以用来启动以下提到的系统,只要分区的第一个扇区中存在启动代码。
启动DOS/Windows 95/98/Me
在GRUB4DOS中,chainloader命令可以装载DOS/Windows 95/98/Me中的io.sys。因此,可以使用类似于以下的一组命令来启动这些系统:
rootnoverify (hd0,0) chainloader (hd0,0)/io.sys boot
启动Windows NT/2000/XP/2003/Vista
在GRUB4DOS中,chainloader命令也可以装载Windows NT/2000/XP/2003中的ntldr和Windows Vista中的bootmanager。因此,可以使用类似于以下的一组命令来启动这些系统:
启动Windows NT/2000/XP/2003: rootnoverify (hd0,0) chainloader (hd0,0)/ntldr
boot
启动Windows Vista: rootnoverify (hd0,0) chainloader (hd0,0)/bootmanager boot
启动Linux
可以用kernel指令装载Linux内核:
rootnoverify (hd0,0) kernel (hd0,0)/vmlinuz boot
在内核(hd0,0)/vmlinuz后可以加上启动的参数。当启动Linux内核时,可以使initrd指令来装载初始的内存盘。
rootnoverify (hd0,0) kernel (hd0,0)/vmlinuz initrd (hd0,0)/initrd boot
注意:chainloader用于装载启动扇区和特定的启动文件如io.sys和ntldr,而kernel用于装载Linux内核和符合其标准的启动文件。在一组启动命令中,两者不能同时使用。
修改界面的颜色
GRUB界面的颜色可以用color指令来指定。color中指定了两组颜色,第一组是正常文本的颜色,第二组是加亮文本(当前选择的菜单项)的颜色。对应于每组颜色,又需要指定两种颜色。第一种是前景的颜色,第二种是背景的颜色。因此,在color总共需要指定四种颜色,分别是,正常文本前景,正常文本背景,加亮文本前景和加亮文本背景。
颜色代码:
black (黑色) red (红色) green (绿色) brown (棕色) blue (蓝色) magenta (紫色) cyan (青色)
light-gray (灰色) dark-gray (暗灰) light-red (亮红) light-green (亮绿) yellow (黄色) light-blue (亮蓝) light-magenta (亮紫) light-cyan (亮青) white (白色)
前景色可以使用全部16种颜色,而背景色只能使用前面8种颜色。 例子:
color cyan/blue white/magenta
正常文本前景: cyan (青色) 正常文本背景: blue (蓝色) 加亮文本前景: white (白色) 加亮文本背景: magenta (紫色)
color命令一般是作为全局命令,在第一个title前使用。
使用背景图片
可以用splashimage命令来加载背景图片:
spashimage (hd0,0)/spash.gz
图片必须是640x480,14色的XPM格式,可以用gzip来进行压缩。使用了该命令后,GRUB启动时将进入图形模式。这时,color命令指定的文本颜色将会无效。图形模式下颜色的设置应该使用foreground命令:
foreground ffff00
以上命令设置字体的颜色。颜色用RGB值来表示,ffff00是黄色。如果没有使用foreground命令,缺省的文本颜色是白色。
splashimage和foreground命令一般在第一个title前使用。
使用中文界面
首先,必须使用支持中文的版本。其次,要正常显示中文菜单,需要使用fontfile命令装载中文字体:
fontfile (hd0,0)/fonts.gz
fonts.gz是字体文件,使用了gzip压缩。fontfile命令可以和splashimage,foreground一起使用。例如:
splashimage (hd0,0)/splash.gz foreground ffff00 fontfile (hd0,0)/fonts.gz
title 启动第一个分区
root (hd0,0)
chainloader +1
title 启动第二个分区
root (hd0,1)
chainloader +1
grub4dos新手指南-2的更多相关文章
- grub4dos新手指南-1
对于多数没有或很少接触过linux的windows用户来说,刚开始使用grub时离不开菜单.也就是说,使用grub前,我们要准备menu.lst文件.先讲一些最为常用的命令help用来显示其它命令的用 ...
- Markdown 新手指南
Markdown 新手指南 「简书」作为一款「写作软件」在诞生之初就支持了 Markdown,Markdown 是一种「电子邮件」风格的「标记语言」,我们强烈推荐所有写作者学习和掌握该语言.为什么 ...
- 原创教程:《metasploit新手指南》介绍及下载
原创教程:<metasploit新手指南>介绍及下载 1.1 作者简介 这份教程并不是“玄魂工作室”原创,但是我还是要力推给大家.相比那些一连几年都在问“我怎么才能入门”的人而言,我们更欣 ...
- 在不格式化原有系统盘的情况下,利用grub4dos+firadisk制作RamOS VHD Win7总结
在不格式化原有系统盘的情况下,利用grub4dos+firadisk制作RamOS VHD Win7总结在不格式化原有系统盘的情况下,用grub4dos+firadisk安装WIN7到VHD,内存大的 ...
- 抛弃优启Grub4dos和PE大多数时间可以这样用
在能够进入Windows的情况下,Grub4dos和PE大多数时间可以这样用 http://files.cnblogs.com/files/liuzhaoyzz/boot_moban.rar Grub ...
- 抛弃vboot不格盘用grub4dos+firadisk安装Ghost版XP到VHD,轻松RAMOS!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=363198&extra=抛弃vboot不格盘用grub4dos+firadisk安 ...
- grub4dos通用菜单及相关工具包
grub4dos通用菜单及相关工具包 全套工具包(含PE.ISO,可根据需要替换删减):http://pan.baidu.com/s/1i4EjWod模板文件3.3M(不含PE.ISO):http:/ ...
- GRUB4DOS入门
目 录 第1章 GRUB4DOS入门 1 1.1 用途 1 1.2 安装 1 1.2.1 修改MBR 1 1.2.2 修改PBR 3 1.2.3 DOS 4 1.2 ...
- 为知笔记 Markdown 新手指南
为知笔记 Markdown 新手指南 http://www.wiz.cn/feature-markdown.html 时序图,流程图详细流程图语法 http://adrai.github.io/flo ...
随机推荐
- 一步步优化JVM一:概述、方法及需求
现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用能够在JVM的默认配置下运行良好,但是有些应用还是需要优化JVM配置以达到其性能要求.由于各种各样的应用能够运行在现在JVM上面,所以大量的 ...
- div显示与隐藏及height()函数
总结与网络 1. $("#id").show()表示display:block,$("#id").hide()表示display:none; $("# ...
- 兼容不同浏览器的 CSS Hack 写法
所谓 CSS Hack,是指在 CSS 代码中嵌入诸如 *,*html 等代码,方便于独立控制某种浏览器的具体样式.比如有些 CSS Hack 只能被 IE6 或 IE7 识别,而 Firefox ...
- Java中的字面量
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(natation).几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数.浮点数以及字符串:而有很多也对布尔类型和 ...
- @property (nonatomic, getter = isExpanded) BOOL expanded;
如果这个property是 BOOL on, 那么Objc默认创建的 setter 为: - (void)on:(BOOL)setOn { } getter 为: - (BOOL)on { retur ...
- 手动搭建SSI框架
SSI框架为struts.spring.ibatis,在该框架中,使用ibatis作为数据持久层,其中ibatis使用最新版本mybatis3. 注:本文使用版本:struts-2.3.4.sprin ...
- open()的模块
对文件操作流程: 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 mode can be: * 'r' 只读. * 'w' 写入,如果之前有就覆盖 * 'a' ...
- Angularjs directive全面解读(1.4.5)
说到Angularjs directive即指令,可以这么说Angularjs的灵魂就是指令,学会Angularjs指令那么你的Angularjs的武功就修炼了一半了,当然这只是鄙人的一点点独到见解, ...
- clone()方法、深复制和浅复制
clone方法 Java中没有明确提供指针的概念和用法,而实质上没个new语句返回的都是一个指针的引用,只不过在大部分情况下开发人员不需要关心如何去操作这个指针而已. 在实际编程中,经常会遇到从某个已 ...
- 支付宝支付-tp5
官方文档中第二步请求,获取签名后的订单信息,并没有说清楚需要的数据和数据的格式,这里详细说下. 1.先引入签名和验签的类 2.实例化该类,将下图方框里的数据换成你的 3.拼凑支付宝服务器端需要的数据和 ...