본문 바로가기
리눅스

Ventoy

by 다움위키 2024. 9. 24.

원문 보기: https://dawoum.duckdns.org/wiki/Ventoy

 

Ventoy.iso, .wim, .img, .vhd(x), 및 .efi 파일과 같은 파일로 부팅 가능한 USB 미디어 저장 장치를 만드는 데 사용되는 자유와 오픈-소스 유틸리티입니다. 한번 Ventoy가 USB 드라이브에 설치되면, 새로운 설치 파일로 업데이트하기 위해 USB 스틱을 다시 포맷할 필요가 없습니다; .iso, .wim, .img, .vhd(x), 또는 .efi 파일을 USB 드라이브에 복사하고 해당 파일에서 직접 부팅하면 됩니다. Ventoy는 사용자에게 이들 파일 중 하나를 선택할 수 있는 부팅 메뉴를 제공합니다.

Introduction

컴퓨터를 사용하다 보면, 드물게 운영 시스템을 다시 설치하거나, 라이브 시디로 부팅을 해야 할 경우가 생깁니다.

요즘은 USB 스틱에 부팅 이미지를 구워서 부팅하는 것이 일반적입니다. 보통 이미지를 굽는 프로그램은 일회성을 갖는다는 의미가 강해서인지 저장 장치 전체를 하나로 구워버립니다.

이러다 보니, 다른 운영 시스템을 설치하기 위해, 이전의 운영 시스템 이미지를 버리고 새로운 운영 시스템을 스틱에 굽거나 아니면 또 다른 USB 스틱을 구매해서 해당 이미지를 구울 수 있습니다.

이런 상황은 자주 발생하지 않기 때문에, 문제가 없는 것처럼 보이지만, 운영 시스템에 문제가 생겼을 때, 현재 동작 중인 시스템에서 해결이 되지 않을 때에는 설치 USB 스틱이 필요한 경우가 있습니다.

이때 이전의 설치 USB 스틱을 잃어버렸거나, 이미지를 구울 또 다른 시스템이 없을 때에는 굽는 작업 자체를 할 수 없다는 문제가 생깁니다.

따라서, 하나의 USB 스틱에 여러 운영 시스템을 동시에 부팅할 수 있는 도구가 필요하고, 그 중 하나가 Ventoy입니다. 특히, 굽는 과정이 없고, 복사만으로 해당 이미지로 부팅이 가능하기 때문에 평소에는 데이터 보관/이동용으로 사용하다가, 스마트폰 등으로 다운받은 이미지를 옮기기만 하면 부팅이 가능한 것이 장점입니다.

Installation

데비안 저장소에서 패키지를 제공하지 않기 때문에, 개발자가 제공하는 바이너리를 사용해서 패키지를 만들 수 있습니다. 소스로부터 컴파일은 많은 의존성으로 인해 여기서는 수행하지 않지만, 다음에서 소스를 볼 수 있습니다:

이제 바이너리로부터 패키지를 만들 수 있습니다. 우선 필요한 것은 최신 출시된 리눅스용 바이너리와 아치 패키지를 만들 때 사용하는 패치와 일부 텍스트 파일입니다:

아치 리눅스 해당 페이지에서 Sources (9)에서 맨 위의 하나는 개발자가 제공하는 것이고 그 밑의 8개를 받습니다.

모두를 한 개의 디렉토리에 두고,

  • tar xvf ventoy-1.0.99-linux.tar.gz
  • cd ventoy-1.0.99

이제 아치 리눅스의 prepare() 부분을 $CARCH를 x86_64로 바꾸고, 적당히 수행합니다.

그런-다음 package()에 해당하는 부분을 $srcdir은 ..으로 바꾸어서 설치 스크립트를 만듭니다:

#!/bin/bash

pkgdir=ventoy-bin_1.0.99-1_amd64
pkgname=ventoy-bin
CARCH=x86_64

install -Dm644 -vt      "$pkgdir/opt/${pkgname%-bin}/boot/"            boot/*
install -Dm644 -vt      "$pkgdir/opt/${pkgname%-bin}/${pkgname%-bin}/" "${pkgname%-bin}"/*
install -Dm755 -vt      "$pkgdir/opt/${pkgname%-bin}/tool/"            tool/*.{cer,glade,json,sh,xz}
install -Dm755 -vt      "$pkgdir/opt/${pkgname%-bin}/tool/$CARCH/"     tool/$CARCH/*
install -Dm755 -vt      "$pkgdir/opt/${pkgname%-bin}/"                 *.sh
cp --no-preserve=o -avt "$pkgdir/opt/${pkgname%-bin}/"                 plugin WebUI

install -Dm755 "VentoyGUI.$CARCH" -vt "$pkgdir/opt/${pkgname%-bin}"
install -Dm644 WebUI/static/img/VentoyLogo.png -v "$pkgdir/usr/share/pixmaps/${pkgname%-bin}.png"
install -Dm644 "../${pkgname%-bin}.desktop" -vt "$pkgdir/usr/share/applications"

# Link system binaries
for binary in xzcat hexdump; do
  ln -svf /usr/bin/$binary "$pkgdir/opt/${pkgname%-bin}/tool/$CARCH/"
done

install -Dm755 "../${pkgname%-bin}"{,gui,web,plugson,-{,extend-}persistent} -vt "$pkgdir"/usr/bin/

# Remove Gtk 2 files
if [ $CARCH == "x86_64" ]; then
  rm "$pkgdir/opt/${pkgname%-bin}/tool/$CARCH/Ventoy2Disk.gtk2"
fi

mkdir -p "$pkgdir/DEBIAN"

다음으로 ventoy-bin_1.0.99-1_amd64/DEBIAN/control 파일을 적당히 만듭니다:

  • dpkg-deb --build --root-owner-group ventoy-bin_1.0.99-1_amd64
  • sudo dpkg -i ventoy-bin_1.0.99-1_amd64.deb

Usage

먼저, USB를 컴퓨터에 꼽습니다.

그런-다음 ventoygui를 명령-줄에서 실행하든지, 그놈 실행 창에서 ventoy를 찾아서 실행하면, 루트 암호를 묻는 과정이 있고, Ventoy2Disk가 수행될 것입니다.

화면에서 Device에 꼽은 USB 스틱이 보일 것입니다.

여기서 OS를 설치하려는 하드디스크가 2TB가 넘을 경우에는 Option->Partition Type->GPT로 바꾸십시오. 그렇지 않을 때에는 기본값 MBR을 사용하십시오.

그런-다음 Install를 누릅니다. 이때 루트 암호를 묻는 과정이 두 번 있습니다.

이제 USB 스틱을 뽑았다가 다시 꼽습니다.

마지막으로 원하는 iso 파일을 마운트된 Ventoy 디렉토리로 복사합니다.

USB로 부팅 후에, 원하는 OS를 선택해서 부팅할 수 있습니다.

ISO 파일을 복사한 후에, 어느 정도 시간을 두고 Eject를 하십시오!! 복사가 완료된 것처럼 보이지만, 복사 완료 후에 즉시 재시작하거나 즉시 Eject를 수행할 경우에 해당 ISO로 부팅이 되지 않을 수 있습니다.

Re-size patitions

간혹, 바이오스 업데이트가 필요할 수 있습니다. 시스템마다 다르겠지만, 대체로 exfat를 바이오스 업데이트 프로그램에서 인식을 못합니다.

게다가, Ventoy에서 만든 파티션은 다른 도구, 예를 들어 gparted에서 조절이 불가능합니다.

파티션 조절은 Ventoy에서 가능합니다.

  1. Option->Partition Configuration을 선택합니다.
  2. Preserve some space at the end of the disk를 체크합니다.
  3. 바로 아래의 왼쪽에 200을 적고 오른쪽에 MB를 선택합니다.
  4. OK를 누릅니다.
  5. Install를 눌러서 새로운 내용을 적용합니다.
  6. gparted를 실행해서 해당 USB 스틱을 선택합니다.
  7. 남은 부분을 fat32로 포맷합니다.

Ventory는 MBR 파티션 유형을 사용했을 때, 1,2번 파티션을 생성합니다. 위 과정은 1번을 줄여서 그 만큼 크기를 끝 부분에 남겨둡니다.

Features

Ventoy는 USB 플래시 드라이브, 지역 디스크, SSD (NVMe), 또는 SD 카드에 설치될 수 있고 선택된 .iso, .wim, .img, .vhd(x), 또는 .efi 파일에서 직접 부팅될 것입니다. Ventoy는 이미지 파일을 USB 드라이브에 추출하지 않지 않지만, 그것들을 직접 사용하는데, 왜냐하면 압축 해제 기능이 있어 설치 중에 압축을 해제하기 때문입니다. 하나의 장치에 여러 개의 ISO 이미지를 넣고 Ventoy가 부팅된 직후 표시되는 메뉴에서 부팅할 이미지를 선택할 수 있습니다.

MBRGPT 파티션 스타일, x86 레거시 BIOS와 다양한 UEFI 부팅 방법 (지속성 포함)이 지원됩니다. 4 GB보다 큰 ISO 파일을 사용할 수 있습니다. Ventoy는 Windows 7 이상, Debian, Ubuntu, CentOS, Red Hat Enterprise Linux (RHEL), Fedora 및 100개 이상의 다른 리눅스 배포판을 포함한 다양한 운영 시스템 부팅과 설치 ISO 파일을 지원합니다; 다양한 Unix 릴리스, VMware, Citrix XenServer 등도 테스트되어 왔습니다.

Pre-installed Plugins

Global Control Plugin

이 플러그인은 Ventoy에 대해 일부 전역 설정을 만들기 위해 사용됩니다.

Password Plugin

이 플러그인과 함께, 부팅 시 Ventoy 또는 ISO에 대한 비밀번호를 설정할 수 있습니다. 이것은 매우 간단한 비밀번호 기능입니다.

Driver Update Disk Plugin

이 플러그인은 DUD 파일을 통합하는 매우 간단한 방법을 제공합니다.

Boot Conf Replace Plugin

일부 리눅스 배포판을 부팅할 때, 특정 하드웨어나 또 다른 목적에 대한 부팅 옵션을 추가해야 할 때가 있습니다. 이는 "Configuration Replace Plug-in"으로 수행될 수 있습니다.

Auto Memdisk Plugin

이 플러그인과 함께 일부 ISO/IMG 파일에 대해 memdisk 모드를 설정할 수 있고 Ventoy는 항상 memdisk 모드를 사용하여 해당 파일을 부팅할 것입니다.

Windows Vhdboot Plugin

Ventoy는 이 플러그인을 사용하여 VHD(x) 파일을 부팅합니다. 그것은 Legacy BIOS와 UEFI를 모두 지원합니다.

Wimboot Plugin

Ventoy는 이 플러그인을 사용하여 WIM 파일 (레거시 BIOS + UEFI)을 부팅합니다.

Persistence Plugin

이 플러그인을 사용하면 라이브 시스템에서 변경한 모든 내용을 저장하여 다음에 시스템을 시작할 때 해당 내용을 계속 사용할 수 있습니다.

Auto Installation Plugin

많은 리눅스 배포판은 무인 설치를 제공합니다. 설치에 대한 스크립트만 지정하면 ISO를 자동으로 설치할 수 있습니다.

Menu Extension Plugin

Ventoy는 grub2 기반이므로, cfg-파일에서 원하는 grub2 메뉴를 정의하고 로드할 수 있습니다.

Menu Tip Plugin

이 플러그인과 함께 ISO에 대한 팁을 설정할 수 있습니다. 이 메시지는 ISO를 선택하면 표시됩니다.

Menu Alias Plugin

이 플러그인과 함께 ISO/WIM 파일에 대한 별칭을 정의할 수 있습니다. 별칭은 부팅 메뉴에 표시하는 데만 사용됩니다.

Menu Class Plugin

이 Ventoy 플러그인과 함께 ISO 파일에 대한 클래스를 정의하고 부팅 메뉴에 아이콘을 표시할 수 있습니다.

Theme Plugin

Ventoy는 grub2 기반이므로, 모든 grub2 테마를 Ventoy에서 사용할 수 있습니다.

Injection Plugin

이 플러그인과 함께 일부 파일 (예를 들어 드라이버/스크립트 ...)을 설치할 수 있습니다. 윈도우에 대해, 이것은 WinPE 환경입니다. 리눅스에 대해 이것은 initramfs-환경입니다.

External links

Screenshots