zoukankan      html  css  js  c++  java
  • GRUB4DOS:一个超级强大的操作系统启动管理器

    概述

      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设备名
  • 相关阅读:
    2019.6.20刷题统计
    36 线程 队列 守护线程 互斥锁 死锁 可重入锁 信号量
    35 守护进程 互斥锁 IPC 共享内存 的方式 生产者消费者模型
    34 进程 pid ppid 并发与并行,阻塞与非阻塞 join函数 process对象 孤儿进程与僵尸进程
    33 udp 域名 进程
    32 粘包 文件传输
    31 socket客户端. 服务器 异常 语法
    30 网络编程
    29 元类 异常
    26 封装 反射 常用内置函数
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1634767.html
Copyright © 2011-2022 走看看