CloneZilla PXE 启动(无 NFS)

CloneZilla PXE 启动(无 NFS)

我正在尝试将 CloneZilla 设置为可通过 PXE 启动,而无需使用 NFS。我们的 PXE 服务器没有运行 NFS,我想保持这种状态。但是,我在网上找到的大多数信息都表明您需要设置 NFS 才能通过 PXE 启动 CloneZilla。我相信我已经非常接近成功了,但不确定下一步该怎么做。下面列出了我迄今为止使用过的不同 PXE 菜单选项配置。

LABEL Clonezilla Live
  MENU LABEL Clonezilla Live
  KERNEL utilities/clonezilla/vmlinuz
  APPEND initrd=utilities/clonezilla/initrd.img boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" o$

我也尝试了以下附加行,但没有成功:

APPEND initrd=utilities/clonezilla/initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=tftp://10.130.155.23/filesystem.squashfs
APPEND initrd=utilities/clonezilla/initrd.img boot=live union=aufs noswap noprompt vga=normal nomodeset nosplash fetch=tftp://10.130.155.23/filesystem.squashfs

每次都导致无法运行,并出现以下错误:“无法在网络上找到实时文件系统”。看起来它已经到了尝试加载 filesystem.squashfs 文件的地步,挂起,然后抛出错误。任何帮助都将不胜感激。

答案1

我们面临着同样的问题,并发现以下内容非常有助于解释:

我们的配置:

  • Debian/kFreeBSD (sid)
  • tftp-hpa (5.2-4)
  • Clonezilla Live Image(当前稳定版本 1.2.12-67)

问题的原因,就像第二个链接中解释的那样,它与命令-b的参数(blocksize 选项)的值有关tftp。tftp 命令用于从服务器检索 squasfs 文件系统,并且它由 中的实时脚本调用(在本例中使用了错误的参数 -b 值)initrd

我们的解决方法是修改 initrd,编辑内部实时脚本(/scripts/live)并调整有问题的参数值不大于 9212 或者删除它。

更换:

tftp -g -b 10240

tftp -g

解决了我们的问题。

有关修改 initrd 的一些很好的解释请参见:

答案2

关于错误“无法在网络上找到实时文件系统”,我确实诊断出这是由于 filesystem.squashfs 的 tftp 下载失败造成的。($ cat live.log在 busybox 中)

深入研究错误后,我发现编辑获取参数可以/tftpboot/pxelinux.cfg/default解决这个问题。

默认情况下它看起来像:

APPEND initrd=initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 nosplash noprompt fetch=tftp://INSERT-IP-HERE/filesystem.squashfs

但是,我将 clonezilla 实时文件(包括 filesystem.squashfs)存储在绝对 Linux 路径中/tftpboot/clonezilla-i486/,而不是绝对根路径中/。因此,我不得不将 APPEND 行更改为如下所示:

APPEND initrd=clonezilla-i486/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 nosplash noprompt fetch=tftp://INSERT-IP-HERE/tftpboot/clonezilla-i486/filesystem.squashfs

答案3

我仅使用 tftp 即可通过 PXE 启动 Clonezilla:

LABEL clonezilla1.2.12-10
        MENU LABEL ^Clonezilla 1.2.12-10
        kernel images/clonezilla-1.2.12-10-i686-pae/vmlinuz
        append initrd=images/clonezilla-1.2.12-10-i686-pae/initrd.img boot=live config noswap nolocales edd=on nomodeset noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="en_US.UTF-8" vga=773 nosplash fetch=tftp://59.167.xxx.xx/images/clonezilla-1.2.12-10-i686-pae/filesystem.squashfs

我想知道您在使用 fetch=tftp:// 时看到的错误是否特定于某个版本,或者您是否需要我包含在其中的一些其他选项?

根据我在 pxelinux 配置文件中的注释,我仅使用以下文档即可完成此操作: http://clonezilla.org/show-live-doc-content.php?topic=clonezilla-live/doc/99_Misc

答案4

我用皮匠PXE 启动 Clonezilla,因此可能与您的情况略有不同。这是我的pxelinux.cfg

kernel /images/Clonezilla/vmlinuz1
ipappend 2
append initrd=/images/Clonezilla/initrd1.img  edd=on ocs_live_run=ocs-live-general text ocs_live_keymap noprompt ocs_live_extra_param ocs_lang locale=  union=aufs hostname=jaunty boot=live ocs_live_batch=no mode_option=1024x768 nolocales fetch=http://192.168.2.1/cobbler/ks_mirror/clonezilla/images/pxeboot/filesystem.squashfs  auto

此配置使用 HTTP 传输文件系统。另请注意,这是针对 Debian 版本的 Clonezilla。

相关内容