-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

이 명령은 -addxorriso의 기본 명령 세트에 속하며 mkisofs 옵션과 호환되지 않습니다. (거기에 다음 명령 단어 전에 범위를 끝내기 위한 최종 인수가 필요합니다 . 목표를 고려하면 명령이 대신 --필요하다고 말하고 싶습니다 .) mkisofs 시뮬레이션에서는 "pathspec" "ISO의 대상 경로"를 제공하여 이를 정의할 수 있습니다. " 형태 .-map-addtarget_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"문자를 포함할 수는 없지만, 필요하다면 표현하는데 사용할 수 있습니다 =.)\=

관련 정보