天天看点

GRUB4DOS:一个超级强大的操作系统启动管理器

<b>概述</b>

  grub4dos来源于 gnu grub legacy ——即 gnu grub 0.97,青出于蓝而胜于蓝!题外话:gnu grub 2 正处于不断的开发阶段,并未正式发布!

跨平台:grub4dos可以启动任何类型的操作系统:liunx;windows;dos等等

多种安装形态:mbr(非文件方式存在);分区(非文件方式存在);和其他引导器结合(如微软的引导器,以普通分区根目录的文件的形式存在)

多种运行形态:dos下的设备驱动文件形式;普通dos命令形式;基本引导器形态

多种操作形态:自动预设菜单;命令行

<b>版本</b>

  最新版本:截止该随笔写作时为0.4.4-2009-06-20

<b>启动菜单配置文件menu.lst</b>

  grub4dos 和 gnu grub 一样,使用menu.lst作为标准的启动菜单配置文件。

  grub4dos推荐menu.lst文件放在和grldr相同的目录下

<b>基本知识</b>

硬盘设备:(hdm):m序号从 0 开始,注意:设备也可以使用bios的标识序号标识,如第一个硬盘也可以表示为(0x80) 或(120)

硬盘分区:(hdm,n):m序号从 0 开始,注意:设备也可以使用bios的标识序号标识,如第一个硬盘也可以表示为(0x80) 或(120)。n是m硬盘的分区号,从0开始——对于主分区为0-3,对于扩展分区为4-25。

硬盘分区的子分区:(hdm,n,k):m序号从 0 开始,注意:设备也可以使用bios的标识序号标识,如第一个硬盘也可以表示为(0x80) 或(120)。n是m硬盘的分区号,从0开始——对于主分区为0-3,对于扩展分区为4-25。对于ffs、ufs文件系统,子分区的号为字母标识,从“a”开始。

软盘设备:(fdm):m序号从 0 开始,表示第一个软盘

文件名字:在设备名字+路径+文件名。注意:路径分隔符为linux风格的“/”

定位扇区:类似文件名,由位移+访问的数量构成,当位移为0时,可以省略0,但“+”不可以省略!

默认根设备:root 命令,可以指定默认的全局根设备名。之后不指明根设备的文件都默认是在全局根设备上

<b>必备技巧</b>

tab键:补足功能

esc键:取消命令模式,退回基本菜单模式

help [cmd]:随时随地获取帮助

<b>核心使用指南、示例</b>

<b>chainloader 和 kernel</b>

启动dos、windows95、98、me:chainloader (hd0,0)/io.sys

启动windowsNT、2000、xp、2003:chainloader (hd0,0)/ntldr

启动windows vista、 7、2008:chainloader (hd0,0)/bootmanager

启动linux:kernel (hd0,0)/vmlinuz initrd (hd0,0)/initrd

<b>map</b>

标准的map功能:模拟bios进行磁盘交换,必须成对设置,boot以后生效!map (hd0) (hd1) map (hd1) (hd0)

grub4dos扩展:拦截int13,虚拟硬盘:map (hd0,0)/vd.disk (hd1),vd.disk文件物理存储上必须连续

grub4dos扩展:拦截int13,虚拟软盘:map (hd0,0)/vd.flp (fd0),vd.disk文件物理存储上必须连续

grub4dos扩展:指示map映射立即生效:map --hook

grub4dos扩展:将虚拟设备放入内存:在map后添加 --mem 参数即可:map --mem (hd0,0)/ramdisk.disk (hd1)

grub4dos扩展:自动生成mbr功能,不论是文件系统 还是 磁盘系统,grub4dos可用自动检测,必要是补充上mbr

grub4dos扩展:加载整个硬盘分区:map --mem (hd0,0)[0]+1

grub4dos扩展:虚拟内存设备(md)

grub4dos扩展:虚拟随机访问内存设备(rd)

grub4dos扩展:虚拟网络设备(nd)

grub4dos扩展:虚拟光驱设备(cd)

grub4dos扩展:显示当前磁盘映射状态:map --status

grub4dos扩展:设置虚拟设备为只读:map --read-only

grub4dos扩展:设置虚拟设备为假写:map --fake-wirte

<b>cat</b>

grup4dos扩展:可用使用--hex参数来显示十六进制的数据,也可以--locate=string来搜索字符串

cat --hex (hd0)+1: 以十六进制形式显示第一只硬盘的MBR。

cat --hex (hd0,0)+1: 以十六进制形式显示第一只硬盘第一个分区的启动扇区

cat --hex (md)+2: 以十六进制形式显示内存开始1K的内容,这里其实是中断向量表。

cat --hex (md)0x800+1: 以十六进制形式显示内存从0x800 * 512 = 1M 开始512字节的内容,也就是从扩展内存开始的512字节。

<b>使用光驱:不支持joliet扩展的光盘</b>

grub支持的光驱设备是(cd):指的是使用光驱启动grub所在的设备

cdrom --init:初始化所有cdrom设备

map --hook:为所有cdrom设备分配设备名:依次为cd0、cd1....

cdrom --stop:停止所有cdrom设备

map --unhook:删除cdrom设备名