설치 / 사용기

소프트웨어 Ventoy 외주로 돌리기 (외부 파일에 설정하기)

2020.09.25 23:10

suk 조회:1615 추천:27

알고 보면 원래 Ventoy에서 외부 폴더에 설정을 지원해줍니다

AIO Boot로 왔다 갔다 하고, grub2에 익숙하지 않아서 좀 늦게 응용을 했습니다

 

목적은 Ventoy 버전 업 될 때마다 2번째 숨김 파티션에 설정하려면 불편하기 때문입니다

그런데 이렇게 해도 단순하기는 합니다만, 한번은 2번째 숨김 파티션에 있는 grub / grub.cfg를 수정해야 합니다;

 

ISO, wim 등이 저장된 1번째 파티션의 ventoy 폴더에 wim부팅, vhd 부팅 지원해주는 플러그인과 

여러가지 설정이 있는 ventoy.json과 테마 폴더까지 있습니다.

Ventoy 설정은 1번째 파티션의 ventoy 폴더에 전부 가능합니다 2020-09-25_225022.jpg

 

제가 최근에 grub.cfg를 수정하여 부팅 메뉴를 추가했었죠

 

그런데 이것도 외부로 돌릴 수 있습니다. 창작은 아니고 잘 살펴보면 원래 이런 기능이 있습니다

그게 바로 ventoy 설치 파일 plugin / ventoy / ventoy_grub.cfg 입니다. grub.cfg와 비슷한 역할 입니다만

grub2를 잘 모르기 때문에 그냥 방치 상태였습니다

 

그러다가 오늘 기존에 제가 추가했었던 Windows 부팅 메뉴와 grub.cfg 마지막에 Main Menu 부분을 ventoy_grub.cfg에 추가했습니다

그랬더니, 부팅 메뉴가 잘 나옵니다. 파일 부팅도 잘 됩니다. 아 물론 중간에 시행 착오는 좀 있었습니다만 생략합니다

기존 grub.cfg 마지막 부분에 ventoy_grub.cfg 파일을 불러오는 구문을 입력해야 합니다

 

정리하면 

1. grub.cfg 마지막 부분에 ventoy_grub.cfg을 불러오는 구문을 추가합니다

 

if search -n -s -f /ventoy/ventoy_grub.cfg; then

 configfile /ventoy/ventoy_grub.cfg

fi

 

2. ventoy_grub.cfg은 부팅 메뉴들을 넣으시면 되는데요. 

기존에 grub.cfg에 추가하셨던 구문 + grub.cfg 마지막 즈음에 있는 Main menu를 추가하시면 됩니다

 

menuentry '===================  Ventoy 부팅 메뉴 ===================' {

    echo "press Enter to continue ......"

}

 

if [ "${grub_platform}" == "efi" ]; then

    set default="AIO Boot로 전환하기 (grubx64.efi or BOOTX64.EFI)"

    menuentry 'Windows 부팅 (UEFI)' --class=boot_windows {    

        if search -n -s -f /EFI/Microsoft/Boot/bootmgfw.efi; then

            terminal_output  console

            chainloader /EFI/Microsoft/Boot/bootmgfw.efi

        fi        

    }

    menuentry 'AIO Boot로 전환하기 (grubx64.efi or BOOTX64.EFI)' --class=boot_uefi {   

        if search -n -s -f /efi/boot/grubx64.efi; then

            terminal_output  console

            chainloader /efi/boot/grubx64.efi

        elif search -n -s -f /efi/boot/bootx64.efi; then

            terminal_output  console

            chainloader /efi/boot/bootx64.efi

        fi        

    }

fi

if [ "$grub_platform" = "pc" ]; then

    set default="AIO BOOT로 전환하기 (grub2win or grub2xp)"

    menuentry 'Windows 부팅 (BIOS)' --class=boot_windows {

        if search -n -s -f /Boot/BCD; then

            for bt in bootmgr BOOTMGR Bootmgr BootMGR; do

                if [ -f /$bt ]; then

                    ntldr /$bt

                    break

                fi

            done

        elif search -n -s -f /NTDETECT.COM; then

            drivemap -s hd0 $root

            ntldr /ntldr

        fi        

    }

    menuentry 'AIO BOOT로 전환하기 (grub2win or grub2xp)' --class=boot_g4d {

        if search -n -s -f /AIO/grub/grub2win; then

            ntldr /AIO/grub/grub2win

        elif search -n -s -f /AIO/grub/grub2xp; then

            ntldr /AIO/grub/grub2xp

        fi        

    }

fi

 

#Main menu

if [ $ventoy_img_count -gt 0 ]; then

    if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then

        vt_dynamic_menu 0 0 

    else

        vt_dynamic_menu 0 1

    fi

else

    if [ -n "$VTOY_NO_ISO_TIP" ]; then

        NO_ISO_MENU="No ISO files found, $VTOY_NO_ISO_TIP"

    elif [ -n "$VTOY_DEFAULT_SEARCH_ROOT" ]; then

        NO_ISO_MENU="No ISO files found, please check VTOY_DEFAULT_SEARCH_ROOT"

    else

        NO_ISO_MENU="No ISO files found"

    fi

    menuentry "$NO_ISO_MENU (Press enter to reboot ...)" {

        echo -e "\n    Rebooting ... "

        reboot

    }

fi

 

# VTOY_HOTKEY_TIP

 

if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then

    set VTOY_F3_CMD="vt_dynamic_menu 1 1"

    set VTOY_HOTKEY_TIP="1.메모리/디스크 부팅 2.전원 3.폴더/목록 보기 4.로컬 부팅 5.도구 6.개인 메뉴"

else

    set VTOY_F3_CMD="vt_dynamic_menu 1 0"

    set VTOY_HOTKEY_TIP="1.메모리/디스크 부팅 2.전원 3.폴더/목록 보기 4.로컬 부팅 5.도구 6.개인 메뉴"

fi

 

################################################################################

여기까지입니다

 

위에서 마지막에 VTOY_HOTKEY_TIP은 그냥 화면 아래에 영어로 나오는 단축키 설명을 한글로 표시한 것입니다

위 내용만으로는 적용되지 않고, theme 폴더의 theme.txt 내용과 연동되어서 적용됩니다

 

+ hbox{ 

    left = 17%

    top = 95%

    width = 10%

    height = 25

    + label {text = "@VTOY_HOTKEY_TIP@" color = "green" align = "left"} 

}

 

 

+ hbox{ 

    left = 17%

    top = 95%-25

    width = 10%

    height = 25

    + label {text = "@VTOY_MEM_DISK@" color = "green" align = "left"} 

}

 
@VTOY_MEM_DISK@ 는 단축키 F1이나 숫자 1 눌렀을 때 메모리/디스크 부팅위에 memdisk 글자 표시가 나타나게 하는 역할입니다
저도 처음에 이것이 없어서 F1이나 숫자 1 눌렀을 때 화면만 번쩍 번쩍해서 설정이 망가졌는 줄 알았습니다;;
 
아! 저는 timeout을 사용하지 않아서 없습니다만, ventoy_grub.cfg에 set timeout=5 이런 식으로 시간 설정이 가능합니다. 적용되는걸 확인했습니다
 
강좌에 올리려고도 했었는데요. 아직 실험적 단계라서 강좌에 올릴 단계는 아닌 것 같아서 사용기에 올립니다.
확실한 정보/지식만 강좌에 올려야지요 ^^
 
Ventoy 설정은 1번째 파티션의 ventoy 폴더에 전부 가능합니다 - 현재 설정 2020-09-25_230542.jpg

 

가상 머신이라서 AIO Boot를 기본 메뉴로 잡아놨습니다.
실컴이라면 Windows 부팅을 기본으로 잡을 듯 합니다.
 
Ventoy 설정은 1번째 파티션의 ventoy 폴더에 전부 가능합니다 - 현재 설정 - wim 부팅 잘 됩니다 2020-09-25_230629.jpg

ㅎㅎ 그 사이 배경화면은 바꿨습니다. 

 

@ 사소한 부작용을 발견했습니다. 사실 F6 또는 숫자 6 입력했을 때 개인 메뉴 (확장 메뉴)를 활용한 것입니다

지금은 부팅하자마자 확장 메뉴가 적용된 상태입니다. 그런데 여기에 다시 F6 키를 입력한 경우 화면상 변화는 없습니다만

F1을 제외한 단축키가 먹통이 됩니다. F6 누른 경우도 모든 단축키를 살리려면 단축키 관련 내용을 grub.cfg에서 가져와야 할 듯 합니다

-> 근데 생각보다 복잡한 듯 합니다. 이미 확장 메뉴 적용된 상황이라서 F6은 그냥 누르지 않는걸로 합니다 ~ ;;

-> 편법입니다만, AIO Boot로 한번 갔다가 다시 Ventoy로 돌아오면 단축키가 부활하네요 ^^ 둘다 기본으로 잡혀있어서 엔터 2번만 치면 부활합니다 

F6이나 6 누르셔서 단축키 먹통되었을 때 esc키 누르시면 단축키들이 부활합니다[별도의 구문은 추가하지 않아도 됩니다]

번호 제목 글쓴이 조회 추천 등록일
[공지] 사용기/설치기 이용안내 gooddew - - -
10046 윈 도 우| Micro19043.1165 [32] sunshine 2774 65 03-16
10045 기 타| [종료]win11_706 [70] 첨임다 1694 65 05-20
10044 기 타| (종료) 인터x되는 PE [48] RainbowCha 1653 65 04-26
10043 윈 도 우| Windows 11 (22000.556) 2022.03.09 정기 업데이트 [46] suk 1759 65 03-09
10042 윈 도 우| PE 빌드용 PRO (버전 2004 19041.610 + 버전 20H2 19042.610) [55] suk 2074 65 10-30
10041 기 타| (종료) 19043.985 PE [59] RainbowCha 2116 65 05-12
10040 기 타| 18363.418_boot_v4_BigTree [86] 못말리는짱 1716 65 05-10
10039 윈 도 우| (수정)MBR & GPT 겸용 USB 만들기(종료) [64] 밤톨이 5401 65 01-19
10038 윈 도 우| Win10XPE6.1 & Win10XPE5.0.3 [76] %카리스마 2536 65 04-25
10037 윈 도 우| POWER-UltimatePE Next... [72] 프리맨 9542 65 12-12
10036 윈 도 우| 월드베스트 PE 7.0 [159] 사랑과평화 10971 65 05-23
10035 기 타| Imagine1.3.3 update Win11 PE - 공유 중~~~~~~ [36] 딸랑쇠 1137 64 10-24
10034 윈 도 우| cmder 소개 [28] 집앞의_큰 818 64 03-22
10033 기 타| WinXPE147수정버전_20240313_ 23H2(빌드22631.3296) 사용기 [51] 격자 445 64 03-17
10032 기 타| PE 레지스트리 하이브로드 언로드 [35] 집앞의_큰 608 64 08-30
10031 소프트웨어| boot.wim DiskPart 스크립트 연동 윈도우 설치 [30] 무월 1185 64 11-12
10030 윈 도 우| Windows 10_Ent_22H2_19045.2364_2in1_x64_Office_UP 일반... [82] V무등산V 1606 64 01-04
10029 기 타| PE를 끌어다 붙여서 부팅해 보기 [51] 집앞의_큰 1357 64 01-04
10028 윈 도 우| Windows10 설치 전 업데이트 통합+IRST_VMD+LaunchBar [44] do98 1173 64 02-27
10027 기 타| 퀀텀PE V10.6 사용기 [44] 희생 1035 64 02-11
XE1.11.6 Layout1.4.8