计算机硬件及网络GRUB2 中文手册 word 版.doc
《计算机硬件及网络GRUB2 中文手册 word 版.doc》由会员分享,可在线阅读,更多相关《计算机硬件及网络GRUB2 中文手册 word 版.doc(74页珍藏版)》请在三一办公上搜索。
1、GNU GRUB 中文手册 修订次数:1 不保证含义准确仅供参考。若发现有谬误之处可发送邮件到:grub2_cn_manual 邮件主题必须以 grub2: 开始,否则系统不接收。 针对 grub 版本 v1.99 info 手册翻译,并且添加插图和注解。 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by
2、the Free Software Foundation; with no Invariant Sections. 译者:三寸断梁 1 grub 前言 搭建 GRUB2 LINUX 实验环境。由于 GRUB 是启动加载器,因此你修改配置文件后需要重启电脑才 能看到改变,为了避免反复重启。在这里推荐使用 VirtualBox 虚拟机。 本人实验配置是:Fedora 16-i386-DVD 完全安装,VirtualBox 4.2.2 for linux 。Grub 1.99 。 syslinux 4.05 ,你的 linux 主机应该安装有 grub2 。下文所述,在我的机器 3 个镜像成功加载。
3、 1. 准备虚拟机。如果你发现鼠标消失了,按下 右 ctrl 。 从 https:/www.virtualbox.org/wiki/Linux_Downloads 下载 VirtualBox 4.2.2 。我选择 的是 All distributions 。 80M 左右的体积。 新建一个虚拟机,操作简单直接下一步下一步。设置为使用 128M 内存,使用虚拟硬盘文 件,512M 硬盘。显存 23M 。不要启动虚拟机,完成下面的步骤。 2. 准备 memdisk 使用 syslinux 是因为实验中的实例需要 memdisk,它是包括在 syslinux 中的。可以用来 加载一些 Win 下的
4、img 镜像,比如: Ghost82.img MaxDOS.img 读者可到网 下载这 两个文件。 从 ftp:/ftp.kernel.org/pub/linux/utils/boot/syslinux/ 下载 syslinux-4.05.tar.gz 它是 syslinux 源代码。新版本 syslinux 中的 memdisk 能自动计算镜像文件的 c h s 参数。解压 源代码到某个路径例如 主目录 编译 memdisk(我们只需要 memdisk)。编译需要 nasm 编译器,执行如下命令: cd /syslinux-4.05/memdisk make 1 它会生成名为 memdisk
5、 的文件。这个文件可以在 GRUB2 中使用 linux16 加载。 3. 准备用来创建光盘镜像的 iso 目录 mkdir -p /iso/boot/grub,2 在 /iso/boot/grub 下建立配置文件 grub.cfg 内容如下: set root=(cd) menuentry Ghost82.img linux16 /boot/memdisk initrd16 /Ghost82.img menuentry MaxDos.img linux16 /boot/memdisk initrd16 /MaxDOS.img menuentry win7pe-cn.iso linux16 /
6、boot/memdisk iso initrd16 /Win7PE-CN.iso #你需要自己准备一个 Win iso,使用 memdisk 在虚拟机中加载 ISO 需要等待较长时间。而且需要大量内 存。我们最初设置的 128M 不够用。所以正文没有提及。 set timeout=-1 复制 Ghost82.img MaxDOS.img 到/iso ;复制 /syslinux-4.05/memdisk/memdisk 到 /iso/boot/;复制所有 GRUB2 模块到/iso/boot/grub2 。GRUB2 模块在 i386 /usr/lib/grub2/i386-pc/ 。 4. 创
7、建 grub.iso ,这个文件将用虚拟机加载。 在主目录下执行命令:grub2-mkrescue -o grub.iso iso 应该在: 因为当前处在主目录下,命令中的 iso 就指向 /iso 目录。创建的 grub.iso 光盘,包含: /iso/* 下的所有文件,并且包含有 GUB2 启动区块。这个 iso 可以写入 CD。如果希望写入 U 盘需要使用 grub2-install 命令。 5. 在虚拟机的镜像列表中添加 grub.iso,然后启动虚拟机。 当你修改了 iso/boot/grub/grub.cfg 配置文件,重新执行第四步,然后重启虚拟机就看以看到 改变。 2 如果你没
8、有出错且幸运的话,虚拟机 应该能够得到 图。尝试前两个选项,她们应该能够正确运行。 1.1 概论 简而言之:grub 是一个引导加载器,即计算机系统启动时第一个运行的程序。它是为了加载操作系统和 转移控制权给操作系统内核。内核再继续启动完整的操作系统。 GNU GRUB 是一个非常强大的引导加载器,它可以加载种类繁多的操作系统。还支持链式加载chain- loading 。 GRUB 最大的特性就是可扩展性。GRUB 支持文件系统和内核可执行格式,因此你可以用很多方式加载 你的 OS,而不用记录下 OS 在磁盘 的物理地址。比如使用分区名,路径和文件名指定文件。 当 GRUB 加载系统时,可以
9、使用命令行交互模式,也可以使用菜单选择模式。使用命令行模式你需要指 定内核的文件名和分区名。在菜单模式下,你只需要移动箭头来选择一个菜单然后按下 enter。菜单使用 一个配置文件来说明。 1.2 GRUB 的历史 略 1.3 与以前版本的不同点 GRUB2 是重写 GRUB 后的升级版本。二者有很多相同的特性。但是也有很多地方发生了改变。 1. 新的配置文件名:/boot/grub/grub.cfg 而不是/boot/grub/menu.lst or grub.conf ,配置文件有新 的语法。因此不能直接使用 grub1 的配置文件。 2. grub.cfg 由 grub2-mkconfi
10、g 命令产生。它方便升级内核版本。 3. 分区编号从 1 开始,而不是 0. 3 4. 配置文件现在是一个完整的脚本语言,它支持:变量,条件,循环。 5. save_env 和 load_env 支持对启动状态的本地保存。 6. GRUB2 拥有更加聪明的算法用来找寻它所需要的文件。使用 search 命令你可以通过卷标或者 UUID 来选择磁盘。 7. GRUB2 支持多找其他类型的系统:PC EFI,PC coreboot,PowerPC,SPARC,MIPS . 8. 支持多种文件系统,不仅仅限于:ext4,HFS+,NTFS 9. GRUB2 可以直接从 LVM 和 RAID 中读取文
11、件。 10. 支持图形终端和菜单系统。 11. GRUB2 交互界面可以被翻译,包括菜单项的名字。 12. 镜像文件,发生变化。 13. GRUB2 有动态加载的模块可用于支持更多的文件系统和其他功能。 2 加载器的作用 引用自 Gordon Matzigkeit,GRUB 爱好者: 大多数人在谈论电脑的时候总是讨论操作系统和内核。因此她们总是说GNU/linux 或者GNU/Hurd 。 其他多数人认为内核是系统中最重要的部分,因此他们把 GNU OS 称作 Linux 系统。 我个人认为那种看法是非常片面的,因为启动加载器才是所有软件最重要的。我过去常常把以上的系统称 1 作:LILO 和
12、 GRUB 系统 可惜的是没人支持我的见解,因此我现在只用 GNU 指代 GRUB。 因此如果你听到有人说 GNU 系统,那你一定要想到那其实是围绕这 GRUB 展开的。 作为 GRUB 的维护者,我们并不支持 Gordon 这种程度的发烧友。但是他的话可以帮助理解 GRUB 的 作用。 2.1 命名规范 GRUB 为用的设备语法相对与以前发生了重要变化。 (fd0) 首先 GRUB 需要设备名称被扩在圆括号内,fd 表示软盘,数字 0 表示编号为 0 的设备(第一个软盘设 备),编号从零开始计数。 (hd0,msdos2) hd 意思是硬盘,数字 0 代表设备号,意味着是第一块硬盘。Msdo
13、s 指出了分区类型,数字 2 代表分区编 号。分区编号从 1 开始计数,而不是 0 。因此 面的代码指定了第一个硬盘的第二个分区为 msdos 格式。 当你选择了分区时 GRUB 会尝试解析文件系统,并从分区中读取资料。 1 4 LILO , LInux LOader ,一个很多人使用但是很少有人喜欢的加载器。 (hd0,msdos5) 这指定了第一个硬盘的第一个扩展分区。由于主分区最多为 4,所以扩展分区从 5 开始编号。 (hd1,msdos1,bsd1) 第 2 块硬盘 的第一个 BSD slice (BSD 使用 slice 管理磁盘,概念类似于主分区)。 想让 GRUB 真实的访问磁
14、盘和分区,你需要在命令行中按照 述语法指定分区。例如: set root=(fd0) parttool (hd0,msdos3) hidden- 如果你不知道磁盘中的分区方法,可以使用 grub 的补全功能。只输入 set root=( 然后按下 tab 键,GRUB 会自动显示设备列表,分区名,文件名。 注意 GRUB 不从 SCSI 识别 IDE,它简单的从 0 开始给设备编号,而忽略设备类型。同差 IDE 设备的编 号小于 SCSI 设备。如果你在 BIOS 中改变了 IDE 和 SCSI 的引导顺序,那编号大小就说不准了。 现在考虑一个问题,如何指定一个文件 (hd0,msdos1)/
15、vmlinuz 它在指定分区 指定文件 vmlinuz。依次类推,可以指定任意路径。 3 安装 GRUB 在类 unix 系统中安装 GRUB 请在 root 权限调用 grub2-install 程序。 命令参数比较简单,只需要指定目标磁盘设备文件名。 # grub2-install /dev/hda 在 GNU/hurd 系统下使用这个命令 # grub2-install /dev/hd0 面的两个命令会把 GRUB 镜像放置到/boot 文件夹。如果你希望它把文件放到其他文件夹需要指定 -boot-directory 参数。这里有个创造软盘启动的实例。 # mke2fs /dev/fd0
16、 # mount -t ext2 /dev/fd0 /mnt # mkdir /mnt/boot # grub2-install -boot-directory=/mnt/boot /dev/fd0 # umount /mnt 有些 BIOS 在使用 USB 设备的第一个分区作为软盘时有 bug。此时把 USB 设备当作硬盘来启动。俗称: USB-FDD 启动。这种情况下你需要这样安装 GRUB。: # losetup /dev/loop0 /dev/sdb1 # mount /dev/loop0 /mnt/usb # grub2-install -boot-directory=/mnt/us
17、b/bugbios -force -allow-floppy /dev/loop0 这个安装方法不和标准方法冲突。因为她们被安装到其他文件夹里。 目前 grub2-install 只是一个 shell 脚本。脚本调用了 grub2-mkimage 和 grub2-setup 。你也可以直接使 用这两个命令。不建议这样做,非常熟悉 grub 者除外。安装引导加载器到正在运行的 OS 中可能导致严 重错误。 5 3.1 创建 GRUB 引导的 CD-ROM GRUB 支持 El Torito 1非仿真模式。这也意味着你可以直接从 cd-rom 中使用 GRUB 启动,而不需要创 建启动软盘和硬盘镜
18、像(它们可能导致启动失败)。 CD-ROM 启动 GRUB 使用一个称作 cdboot.img 的镜像。此镜像被 core.img 包含 。core.img 镜像也 必须包含 iso9660 和 biosdisk 模块。CD-ROM 启动也需要包含 grub.cfg 和 相关 grub 模块。 创建一个简单通用的 GRUB 救援光盘,你需要使用 grub2-mkrescue 程序: # grub2-mkrescue -o grub.iso 你还需要在 iso 中包括其他的有用的文件。只需要在 iso 文件夹内放置你需要的文件即可。 # mkdir iso # mkdir -p iso/boot
19、/grub 你也许需要在 boot/grub 文件 下包含 grub.cfg 用来提供启动菜单。把其他所有你需要的文件复制到 iso 文 件 里面,你可以随意创建目录结构。 最后使用命令: # grub2-mkrescue -o grub.iso iso 它会产生名为 grub.iso 的文件。它可以直接刻录到 CD 或者 DVD 光碟内。 根设备在进入 grub.cfg 之前自动设置,你可以在 grub.cfg 脚本中直接引用文件的路径,不需要指定设备 名。自动设置 root 设备,可以工作在光驱和 USB 储存设备。 实际 很多盗版系统光碟的启动菜单就是使用 grub 的。 El Tori
20、to 是可引导 CD 的技术标准,它用于 BIOS。 3.2 映射 BIOS 设备和 OS 设备 grub2-mkdevicemap 程序用来创建设备映射文件。它通常由某些工具在没有找到设备映射文件时自动 调用,例如 grub2-install。默认设备映射文件在/boot/grub2/device.map 如果设备映射文件存在,GRUB 工具集读取它并且映射 BIOS 驱动器到 OS 设备。这个文件内容如下: # this device map was generated by anaconda #DEVICE FILE (hd0) /dev/sda (hd0,3) /dev/sda3 DE
21、VICE 是 grub 语法表示的磁盘设备,FILE 是操作系统的设备文件。 映射文件的作用是:GRUB 在配置文件中使用的设备名指代的设备 (hd0) 是根据 BIOS 的设备号得到的。 如果 BIOS 设置变化而发生变化。如果你在 BIOS 中交换了 IDE 和 SCSI 设备的启动顺序 GRUB 会得到 错误的设备号。 不幸的是此时 OS 设备名也不恒定。多启动的情况下:不同的 Linux 内核 可能使用不同的顺序加载设备 驱动以及使用不同的设备名(/dev/hd* 和 /dev/sd* )。因此你可能需要频繁的更新设备映射文件。 1 所有的启动光盘都遵循 El Torito 这种格式,
22、这是启动光盘的国际标准。 6 GRUB 为了避免这个问题,在 grub.cfg 文件使用 UUID 或者文件系统卷标来指定分区。我们建议你自 己手写的 grub.cfg 也使用 UUID 或者卷标。如果设备映射文件不存在,grub 工具集会设想一个临时的 映射文件。在单磁盘系统中它工作良好。 自动产生的设备映射文件也不总是合适的,某些情况下需要设备映射文件。如果 grub2-mkdevicemap 命令产生错误,你可以手动建立 映射文件。在映射文件中#开始的行被作为注释。 3.3 BIOS 安装 3.3.1 MBR 在 PC BIOS 平台 ,使用的分区表格式通常称作 MBR 格式(主引导记录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机硬件及网络GRUB2 中文手册 word 计算机硬件 网络 GRUB2 中文 手册
链接地址:https://www.31ppt.com/p-2883784.html