我正在尝试通过 Serva PXE 服务器启动基于 Intel Pentium 4 的 32 位架构 PC。
我已经设置了 Serva (https://www.vercot.com/~serva/) 在 Windows 10 计算机上使用以下设置:
- 已启用 TFTP
- DHCP代理已启用
- 已启用 BINL
kali-linux-2020.2-live-i386.iso
我已经从他们的网站下载了 Kali 32 位 live :https://www.kali.org/docs/introduction/download-official-kali-linux-images/
并按照说明进行操作https://www.vercot.com/~serva/an/NonWindowsPXE3.html#linux:
我将 iso 内容提取到NWA_PXE
Serva 服务器 BINL 进程创建的文件夹内的新文件夹中。
我在文件中设置了以下内容ServaAsset.inf
:
[PXESERVA_MENU_ENTRY]
asset = Kali 2020.2 Live
platform = i386
kernel_bios = /NWA_PXE/$HEAD_DIR$/live/vmlinuz
append_bios = initrd=/NWA_PXE/$HEAD_DIR$/live/initrd.img,/NWA_PXE/$HEAD_DIR$/live/INITRD_N14.6.GZ boot=live components splash username=kali hostname=kali netboot=cifs union=overlay nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ ipby=dhcp NFSOPTS=-ouser=serva,pass=avres,sec=ntlmv2,vers=2.0,ro rw ipv6.disable=1 ipv6.disable_ipv6=1
ipappend_bios = 2
kernel_efi32 = /NWA_PXE/$HEAD_DIR$/live/vmlinuz
append_efi32 = initrd=/NWA_PXE/$HEAD_DIR$/live/initrd.img,/NWA_PXE/$HEAD_DIR$/live/INITRD_N14.6.GZ boot=live components splash username=kali hostname=kali netboot=cifs union=overlay nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ ipby=dhcp NFSOPTS=-ouser=serva,pass=avres,sec=ntlmv2,vers=2.0,ro rw ipv6.disable=1 ipv6.disable_ipv6=1
ipappend_efi32 = 2
另外我还执行了以下指令:
- 在 Serva 服务器计算机上创建一个名为
NWA_PXE_SHARE
NWA_PXE 文件夹的 SMB 共享。授予本地用户serva
所有avres
权限(我认为实际上读取权限就足够了)。 - 将文件复制
INITRD_N14.6.GZ
到live
文件夹。
目标电脑能够启动 Serva 菜单,并且我能够选择 Kali 注册。vmlinuz
并且initrd.img
我相信initrd_n14.6.gz
笔记本电脑也可以从 serva 服务器成功拉取。
然后 Linux 内核启动日志在屏幕上流过。不幸的是,它以failed to execute /init (error -2)
,结尾kernel panic - not syncing: no working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
。
我错过了什么?我需要做什么才能解决这个问题?有没有办法查看内核日志的完整历史记录?
答案1
初始化脚本有问题;最可能的情况是您正在加载损坏的 INITRD_N14.6.GZ。尝试通过删除其路径在不加载 INITRD_N14.6.GZ 的情况下启动
initrd=/NWA_PXE/$HEAD_DIR$/live/initrd.img,/NWA_PXE/$HEAD_DIR$/live/INITRD_N14.6.GZ
> initrd=/NWA_PXE/$HEAD_DIR$/live/initrd.img
您是否遇到了同样的错误?
最后尝试加载新的 INITRD_N14.6.GZ,请考虑多次下载缓存,如果缓存中有损坏的文件,则可能需要多次尝试才能获得健康的副本。该文件的 crc32 应该是 5555BF4F