[Ventoy] ISO 를 바로 사용하는 OS Install Boot Device 생성
Alternative to the IODD
요약
- Ventoy 로 USB 를 한 번 설치해 두면 별도 부팅 이미지 작업 없이 ISO 파일을 복사하는 것만으로 OS 설치 장치로 쓸 수 있습니다.
- Linux 에서는
./Ventoy2Disk.sh -i /dev/sdX로 설치하며, 생성된 exfat 파티션에 ISO 를 넣으면 부팅 메뉴에 목록이 표시됩니다. - IODD 처럼 간편하면서 무료로 쓸 수 있는 오픈소스 도구이며, Windows 에서도 같은 방식으로 장치를 만들 수 있습니다.
테스트 환경 Ventoy 1.0.64 (Ubuntu 에서 장치 생성, CentOS 7.9 Minimal ISO 설치 테스트)
Intro
시스템 장애로 인해 OS 를 재설치 해야되는 경우가 생겼다.
시스템팀에서 OS 재설치를 해야되는데 DVD 도 없고 USB 이미지도 없었다.
급하게 설치를 해야되서 내가 가지고 있는 IODD 를 이용하여 OS 설치를 하게 되었다.
Ventoy
무료로 IODD 와 같이 사용 할 수 있는 것이 있나 찾다가 발견된 것은 Ventoy 이다.
따로 Boot device 로 생성안하고 바로 ISO 이미지를 넣어서 OS Install Device 로 사용이 가능하다.
Ventoy 설치 (for Linux)
Ubuntu 시스템에서 Ventoy device 설치를 해본다.
root@u-node-1:~/ventoy# wget https://github.com/ventoy/Ventoy/releases/download/v1.0.64/ventoy-1.0.64-linux.tar.gz
Release 에서 Linux 용으로 Download 받습니다.
root@u-node-1:~/ventoy# gzip -d ventoy-1.0.64-linux.tar.gz
root@u-node-1:~/ventoy# tar xvf ventoy-1.0.64-linux.tar
root@u-node-1:~/ventoy# cd ventoy-1.0.64/
이후 위와 같이 uncompress 를 한다.
Ventoy device 생성
아래와 같이 Ventoy2Disk.sh script 를 이용하여 생성이 가능하다.
root@u-node-1:~/ventoy/ventoy-1.0.64# ./Ventoy2Disk.sh --help
**********************************************
Ventoy: 1.0.64 x86_64
longpanda admin@ventoy.net
https://www.ventoy.net
**********************************************
Usage: Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
CMD:
-i install Ventoy to sdX (fails if disk already installed with Ventoy)
-I force install Ventoy to sdX (no matter installed or not)
-u update Ventoy in sdX
-l list Ventoy information in sdX
OPTION: (optional)
-r SIZE_MB preserve some space at the bottom of the disk (only for install)
-s/-S enable/disable secure boot support (default is disabled)
-g use GPT partition style, default is MBR (only for install)
-L Label of the 1st exfat partition (default is Ventoy)
-n try non-destructive installation (only for install)
인식된 USB 에 아래와 같이 명령을 실행한다.
root@u-node-1:~/ventoy/ventoy-1.0.64# ./Ventoy2Disk.sh -i /dev/vdc
**********************************************
Ventoy: 1.0.64 x86_64
longpanda admin@ventoy.net
https://www.ventoy.net
**********************************************
Disk : /dev/vdc
Model: Virtio Block Device (virtblk)
Size : 4 GB
Style: MBR
Attention:
You will install Ventoy to /dev/vdc.
All the data on the disk /dev/vdc will be lost!!!
Continue? (y/n) y
All the data on the disk /dev/vdc will be lost!!!
Double-check. Continue? (y/n) y
Create partitions on /dev/vdc by parted in MBR style ...
Done
Wait for partitions ...
partition exist OK
create efi fat fs /dev/vdc2 ...
mkfs.fat 4.1 (2017-01-24)
success
Wait for partitions ...
/dev/vdc1 exist OK
/dev/vdc2 exist OK
partition exist OK
Format partition 1 /dev/vdc1 ...
mkexfatfs 1.3.0
Creating... done.
Flushing... done.
File system created successfully.
mkexfatfs success
writing data to disk ...
sync data ...
esp partition processing ...
Open ventoy efi file 0x610ac0
ventoy x64 efi file size 1757184 ...
Open bootx64 efi file 0x610ac0
Open ventoy ia32 efi file 0x610f10
ventoy efi file size 1183744 ...
Open bootia32 efi file 0x610ac0
Install Ventoy to /dev/vdc successfully finished.
위와 같이 설치가 완료되면 exfat filesystem type 로 format 된 partition 이 있다.
root@u-node-1:~/ventoy/ventoy-1.0.64# lsblk
...
vdc 252:32 0 4G 0 disk
├─vdc1 252:33 0 4G 0 part
└─vdc2 252:34 0 32M 0 part
추가로 exfat filesystem 을 mount 하기 위해서는 아래와 같이 package 설치가 필요하다.
root@u-node-1:~/ventoy/ventoy-1.0.64# apt install exfat-utils
ISO 추가
Ventoy 에 ISO 를 추가하기 위해 filesystem 을 mount 한다.
root@u-node-1:~# mkdir /imsi
root@u-node-1:~# mount /dev/vdc1 /imsi
root@u-node-1:~# cd /imsi
mount 된 filesystem 에 ISO 이미지를 넣는다.
root@u-node-1:/imsi# wget https://mirror.kakao.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
이미지 추가 후, 해당 filesystem 은 umount 한다.
TEST
추가한 이미지로 설치 진행이 잘되는지 테스트 진행해본다.

위와 같이 Boot list 에서 Ventoy device 를 선택한다.

Ventoy 에서 추가한 ISO 목록이 보이고 테스트를 위해 CentOS ISO 를 선택한다.

설치 진행 화면

설치 완료 화면
[참고] Windows 에서 생성 과정
Windows 에서는 아래와 같이 Ventoy device 를 생성하고 사용하면 된다.

Ventoy 설치 화면

파티션 정보

ISO 추가 과정
end
생각보다 IODD 만큼 사용 방법도 간편하며 무료로 사용이 가능하다는 것이 매우 매력적인 오픈소스 솔루션이 였다. ^^
참고 자료
자주 묻는 질문
Linux 에서 Ventoy USB 는 어떻게 만드나요?
GitHub Release 에서 Linux 용 tar.gz 를 받아 압축을 풀고 ./Ventoy2Disk.sh -i /dev/sdX 를 실행합니다. 대상 디스크의 데이터는 모두 삭제됩니다.
Ventoy USB 에 ISO 이미지는 어떻게 추가하나요?
Ventoy 설치로 생성된 exfat 파티션(예: /dev/vdc1)을 mount 한 뒤 ISO 파일을 복사하고 umount 하면 됩니다. Ubuntu 에서 exfat 을 mount 하려면 apt install exfat-utils 가 필요합니다.
이미 Ventoy 가 설치된 디스크에 다시 설치하거나 업데이트하려면 어떻게 하나요?
-i 는 이미 Ventoy 가 설치된 디스크에서는 실패하므로 강제 설치는 -I, 업데이트는 -u 옵션을 사용합니다.
Ventoy2Disk.sh 에서 GPT 파티션이나 Secure Boot 를 사용할 수 있나요?
네, 설치 시 -g 로 GPT 파티션 스타일을, -s 로 secure boot 지원을 켤 수 있습니다. 기본값은 MBR 이며 secure boot 는 비활성화입니다.