文档详情

grub2基础教程-修订版

我***
实名认证
店铺
PDF
688.50KB
约23页
文档ID:133089657
grub2基础教程-修订版_第1页
1/23

grub2基础教程 修订版 smallapple 目录 一 grub2新特性 二 grub2安装与启动 三 grub2配置文件详解 四 脚本修改 五 使用grub2常见错误及修复方法 一 grub2新特性 1 grub2和grub有很多不同的地方 a 图形接口 b 使用了模块机制 通过动态加载需要的模块来扩展功能 c 支持脚本语言 例如条件判断 循环 变量和函数 d 支持rescue模式 可用于系统无法引导的情况 e 国际化语言 包括支持非ASCII的字符集和类似gettext的消息分类 字体 图形控制台 等等 f 有一个灵活的命令行接口 如果没有配置文件存在 GRUB会自动进入命令模式 g 针对文件系统 文件 设备 驱动 终端 命令 分区表 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 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时 把光标移动到linux这一行最 后 在splash后加上一空格再输入acpi off 然后按ctrl x启动 按c进入命令行状态 按Tab键可查看所有可用的命令 在命令行状态 可以根据需要加载或移除相应模块 也可用来启动在菜单没有显现的的系 统 比如 在第一硬盘的第一分区上装有windows xp系统 但在菜单上没显示出来 我们可以 命令行状态下输入命令启动 grub set root hd0 1 grub chainloader 1 grub boot 又比如启动第二硬盘第一逻辑分区上的ubuntu系统 grub set root hd1 5 grub linux boot vmlinuz xxx xxx root dev sdb5 grub initrd boot initrd img xxx xxx grub boot 其中内核vmlinuz和initrd img的版本号可用按Tab键自动查看 2 下面介绍下在grub2中一些常用的命令 1 help 查看命令用法 如 help search 查看search命令详细用法 2 set 设置变量值 如 set default 0 set timeout 5 set root hd0 3 等等 需要调用变量AA的值时 使用 AA 如set root hd1 1 则 root hd1 1 3 default 定义默认引导的操作系统 0 表示第一个操作系统 1表示第2个 依此类推 4 timeout 定义在时间内用户没有按下键盘上的某个按键 自动引导default指定的操作 系统 5 root 指定用于启动系统的分区 6 insmod和rmmod 加载或移除某模块 如 insmod jpeg insmod png insmod ntfs rmmod png 等 7 drivemap drivemap兼容grub的map 主要用于只能从第一硬盘 hd0 引导启动的系统如 win2000 xp 2003 比如要添加第二硬盘第一分区上的xp系统 menuentry Windows XP set root hd1 1 drivemap s hd0 root chainloader 1 8 ls 列出当前的所有设备 如 hd0 hd0 1 hd0 5 hd1 hd1 1 hd1 2 等 ls l 详细列出当前的所有设备 对于分区 会显示其label及uuid ls 列出当前设为root的分区下的文件 ls hd1 1 列出 hd1 1 分区根目录的文件 9 search search f ntldr 列出根目录里包含ntldr文件的分区 返回为分区号 search l LINUX 搜索label是LINUX的分区 search set f ntldr 搜索根目录包含ntldr文件的分区并设为root 注意如果多个分区含有ntldr文 件 set失去作用 10 loopback loopback命令可用于建立回放设备 如 loopback lo0 hd1 1 abc iso 可以使用lo0设备来访问abc iso里的内容 比如说 可以从abc iso里的软盘 映像中启动 loopback lo0 hd1 1 aa iso linux lo0 memdisk initrd lo0 abc img 要删除某一回放设备 可以使用 d参数 loopback d lo0 11 pager 分页显示 set pager 1 显示满一页时暂停 按space继续 set pager 0 取消分页显示 12 linux 用linux命令取代grub中的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挂载ubuntu 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 按实际文件名修改 内存不够时 把 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 grub d 00 header load env 加载变量 如果在grubenv保存变量 则启动时装载 set default 0 设置默认引导项 默认值为0 insmod 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分区 如果前面的分 区号 hd0 8 的 uuid与这里的uuid一致 这两句作用一样 如果不一致 则指定uuid的起 作用 if loadfont usr share grub unicode pf2 then 设置终端字体 unicode pf2支持中文字符显示 set gfxmode 640 x480 设置显示分辨率 默认为640 x480 可用800 x600 1024x768 建议跟你想设定的图片 大小一致 insmod gfxterm 插入终端模块gfxterm 支持中文字符显示和支持24位图像 insmod vbe 插入vbe模块 GRUB2引入模块化机制 要使用它 需要在这里加入 if terminal output gfxterm then true else For backward compatibility with versions of terminal mod that don t understand terminal output terminal gfxterm 设定grub2终端为gfxterm fi fi if recordfail 1 then set timeout 1 若有启动失败的记录 则菜单项不再倒计时 else set timeout 10 倒计时10秒后进按默认启动项启动 fi 设定默认启动前等待时间 默认为10秒 END etc grub 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引导项 每个菜单项要包括menuentry双引号 和大括号 才完整 否则不显示菜单 menuentry Ubuntu Linux 2 6 31 10 generic set quiet 1 insmod ext2 set 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 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 memt。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档