ubuntu-grub-启动项教程.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### Ubuntu GRUB 启动项教程详析 #### 一、GRUB2 新特性 GRUB2 是 GRUB (GRand Unified Bootloader) 的第二代版本,相较于 GRUB Legacy(通常简称为 GRUB),它引入了许多重要的改进和新功能。 1. **图形接口**:GRUB2 支持图形化界面,这使得用户可以更直观地选择启动项,并且可以在高分辨率下显示启动菜单。 2. **模块机制**:通过模块化设计,GRUB2 可以根据需要动态加载相应的模块,从而实现功能扩展。这种设计方式不仅提高了灵活性,还减少了内存占用。 3. **脚本语言支持**:GRUB2 引入了更强大的脚本语言支持,允许使用条件语句、循环结构、变量以及函数,这极大地增强了配置文件的灵活性和可定制性。 4. **支持救援模式**:当系统无法正常引导时,GRUB2 的救援模式提供了一种恢复手段,用户可以通过命令行进行手动干预,尝试解决问题。 5. **国际化语言支持**:除了英语外,GRUB2 还支持多种语言,包括非 ASCII 字符集,这使得多语言环境下的用户也能顺利使用。 6. **灵活的命令行接口**:即使没有配置文件,GRUB2 也能自动进入命令行模式,用户可以在此模式下执行各种命令。 7. **模块化、层次化的框架**:GRUB2 在设计上采用了面向对象的方法,将各个组件(如文件系统、设备、驱动程序等)抽象成模块,实现了高度的模块化和层次化。 8. **多种文件系统格式的支持**:GRUB2 能够处理多种文件系统格式,这使得它能够访问更多类型的存储设备。 9. **数据访问能力**:GRUB2 允许直接访问安装在各种设备上的数据,这在某些情况下非常有用,例如从另一个操作系统读取文件。 10. **自动解压支持**:GRUB2 支持对压缩文件的自动解压,这对于使用压缩内核映像的场景来说非常有用。 #### 二、GRUB2 设备命名规则 GRUB2 使用一套特定的命名规则来标识不同的设备和分区: - `fd` 表示软盘。 - `hd` 表示硬盘(包括 IDE 和 SCSI 硬盘)。 - 设备编号从 0 开始。 - 分区编号从 1 开始,主分区编号为 1-4,逻辑分区编号从 5 开始。 例如: - `(fd0)` 表示整个软盘。 - `(hd0,1)` 表示 BIOS 中的第一个硬盘的第一个分区。 - `(hd0,5)/boot/vmlinuz` 表示 BIOS 中的第一个硬盘的第一个逻辑分区下的 `/boot/vmlinuz` 文件。 #### 三、GRUB2 安装与启动流程 1. **安装过程**:在安装 Ubuntu 9.10 时,默认情况下,GRUB 会被安装在第一块硬盘 (`hd0`) 的 MBR 上。这意味着引导加载器的核心文件 `core.img` 和配置文件 `grub.cfg` 会被写入 MBR 和相应的分区。 2. **启动过程**:当计算机启动时,BIOS 会加载 MBR 中的 GRUB 核心文件,进而加载分区内的 `grub.cfg` 文件。根据此文件的配置,GRUB 会呈现一个启动菜单,用户可以选择需要启动的操作系统。 3. **菜单操作**:在启动菜单中,用户可以使用上下箭头键来选择不同的启动项,按 Enter 键来确认选择。此外,用户还可以按 E 键进入选定菜单项的编辑状态,在这里可以修改启动参数。例如,如果需要禁用 ACPI,可以在 `linux` 行后面添加 `acpi=off` 参数。 4. **命令行模式**:按 C 键可以进入命令行模式。在命令行模式下,用户可以执行各种命令来加载或移除模块,或者启动菜单中未列出的操作系统。 #### 四、GRUB2 常用命令详解 1. **help**:查看命令的帮助文档。例如,`help search` 用于查看 `search` 命令的详细用法。 2. **set**:设置变量的值。例如,`set default=0` 可以设置默认启动的操作系统为第一个;`set timeout=5` 可以设置等待用户选择的时间为 5 秒;`setroot=(hd0,3)` 可以设置根分区。 3. **default**:定义默认引导的操作系统。例如,`default 0` 表示第一个操作系统为默认启动项。 4. **timeout**:定义用户未进行任何操作时等待的时间长度。例如,`timeout 5` 表示等待时间是 5 秒。 5. **root**:指定用于启动系统的分区。例如,`root (hd0,1)` 指定了启动分区为第一块硬盘的第一个分区。 6. **insmod 和 rmmod**:分别用于加载和移除模块。例如,`insmod jpeg` 用于加载 JPEG 解码模块,`rmmod png` 用于移除 PNG 解码模块。 7. **drivemap**:该命令用于兼容 GRUB 的 `map` 命令,主要用于那些只能从第一块硬盘 (`hd0`) 引导启动的系统,如 Windows XP 和 Windows Server 2003。例如,`drivemap -s (hd0) ${root}` 用于将第二块硬盘的第一个分区映射为 `(hd0)`。 8. **ls**:列出当前所有设备。例如,`ls` 将列出所有已知的硬盘和分区,如 `(hd0)`、`(hd0,1)` 等。使用 `ls -l` 可以获取更详细的列表,包括每个分区的标签和 UUID。使用 `ls /` 可以列出当前设置为 `root` 的分区中的内容。 以上就是 GRUB2 的一些基本概念和操作方式。通过掌握这些知识,你可以更好地管理和配置 GRUB2,确保你的系统能够顺利启动。
- 粉丝: 3834
- 资源: 59万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助