如何使用GRUB2引导加载ISO镜像文件【免U盘安装】

夜墨酱_8647

夜墨酱_8647

2026-04-04

673人浏览

原创

可通过grub2配置直接从硬盘iso启动系统:先将iso复制到grub可访问分区并设权限;再挂载iso查找vmlinuz和initrd;接着在40_custom中添加menuentry,指定loopback、linux及initrd路径;然后运行update-grub生效;最后依错误提示调整设备标识、内核参数或驱动黑名单。

如何使用grub2引导加载iso镜像文件【免u盘安装】

如果您希望在不使用U盘的情况下直接从硬盘中的ISO镜像文件启动安装操作系统,则可通过GRUB2配置实现。以下是具体操作步骤:

一、将ISO镜像文件复制到指定分区

GRUB2需能访问ISO文件,因此必须将其放置在GRUB2可识别的文件系统(如ext4、NTFS、FAT32)中,并确保该分区在GRUB启动时已被挂载。推荐存放在Linux根分区或单独的/boot分区下,避免路径含空格或特殊字符。

1、使用终端进入目标目录,例如:sudo mkdir -p /boot/iso

2、将ISO文件复制至该目录,例如:sudo cp /path/to/ubuntu-22.04-desktop-amd64.iso /boot/iso/

3、确认文件权限可读:sudo chmod 644 /boot/iso/ubuntu-22.04-desktop-amd64.iso

二、获取ISO内核与初始化内存盘路径

不同发行版ISO内部结构不同,需手动挂载并查找vmlinuz和initrd.img文件。这些文件通常位于ISO根目录的/casper/、/isolinux/或/boot/目录下,是GRUB2启动必需的内核参数来源。

1、创建临时挂载点:sudo mkdir /mnt/iso

2、挂载ISO文件:sudo mount -o loop /boot/iso/ubuntu-22.04-desktop-amd64.iso /mnt/iso

3、查找内核与initrd文件:ls /mnt/iso/casper/vmlinuz /mnt/iso/casper/initrd

4、卸载ISO:sudo umount /mnt/iso

三、编辑GRUB自定义启动项

通过添加自定义菜单项,使GRUB2在启动时显示ISO引导选项。该方法不修改系统默认配置,安全可逆,适用于Ubuntu、Debian、Fedora等主流发行版。

1、编辑自定义配置文件:sudo nano /etc/grub.d/40_custom

2、在文件末尾新增如下内容(以Ubuntu ISO为例):

menuentry "Boot Ubuntu 22.04 ISO" {

set isofile="/boot/iso/ubuntu-22.04-desktop-amd64.iso"

loopback loop (hd0,msdos1)$isofile

linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash ---

initrd (loop)/casper/initrd

}

3、确认设备标识符(hd0,msdos1)与ISO所在分区一致,可用sudo fdisk -l或lsblk核实

四、更新GRUB配置并验证

修改自定义菜单后必须更新GRUB主配置文件,否则新增项不会出现在启动菜单中。此操作仅重生成/boot/grub/grub.cfg,不改动现有系统引导逻辑。

1、执行更新命令:sudo update-grub

2、检查输出中是否包含“Found custom menuentry 'Boot Ubuntu 22.04 ISO'”字样

3、重启系统,在GRUB菜单中选择对应条目,观察是否成功加载ISO内核

五、处理常见启动失败情形

若选择ISO菜单后卡在黑屏、kernel panic或“Failed to load COM32 file”等错误,说明内核参数或设备映射不匹配,需针对性调整。

1、尝试替换loopback行,使用绝对分区标识:loopback loop (hd0,1)$isofile

2、对Fedora/CentOS类ISO,改用:linux (loop)/isolinux/vmlinuz inst.ks=cdrom:/ks.cfg

3、若提示“Unable to find a medium containing a live file system”,在linux行末添加:findiso=$isofile

4、禁用nouveau驱动避免显卡冲突:linux ... nouveau.modeset=0 rd.driver.blacklist=nouveau

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.04

14120

5

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

1083

5

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

2025.06.11

8010

9

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

2025.08.07

3162

7

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4030

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3453

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2633

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6390

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6042

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习