Ventoy 활용법 3 (autoinstall plugin)


Ventoy 활용법 세번째로 autoinstall(자동설치)에 대해서 알아보겠습니다. ISO 원본을 가지고 무인설치 응답파일을 여러가지 적용해서 자동설치를 하는 기능입니다. 역시 vontoy.json 파일에서 플러그인을 정의 해주면 됩니다. 방법은 간단하게 생각되나 이 부분이 저는 적용하는데 있어서 제일 많이 애를 먹었습니다.

autoinstall 지원되는 배포판

현재 글을 작성하고 있을 시점의 버전이 1.0.20 입니다. 아마도 버전이 업데이트 되면서 더 늘어나지 않을까 합니다. 리눅스 쪽은 아직도 스크립트 공부중이라 테스트를 못해봤지만 우분투도 스크립트로 성공하게 되면 글을 꼭 남기도록 하겠습니다. 이건 도전할 만한 가치가 있네요.

배포판템플릿비고
WindowsUnattend XMLWindows
RHEL7/CentOS7/FedoraKickstart scriptDistros based on them are also supported.
Debian/Ubuntu ServerPreseed scriptDistros based on them are also supported.
SUSEautoYast XMLSLES and openSUSE

autoinstall Json 구성

json 구성예

배포판은 하나로 만들고 파티션 설정 및 에디션선택 또는 해당 거래처별로 워크그룹 및 사용자명을 다르게 해야 한다면, 그것을 unattend.xml파일에 적용하고 usb로 부팅하여 윈도우 설치를 하면됩니다. 부팅시 부트메뉴로 USB를 선택해서 해당 거래처에 맞는 무인응답 설치파일을 선택만 하면 되니 무척이나 편리한 기능입니다.

ventoy 디렉토리 안에 ventoy.json 파일에 auto_install 플러그인은 정의가 되며 예로는 다음과 같습니다. 현재 제가 사용하고 있는 예제입니다.


{
"auto_install": [
{          
"image": "/ISO/ko_windows_10_20H1_v2004_test.iso",
"template": [
"/ventoy/script/windows_unattend_BIOS_Disk1_1Partition_Pro_Edition.xml",
"/ventoy/script/windows_unattend_BIOS_Disk1_2Partition_Pro_Edition.xml",
"/ventoy/script/windows_unattend_BIOS_Disk2_each_1Partition_Pro_Edition.xml",
"/ventoy/script/windows_unattend_UEFI_Disk1_2Partition_Edu_Edition.xml",
"/ventoy/script/windows_unattend_UEFI_Disk1_2Partition_IoT_Edition.xml",
"/ventoy/script/windows_unattend_UEFI_Disk1_2Partition_Pro_Edition.xml",
"/ventoy/script/windows_unattend_UEFI_Disk2_2Partition_Edu_Edition_NVMe_Only.xml"
],
"autosel": 1
}
]
}
Code language: DOS .bat (dos)

Key Description

KeyTypeDescription
imageSTRINGThe full path of the iso file
templateSTRING or ARRAYThe full path of the installation template for the iso file. Can be a single string or an array of strings.
autoselINTEGEROptional. If you set it, that means you auto select the corresponding option in the prompt menu. And the prompt menu will NOT be shown.
0: boot without installation template
1: boot with the 1st installation template
2: boot with the 2nd installation template
……

구성시 반드시 주의 해야 할점

첫째, ISO 이미지의 라벨(볼륨)이 Ventoy에서 인식하는 라벨(볼륨)명이어야 합니다.

winpe 인식이 안될때 ventoy.dat 파일을 루트에 넣는것과 동일합니다. 제가 만든 배포판은 제 나름대로의 라벨을 넣었더니 안되던거였습니다. oscdimg.exe를 사용하신다면 아래처럼 ISO 이미지를 패킹하시면 됩니다.

msdn으로 정식배포된 이미지의 라벨(볼륨)명과 동일하게 하니 잘 되었습니다. 나름대로 만든 기존라벨명의 ISO파일에 ventoy.dat 파일을 넣고 auto_install 프롬프트 메뉴까지는 잘 보이나 실제 unattend.xml파일이 적용되지는 않았습니다.

oscdimg.exe 에서 -l 옵션으로 라벨명을 정의할때 msdn 배포된 이미지의 라벨명인 “CPBA_X64FRE_KO_KR_DVD9”입력해서 iso파일을 만드는 명령어 입니다.

oscdimg -m -o -u2 -lCPBA_X64FRE_KO_KR_DVD9 -udfver102 -bootdata:2#p0,e,b".\ISO\boot\etfsboot.com"#pEF,e,b".\ISO\efi\microsoft\boot\efisys.bin" ".\ISO" "ko_Windows_10_20H1_v2004_Build_19041.508_6in1_x64_20200908_by_soohyunet.iso"Code language: DOS .bat (dos)

둘째, 스크립트 즉 윈도우에서는 무인응답 설치파일인 unattend.xml 파일은 이름의 규칙에 맞아야 합니다.

윈도우용 스크립트이기 때문에 처음 시작은 windows 로 반드시 시작되어야 인식을 합니다. 그다음에 스크립트 파일이 어떤것인지 무인응답파일인지 인식시켜 줘야 합니다. 그래서 unattend라는 문구가 꼭 들어가야 합니다.

위에 예제에 보면 windows_unattend까지는 모두 동일하게 파일명이 들어간것이 그 이유입니다. windowsunaattend 해도 안되며 windows_autounattend 해도 인식을 못합니다. 실제 Ventoy 홈페이지에는 unattended 라고 되어있는데 unattend까지만 넣어도 됩니다.

셋째, auto install 가능한 해당 OS 이미지는 한개만 지원 가능합니다.

다른 이미지로 다른 경로 다른 이름의 xml 파일을 생성해서 테스트해봤으나 ISO 윈도우 이미지 이름 정렬 순으로 첫번째 이미지의 auto install을 실행합니다. 아직까지는 OS별로 하나의 이미지만 auto install를 지원하지만 버전이 업그레이드 되면 달라질수도 있겠네요.

부팅전 프롬프트 (1.0.12부터 지원)

위의 예제에서 autosel 옵션을 주고 iso 이미지를 선택하면 자동으로 autosel에서 위에서 순서으로 이미지를 선택해서 자동 인스톨을 진행하게 되는데요. 1번은 첫번째, 2번은 두번째 무인응답 설치파일을 선택하게됩니다. 매번 같은 응답파일을 선택하면 상관 없지만, 전 매번 다르게 하고 싶으므로 이값을 삭제해서 사용하고 있습니다.

코드를 또 쓰는 이유는 이것을 복사해서 사용하시는 분이 있을까봐 입니다. ,(콤마)를 안하거나 {} []가 하나라도 잘못되면 ventoy.json 파일을 못 읽어드리고 기본세팅값만 읽어 드립니다. 주의 해야해서 코드를 남깁니다.

{
"auto_install": [
{          
"image": "/ISO/ko_windows_10_20H1_v2004_test.iso",
"template": [
"/ventoy/script/windows_unattend_BIOS_Disk1_1Partition_Pro_Edition.xml",
"/ventoy/script/windows_unattend_BIOS_Disk1_2Partition_Pro_Edition.xml",
"/ventoy/script/windows_unattend_BIOS_Disk2_each_1Partition_Pro_Edition.xml",
"/ventoy/script/windows_unattend_UEFI_Disk1_2Partition_Edu_Edition.xml",
"/ventoy/script/windows_unattend_UEFI_Disk1_2Partition_IoT_Edition.xml",
"/ventoy/script/windows_unattend_UEFI_Disk1_2Partition_Pro_Edition.xml",
"/ventoy/script/windows_unattend_UEFI_Disk2_2Partition_Edu_Edition_NVMe_Only.xml"  
]
}
]
}Code language: DOS .bat (dos)
ventoy autoinstall 메인화면
ventoy main 화면(tela 테마)
ventoy autoinstall 프롬프트
auto install 프롬프트 선택화면

참고:

2 thoughts on “Ventoy 활용법 3 (autoinstall plugin)”

Leave a Comment