You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

双系统(Windows10+Ubuntu)下通过40_custom加载ISO文件的问题排查及内核panic报错咨询

双系统(Windows10+Ubuntu)下通过40_custom加载ISO文件的问题排查及内核panic报错咨询

我最近在Windows10+Ubuntu的双系统环境里,尝试通过第二个Ubuntu系统的40_custom配置文件来加载并安装ISO镜像,过程中踩了一些坑,也遇到了新的问题,整理出来给大家做个参考:

磁盘分区环境

先给大家看一下我的Ubuntu系统里识别到的磁盘分区信息(省略了大小、扇区起始/结束等细节):

Disk /dev/nvme0n1:
Disk model: Samsung SSD
Units:
Sector size (logical/physical):
I/O size (minimum/optimal):
Disklabel type: gpt
Disk identifier:
Device           Type
/dev/nvme0n1p1   EFI System
/dev/nvme0n1p2   Microsoft reserved
/dev/nvme0n1p3   Microsoft basic data  # Windows系统分区
/dev/nvme0n1p4   Microsoft basic data  # Ubuntu系统分区
/dev/nvme0n1p5   Windows recovery environment
/dev/nvme0n1p6   Linux filesystem

另外我还在Windows10里新建了一个空分区用来挂载ISO。

初始配置与路径问题排查

一开始我修改了40_custom文件,内容如下:

menuentry "Ubuntu 20.04.05 ISO" {
isofile="/home/<username>/ubuntu-20.04.5-desktop-amd64.iso"
loopback loop (hd0,gpt4)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd
}

但启动时遇到了一系列错误:

error: file "" not found.
error: no server is specified.
error: you need to load the kernel first.

后来我才搞明白问题出在分区标识的指定上——我之前误解了loopback里的分区位置,实际上nvme0n1pX对应的是(hd0,gptX),而ISO文件是放在Ubuntu所在的nvme0n1p4分区里的,所以loopback loop后面必须准确指定(hd0,gpt4)这个分区位置。修正之后,系统终于能找到ISO文件了。

这里特意把这个点记下来,希望和我一样一开始误解文件位置的朋友能少走弯路。

后续遇到的内核Panic问题

解决了路径问题后,又出现了新的报错:

error: out of memory
kernel panic not syncing vfs unable to mount root fs on unknown block 0 0

我推测这应该是Ubuntu22.04的内核和我要加载的Ubuntu20.04 ISO之间存在版本兼容性问题,这个问题已经超出了本次帖子的范围,我打算另开一个帖子来专门解决这个内核panic的问题。


备注:内容来源于stack exchange,提问作者3088 K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:32:59