王重阳与梅超风:GRUB4DOS:一个超级强大的操作系统启动管理器 - 数据库探索 - 博客园

来源:百度文库 编辑:中财网 时间:2024/05/06 11:35:28

概述

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

  • 跨平台:grub4dos可以启动任何类型的操作系统:liunx;windows;dos等等
  • 多种安装形态:mbr(非文件方式存在);分区(非文件方式存在);和其他引导器结合(如微软的引导器,以普通分区根目录的文件的形式存在)
  • 多种运行形态:dos下的设备驱动文件形式;普通dos命令形式;基本引导器形态
  • 多种操作形态:自动预设菜单;命令行

 

版本

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

 

启动菜单配置文件menu.lst

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

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

 

基本知识

  • 硬盘设备:(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 命令,可以指定默认的全局根设备名。之后不指明根设备的文件都默认是在全局根设备上

 

必备技巧

  • tab键:补足功能
  • esc键:取消命令模式,退回基本菜单模式
  • help [cmd]:随时随地获取帮助

 

核心使用指南、示例

 

chainloader 和 kernel

  • 启动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

 

 

map

  • 标准的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

 

cat

  • 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字节。

 

使用光驱:不支持joliet扩展的光盘

  • grub支持的光驱设备是(cd):指的是使用光驱启动grub所在的设备
  • cdrom --init:初始化所有cdrom设备
  • map --hook:为所有cdrom设备分配设备名:依次为cd0、cd1....
  • cdrom --stop:停止所有cdrom设备
  • map --unhook:删除cdrom设备名