使用选项 -add 时 Xorriso 命令失败

使用选项 -add 时 Xorriso 命令失败

我正在使用 Xorriso 并运行以下命令:

   $MKISOFS \
    -iso-level 3 \
    -J -joliet-long \
    -append_partition 2 0xef $UNIONDIR/$EFIIMG \
    -partition_cyl_align all \
    -add "$UNATTENDED_FILE" 'C:\System32\Sysprep' \
    -o "$CFG_ISOPATH" \
    "$UNIONDIR/"

填充变量的命令是这样的:

/usr/bin/xorriso -as mkisofs -iso-level 3 -J -joliet-long -append_partition 2 0xef /tmp/union.19/boot-efi.img -partition_cyl_align all -add /tmp/wf_script-Xjc2i3/unattended.xml | 'C:\System32\Sysprep' -o 991cc570-10d9-11ec-818a-5d4c9d0ae440.iso /tmp/union.19/

这是我收到的错误,它是由于 -add 选项而发生的:

+ /usr/bin/xorriso -as mkisofs -iso-level 3 -J -joliet-long -append_partition 2 0xef /tmp/union.19/boot-efi.img -partition_cyl_align all -add /tmp/wf_script-eZeXEW/unattended.xml 'C:\System32\Sysprep' -o 3d3839e0-10db-11ec-818a-5d4c9d0ae440.iso /tmp/union.19/
xorriso 1.5.0 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 'stdio:3d3839e0-10db-11ec-818a-5d4c9d0ae440.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 42.2g free
xorriso : FAILURE : -as mkisofs: Unrecognized option '-add'
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
+ ok 'Creating new windows ISO'
+ EXITCODE=5
+ '[' 5 = 0 ']'
+ echo 'FAILURE: Creating new windows ISO'
+ exit 5
FAILURE: Creating new windows ISO
+ cleanup
+ purge /tmp/etfsimg19 /tmp/etfsmnt.19 /tmp/lower.19 /tmp/prop.19 /tmp/union.19 /tmp/union.19 /tmp/upper.19 /tmp/work.19
+ cd /tmp
+ for X in "$@"
+ '[' -d /tmp/etfsimg19 ']'
+ for X in "$@"
+ '[' -d /tmp/etfsmnt.19 ']'
+ umount /tmp/etfsmnt.19
+ for X in "$@"
+ '[' -d /tmp/lower.19 ']'
+ umount /tmp/lower.19
+ for X in "$@"
+ '[' -d /tmp/prop.19 ']'
+ umount /tmp/prop.19
+ for X in "$@"
+ '[' -d /tmp/union.19 ']'
+ umount /tmp/union.19
+ for X in "$@"
+ '[' -d /tmp/union.19 ']'
+ umount /tmp/union.19
+ for X in "$@"
+ '[' -d /tmp/upper.19 ']'
+ umount /tmp/upper.19
+ for X in "$@"
+ '[' -d /tmp/work.19 ']'
+ umount /tmp/work.19
+ rm -rf /tmp/etfsimg19 /tmp/etfsmnt.19 /tmp/lower.19 /tmp/prop.19 /tmp/union.19 /tmp/union.19 /tmp/upper.19 /tmp/work.19

我需要 -add 选项的原因是因为我需要将文件 unattended.xml 放入 ISO 中的 C:\System32\Sysprep 文件夹中,这样当它运行时它将能够自行执行安装。

很感谢任何形式的帮助

问候

达尼洛

答案1

该命令-add属于 xorriso 的本机命令集,与 mkisofs 选项不兼容。 (在那里,它需要一个最终参数--来在下一个命令字之前结束其范围。鉴于您的目标,我会说您需要 command -map,而不是-add。)在 mkisofs 模拟中,您可以通过给出“pathspec”来定义 ISO 中的目标路径”的形式target_path=source_path

ISO 中文件或目录的路径必须以“/”作为分隔符。即使如此,路径部分C:仍将是 ISO 中的目录名称。你真的想要这样吗? (我对 MS-Windows 的了解为 0。)

使用适合您意图的 ISO 路径,您可以实现通过 mkisofs 兼容选项插入$UNATTENDED_FILE$ISO_PATH目标

-graft-points "$ISO_PATH"="$UNATTENDED_FILE"

"$ISO_PATH"="$UNATTENDED_FILE"应在后面给出文本$UNIONDIR/ ,以避免文件被$UNIONDIR/覆盖"$ISO_PATH"。 (当然"$ISO_PATH"不能包含字符,如果确实需要=可以用 来表示。)\=

相关内容