https://i.stack.imgur.com/3dmFa.jpg 我的 GParted 设置几乎与网站帮助中所述的相同:
https://gparted.org/livepxe.php
唯一的区别是根目录不是/而是/GParted
vmlinuz 和 initrd 似乎启动正常。 filesystem.squashfs 是通过 http 加载的,我可以成功获取它。
但是,当它尝试挂载 filesystem.squashfs 时,我遇到了如红框所示的问题。
正在安装根文件系统... /init: .: 第 225 行:无法打开 '/scripts/GParted/live'
我不确定 /scripts/GParted/live 在哪里。我也不确定它如何在我的根 /GParted 前面获得一个目录但是,系统设法找到 /scripts/init-premount
我的 PXE 默认值在这里:
LABEL GParted Live
MENU LABEL GParted Live
kernel GParted/live/vmlinuz
APPEND initrd=GParted/live/initrd.img boot=GParted/live config components union=overlay username=user noswap noeject ip= vga=788 fetch=http://10.1.200.1/GParted/live/filesystem.squashfs
ENDTEXT
我哪里误入歧途了?
答案1
存在/scripts/init-premount
于 GPartedinitrd.img
文件内。
/init
该错误消息表明系统在 initrd 映像内脚本的第 225 行遇到问题。
该脚本的第 225 行是:
. /scripts/${BOOT}
并且该变量之前${BOOT}
从引导参数中获取其值。boot=
因此,错误在于假设如果将文件放入filesystem.squashfs
Web 服务器上的子目录中,则需要调整boot=
选项的值以进行匹配。这是不正确的。
该boot=
选项指定引导模式:local
,nfs
, 或者live
。这会导致脚本系统(=initramfs-tools
来自 Debian)运行/scripts/
目录中相应的脚本。/scripts/live
存在于 initrd.img 文件中,但/scripts/GParted/live
不存在。
因此,将 PXE 引导加载程序配置的 APPEND 行更改为:
APPEND initrd=GParted/live/initrd.img boot=live config components union=overlay username=user noswap noeject ip= vga=788 fetch=http://10.1.200.1/GParted/live/filesystem.squashfs
...然后它应该可以工作。