CloneZilla USB,无人值守的syslinux,需要转换为grub-equivalent

时间:2017-03-24 12:25:35

标签: linux grub2 clonezilla syslinux

我在USB上有一个可启动的CloneZilla。它适用于使用syslinux启动的系统。这是syslinux.cfg中的菜单条目及其作用的简短说明(请注意,我使用&暗示它是相同的行,我将其分为多行以便于阅读):

label Clone Default Image
  #MENU DEFAULT
  MENU LABEL Clone from \\bilbo
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live union=overlay config quiet noswap 
  & noeject nosplash username=user hostname=yakkety components edd=on nomodeset
  & noprompt nolocales keyboard-layouts=sv locales=sv_SE.UTF-8 
  & ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2
  & -p poweroff restoredisk windows-10-base-clone sda" ocs_live_extra_param=""
  & ocs_live_batch=no vga=791 ip=  nosplash i915.blacklist=yes radeonhd.blacklist=yes
  & nouveau.blacklist=yes vmwgfx.blacklist=yes 
  & ocs_repository="smb://administrator:**********@192.168.10.41/common/utveckling/clone"
  & {lots of ocs_preruns to setup dhcp on one of two possible eth-interfaces}

它设置了一个eth-interface来使用dhcp。然后它尝试挂载samba共享,如ocs_repository =“user:pass @ path”中所示。之后,它应该运行ocs_live_run =“cmd”条目,该条目执行从samba位置到引导设备主磁盘的克隆。

这是我尝试创建一个等效的grub.cfg条目:

menuentry "Clone from \\\\bilbo"{
  search --set -f /live/vmlinuz

  linux /live/vmlinuz boot=live union=overlay config quiet noswap
  & noeject nosplash username=user hostname=yakkety components edd=on nomodeset 
  & noprompt nolocales keyboard-layouts=sv locales=sv_SE.UTF-8 
  & ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 
  & -p poweroff restoredisk windows-10-base-clone sda" ocs_live_extra_param="" 
  & ocs_live_batch=no vga=791 ip=  nosplash i915.blacklist=yes radeonhd.blacklist=yes 
  & nouveau.blacklist=yes vmwgfx.blacklist=yes 
  & ocs_repository="smb://administrator:**********@192.168.10.41/common/utveckling/clone"
  & {same preruns, it seems to work well}

  initrd /live/initrd.img
}

无论出于何种原因,grub都失败了。它似乎尝试做同样的事情,但我打赌安装samba-location会出现问题(我可以手动挂载)。

它停止并显示错误消息“/ home / partimag / windows-10-base-clone”不存在,如果将所提供的samba位置挂载到/ home / partimag /,它肯定应该存在。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我遇到了一个非常类似的问题,我注意到通过添加更长的'sleep'调用mount命令调用mount文件的帮助文件,所以我知道存在语法错误,但语法相同在ocs_live_run失败后,在iso / syslinux.cfg和提示符下工作。

我发现如果没有使用ocs_prerun="Mount..."转义,\将无法运行。

因此:

OCS_PRERUN5=\"Mount -o user=,pass= //host/path/ /home/partimag\"

我希望如果你还在为此工作,它也适合你。