上一篇
如何利用GRUB从光盘引导安装Linux系统?
- 行业动态
- 2025-04-22
- 3752
GRUB引导光盘上的Linux系统需创建可启动ISO镜像,配置GRUB菜单项指定内核和initrd路径,集成必要驱动模块,通过定制ISO文件结构,确保GRUB正确识别光盘文件系统并加载系统核心组件,适用于无U盘或网络环境的系统安装与修复。
在Linux系统的安装和维护中,GRUB(GRand Unified Bootloader)作为最常用的引导加载程序之一,能够有效管理多系统启动或特殊启动需求,若需要通过光盘介质引导并安装Linux系统,GRUB的配置和使用至关重要,本文将详细介绍如何通过GRUB从光盘启动Linux系统,并提供可操作性强、技术细节清晰的步骤,确保用户顺利完成安装。
准备工作:工具与环境
-
所需工具
- 空白光盘或可擦写光盘(需支持ISO镜像刻录)
- 待安装的Linux发行版ISO镜像(如Ubuntu、CentOS等)
- 刻录软件(推荐
Brasero
或K3b
,Windows用户可使用Rufus
或ImgBurn
)
验证ISO完整性
下载ISO镜像后,需校验其SHA256或MD5哈希值,确保文件未被损坏。sha256sum ubuntu-22.04.3-desktop-amd64.iso
刻录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
引用与扩展阅读
- GRUB官方手册:GNU GRUB Manual
- Linux内核参数文档:Kernel Parameters
- Ubuntu光盘引导指南:Ubuntu CD Boot