当前位置:首页 > 行业动态 > 正文

如何利用GRUB从光盘引导安装Linux系统?

GRUB引导光盘上的Linux系统需创建可启动ISO镜像,配置GRUB菜单项指定内核和initrd路径,集成必要驱动模块,通过定制ISO文件结构,确保GRUB正确识别光盘文件系统并加载系统核心组件,适用于无U盘或网络环境的系统安装与修复。

在Linux系统的安装和维护中,GRUB(GRand Unified Bootloader)作为最常用的引导加载程序之一,能够有效管理多系统启动或特殊启动需求,若需要通过光盘介质引导并安装Linux系统,GRUB的配置和使用至关重要,本文将详细介绍如何通过GRUB从光盘启动Linux系统,并提供可操作性强、技术细节清晰的步骤,确保用户顺利完成安装。


准备工作:工具与环境

  1. 所需工具

    • 空白光盘或可擦写光盘(需支持ISO镜像刻录)
    • 待安装的Linux发行版ISO镜像(如Ubuntu、CentOS等)
    • 刻录软件(推荐BraseroK3b,Windows用户可使用RufusImgBurn
  2. 验证ISO完整性
    下载ISO镜像后,需校验其SHA256或MD5哈希值,确保文件未被损坏。

    如何利用GRUB从光盘引导安装Linux系统?  第1张

    sha256sum ubuntu-22.04.3-desktop-amd64.iso
  3. 刻录ISO到光盘
    使用刻录工具将ISO镜像写入光盘,选择“刻录镜像”模式而非“数据刻录”,避免引导信息丢失。


配置GRUB引导光盘

创建GRUB引导文件结构

光盘引导需包含GRUB的核心文件及配置文件,目录结构如下:

/boot/grub/
   ├── grub.cfg       # GRUB配置文件
   ├── x86_64-efi/    # EFI架构模块(若支持UEFI)
   └── fonts/         # 字体文件(可选)

编写GRUB配置文件(grub.cfg)

以下是一个通用配置模板,需根据实际ISO路径和内核参数调整:

set timeout=10
set default=0
menuentry "Boot Linux from CD" {
   # 设置光盘设备(通常为cd0)
   set root=(cd0)
   # 加载内核与初始化内存盘
   linux /vmlinuz root=/dev/sr0 ro quiet splash
   initrd /initrd.img
}

关键参数解析

  • root=/dev/sr0:指定光盘设备为根文件系统。
  • ro:以只读模式挂载,避免写入错误。
  • quiet splash:禁用启动日志,启用图形界面(视发行版支持情况)。

处理不同发行版的差异

不同Linux发行版的内核参数可能有所区别,需根据实际情况调整:

发行版 内核路径示例 典型参数
Ubuntu /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso
CentOS /isolinux/vmlinuz inst.repo=cdrom:/dev/sr0
Debian /install.amd/vmlinuz priority=high locale=en_US.UTF-8

测试与故障排除

虚拟机验证(推荐)

使用VirtualBox或QEMU加载光盘镜像,测试GRUB能否正常引导:

qemu-system-x86_64 -cdrom linux-install.iso -boot d

常见问题解决

  • 无法识别光盘设备:检查GRUB设备名是否为(cd0),或尝试(hd0,msdos1)等组合。
  • 内核加载失败:确认ISO镜像路径正确,或使用ls (cd0)/boot命令查看文件是否存在。
  • 驱动缺失:在内核参数中添加modprobe.blacklist=nouveau等禁用冲突驱动。

高级技巧:支持UEFI启动

若目标设备为UEFI固件,需额外生成EFI可执行文件(如grubx64.efi),并将配置文件放置在/EFI/BOOT/目录,推荐使用grub-mkstandalone工具:

grub-mkstandalone -o bootx64.efi -O x86_64-efi --modules="part_gpt part_msdos" /boot/grub/grub.cfg

引用与扩展阅读

  1. GRUB官方手册:GNU GRUB Manual
  2. Linux内核参数文档:Kernel Parameters
  3. Ubuntu光盘引导指南:Ubuntu CD Boot
0