Найти тему
А чё так можно?

Одна загрузочная флешка сразу для трех Windows

Оглавление

Вместо вступления

Давай сделаем ОДНУ установочную флэшку для UEFI и BIOS с тремя Windows.

Что тебе понадобится?

  1. Скачать от 1го до 3ех дистрибутивов WIndows. Как скачать WIndows с официального сайта Microsoft в обход санкций, можешь посмотреть в моем видео. Как создать дистрибутив Windows 7 для UEFI и BIOS, также глянь в видео. Остальные дистрибутивы можно использовать как они есть.
  2. Отнять флэшку, HDD или SSD диск у прохожего на улице. Только аккуратно, не нарушая уголовный кодекс.
  3. Запустить мой простецкий скрипт (батник).

Ставь лайки и комментируй, если статья оказалась полезной. Для меня и тебя это важно.

Видео: Три в одном: Загрузочная флешка Windows 11, Загрузочная флешка Windows 10, Загрузочная флешка Windows 8.1

В видео могут быть фрагменты, отсутствующие в статье из-за большого набора действий, которые мне лень переносить в формат статьи.

По сути: скрипт

Собственно сам скрипт:

@ECHO off
REM ---------------------------------------------------------------------------
REM Псевдоскрипт create_boot_achetmq v. 0.1
REM ---------------------------------------------------------------------------
REM А чё так можно?
REM Подпишись везде!
REM Youtube: https://www.youtube.com/channel/UChyAYOcXxvjdDU3Blg_mDmg/
REM Rutube: https://rutube.ru/channel/26890034/
REM Дзен: https://zen.yandex.ru/aCheTMq/
REM VK: https://vk.com/aCheTMq/
REM Telegram: https://t.me/aCheTMq/
REM Mail: just.so@mail.ru
REM ---------------------------------------------------------------------------
REM СКРИПТ НУЖНО ЗАПУСКАТЬ ОТ ИМЕНИ АДМИНИСТРАТОРА!
REM СКРИПТ ИСПОЛЬЗУЕТ СЛЕДУЮЩИЕ БУКВЫ РАЗДЕЛОВ ДЛЯ РАБОТЫ: K, L, M, N!
REM ВНИМАНИЕ! БУДЬ ВНИМАТЕЛЕН ПРИ ВЫБОРЕ ДИСКА.
REM Скрипт предназначен для создания загрузочного устройства с одним, до трех дистрибутивов WIndows.
REM Загрузочное устройство (флешка\HDD\SSD) смогут запускаться с UEFI и BIOS компьютерами.
REM Для создания загрузочного раздела применяются проекты grub4dos и grub4dos for UEFI. Их можно скачать с https://github.com.
REM Для создания загрузочного раздела в папке со скриптом разместите:
REM - в папку bios содержимое архива grub4dos.
REM - в папку uefi содержимое архива grub4dos for UEFI.
REM - В ПАПКИ (от 1 до 3) содержимое дистрибутивов Windows (ISO) с префиксом "w.".
REM К примеру так будет выглядеть корневая папка со скриптом:
REM \..
REM \bios\ <- Cодержимое архива grub4dos.
REM \uefi\ <- Cодержимое архива grub4dos for UEFI.
REM \w.Windows 7\ <- Cодержимое дистрибутива Windows 7.
REM \w.Windows 10\ <- Cодержимое дистрибутива Windows 10.
REM \w.Windows 11\ <- Cодержимое дистрибутива Windows 11.
REM \create_boot_achetmq.bat <- Cкрипт.
REM ---------------------------------------------------------------------------
SETLOCAL enabledelayedexpansion
CHCP 1251
CLS
REM Переменные, которые можно изменить.
REM Переменная с именами томов для дистрибутивов. Можно, к примеру L заменить на G и т.д.
SET vol_letters=L^|M^|N
REM Переменная с именем загрузочного тома. Можно, к примеру K заменить на X и т.д.
SET vol_boot_letter=K
REM Переменная с размером загрузочного раздела в Мб.
SET /a boot_part_size=1024
REM ---
REM Остальные лучше не трогать.
REM Переменные.
REM %~dp0
SET bios_dir=%~dp0bios
SET uefi_dir=%~dp0uefi
SET diskpart_cmd=%~dp0diskpart_cmd.txt
SET diskpart_result=%~dp0diskpart_result.txt
SET find_result=
SET find_result_f=%~dp0find_result_f.txt
SET error_msg=
SET t=
SET tt=
SET null=
SET menu_b_tmp=%~dp0menu_b.lst.tmp
SET menu_u_tmp=%~dp0menu_u.lst.tmp
REM ---
REM Проверка Админа.
NET SESSION >nul 2>&1
IF '%errorlevel%' NEQ '0' (
SET error_msg=Запусти скрипт от имени Администратора.
GOTO :ERROR
)
REM ---
REM Проверка дистрибутивов grub.
CLS
SET grub_ext_dir=
SET grub_grldr_f=
SET grub_uefi_ext_dir=
SET grub_uefi_bootia32_f=
SET grub_uefi_bootx64_f=
CALL :PRINT_HEADER
ECHO %t%Проверка дистрибутивов grub
ECHO.
SET error_msg=grub4dos: необходимые файлы и папки не найдены.
IF not EXIST "%bios_dir%" (goto ERROR)
ECHO %t%Папка %bios_dir% - найдена.
CALL :FIND_FILE "%bios_dir%" "bios"
SET grub_ext_dir=%find_result:~0,-5%
IF not EXIST "%grub_ext_dir%" (goto ERROR)
ECHO %t%Папка ext: %grub_ext_dir% - найдена.
CALL :FIND_FILE "%bios_dir%" "grldr"
SET grub_grldr_f=%find_result%
IF not EXIST "%grub_grldr_f%" (goto ERROR)
ECHO %t%Файл grldr: %grub_grldr_f% - найден.
IF not EXIST "%uefi_dir%" (goto ERROR)
ECHO %t%Папка %uefi_dir% - найдена.
CALL :FIND_FILE "%uefi_dir%" "chkpci"
SET grub_uefi_ext_dir=%find_result:~0,-7%
IF not EXIST "%grub_uefi_ext_dir%" (goto ERROR)
ECHO %t%Папка ext: %grub_uefi_ext_dir% - найдена.
CALL :FIND_FILE "%uefi_dir%" "BOOTIA32.EFI"
SET grub_uefi_bootia32_f=%find_result%
IF not EXIST "%grub_uefi_bootia32_f%" (goto ERROR)
ECHO %t%Файл bootia32.efi: %grub_uefi_bootia32_f% - найден.
CALL :FIND_FILE "%uefi_dir%" "BOOTX64.EFI"
SET grub_uefi_bootx64_f=%find_result%
IF not EXIST "%grub_uefi_bootx64_f%" (goto ERROR)
ECHO %t%Файл bootix64.efi: %grub_uefi_bootx64_f% - найден.
CALL :PRINT_FOOTER
SET error_msg=
REM ---
REM Проверка дистрибутивов Windows.
CLS
SET /a windows_count=0
SET curr_dir=""
SET pref_dir=""
SET pref_dir_o=w.
SET dir_size=0
SET dir_size_mb=0
SET dir_size_t=0
SET win_dist=
CALL :PRINT_HEADER
ECHO %t%Проверка дистрибутивов Windows
ECHO.
REM Поиск папок "!pref_dir_o!"
FOR /F "delims=" %%A IN ('DIR "%~dp0" /b /a:d') DO (
SET curr_dir=%%A
SET pref_dir=!curr_dir:~0,2!
IF /i !pref_dir!==!pref_dir_o! (
ECHO %t%%~dp0!curr_dir!
SET /a windows_count+=1
)
)
IF !windows_count! EQU 0 (SET error_msg=Не найдены дистрибутивы)
IF !windows_count! GTR 3 (SET error_msg=Найдено больше 3х дистрибутивов Windows)
IF !error_msg! NEQ !null! (goto ERROR)
FOR /F "delims=" %%A IN ('DIR "%~dp0" /b /a:d') DO (
SET curr_dir=%%A
SET pref_dir=!curr_dir:~0,2!
IF /i !pref_dir!==!pref_dir_o! (
CALL :GET_DIR_SIZE "%~dp0!curr_dir!"
SET /a dir_size_mb+=128
ECHO %t%!curr_dir! - !dir_size_mb! MB
SET win_dist=!win_dist!!curr_dir!^|!dir_size_mb!^;
)
)
CALL :PRINT_FOOTER
SET error_msg=
REM ---
REM Работа DISKPART.
SET line=
SET drive_i=
SET d_yes=
SET part_vol=
SET part_size=
SET curr_win=
REM GOTO :CREATE_BOOT
:P_DISKPART
CLS
CHCP 1250
ECHO list disk > "%diskpart_cmd%"
ECHO exit >> "%diskpart_cmd%"
DISKPART /s "%diskpart_cmd%" > "%diskpart_result%"
CHCP 1251
CLS
CALL :PRINT_HEADER
ECHO.
ECHO %t%Чё сделаем загрузочное устройство?
ECHO %t%Выбери из какого подключенного диска:
ECHO %t%------------------------------------------------------------
FOR /f "usebackq tokens=* delims=crlf" %%a IN ("%diskpart_result%") DO (
SET line=%%a
SET line=!line:~0,1!
IF "!line!"==" " (ECHO %t%%%a)
)
ECHO %t%------------------------------------------------------------
ECHO.
ECHO ВНИМАНИЕ: ДЛЯ СОЗДАНИЯ РАЗДЕЛОВ ПОТРЕБУЮТСЯ СЛЕДУЮЩИЕ НАЗВАНИЯ РАЗДЕЛОВ: !vol_boot_letter!^:^\, !vol_letters:^|=^:^\, !^:^\.
ECHO.
SET /p drive_i=%t% "> Выбери диск (индекс диска):"
ECHO.
ECHO ВНИМАНИЕ: ВСЕ ДАННЫЕ НА "ДИСКЕ %drive_i%" БУДУТ УНИЧТОЖЕНЫ.
SET /p d_yes=%t% "> Подтверди выбор диска Диск %drive_i% [Y - Да; N - Нет]:"
IF /i !d_yes!==y (SET d_yes=y) ELSE (goto :P_DISKPART)
REM Создание загрузочного раздела.
ECHO sel disk %drive_i% > "%diskpart_cmd%"
ECHO clean >> "%diskpart_cmd%"
ECHO convert mbr >> "%diskpart_cmd%"
ECHO create partition primary size=!boot_part_size! >> "%diskpart_cmd%"
ECHO active >> "%diskpart_cmd%"
ECHO format fs=fat32 quick label="BOOT" >> "%diskpart_cmd%"
ECHO assign letter=%vol_boot_letter% >> "%diskpart_cmd%"
ECHO color white/black white/red> "%menu_b_tmp%"
ECHO timeout 30>> "%menu_b_tmp%"
ECHO default ^2>> "%menu_b_tmp%"
ECHO title A Che Tak Mojno? (zen.yandex.ru/aCheTMq), 2022>> "%menu_b_tmp%"
ECHO lock>> "%menu_b_tmp%"
ECHO title ------------------------------------------------------------------------------------------------>> "%menu_b_tmp%"
ECHO lock>> "%menu_b_tmp%"
ECHO color white/black white/red> "%menu_u_tmp%"
ECHO timeout 30>> "%menu_u_tmp%"
ECHO default ^2>> "%menu_u_tmp%"
ECHO title A Che Tak Mojno? (zen.yandex.ru/aCheTMq), 2022>> "%menu_u_tmp%"
ECHO lock>> "%menu_u_tmp%"
ECHO title ------------------------------------------------------------------------------------------------>> "%menu_u_tmp%"
ECHO lock>> "%menu_u_tmp%"
SET parts=!win_dist!
SET letters=!vol_letters!
ECHO.
ECHO %t%Раздел "BOOT" размером !boot_part_size! MB с именем !vol_boot_letter!
:PARTS
FOR /f "tokens=1* delims=;" %%a IN ("%parts%") DO (
SET curr_win=%%a
SET parts=%%b
)
FOR /f "tokens=1-2 delims=|" %%a IN ("%curr_win%") DO (
SET part_vol=%%a
SET /a part_size=%%b
)
FOR /f "tokens=1* delims=|" %%a IN ("%letters%") DO (
SET vol_letter=%%a
SET letters=%%b
)
ECHO %t%Раздел "!part_vol:w.=!" размером !part_size! MB с именем !vol_letter!
ECHO create partition primary size=!part_size! >> "%diskpart_cmd%"
ECHO format fs=ntfs quick label="!part_vol:w.=!" >> "%diskpart_cmd%"
ECHO assign letter=%vol_letter% >> "%diskpart_cmd%"
ECHO title !part_vol:w.=!>> "%menu_b_tmp%"
ECHO find --set-root /!vol_letter!.marker>> "%menu_b_tmp%"
ECHO chainloader /bootmgr>> "%menu_b_tmp%"
IF EXIST "%~dp0!part_vol!\efi\boot\bootx64.efi" (
ECHO title !part_vol:w.=!>> "%menu_u_tmp%"
ECHO find --set-root /!vol_letter!.marker>> "%menu_u_tmp%"
ECHO chainloader /efi/boot/bootx64.efi>> "%menu_u_tmp%"
)
IF EXIST "%~dp0!part_vol!\efi\boot\bootia32.efi" (
ECHO title !part_vol:w.=! x32>> "%menu_u_tmp%"
ECHO find --set-root /!vol_letter!.marker>> "%menu_u_tmp%"
ECHO chainloader /efi/boot/bootia32.efi>> "%menu_u_tmp%"
)
IF DEFINED parts GOTO :PARTS
ECHO exit >> "%diskpart_cmd%"
DISKPART /s "%diskpart_cmd%" > "%diskpart_result%"
CALL :PRINT_FOOTER
REM ---
:CREATE_BOOT
REM Создание разделов.
CLS
CALL :PRINT_HEADER
IF NOT EXIST "!vol_boot_letter!:\ext" (MKDIR "!vol_boot_letter!:\ext")
IF NOT EXIST "!vol_boot_letter!:\efi\boot" (MKDIR "!vol_boot_letter!:\efi\boot")
IF NOT EXIST "!vol_boot_letter!:\efi\boot\ext" (MKDIR "!vol_boot_letter!:\efi\boot\ext")
IF NOT EXIST "!vol_boot_letter!:\efi\grub" (MKDIR "!vol_boot_letter!:\efi\grub")
XCOPY "!grub_ext_dir!\*.*" "!vol_boot_letter!:\ext\" /e /h /r /y >nul
ECHO f|XCOPY "!grub_grldr_f!" "!vol_boot_letter!:\bootmgr" /h /r /y >nul
ATTRIB -a +s +r "!vol_boot_letter!:\bootmgr"
XCOPY "!grub_uefi_ext_dir!\*.*" "!vol_boot_letter!:\efi\boot\ext\" /e /h /r /y >nul
ECHO f|XCOPY "!grub_uefi_bootia32_f!" "!vol_boot_letter!:\efi\boot\bootia32.efi" /h /r /y >nul
ATTRIB -a +s +r "!vol_boot_letter!:\efi\boot\bootia32.efi"
ECHO f|XCOPY "!grub_uefi_bootx64_f!" "!vol_boot_letter!:\efi\boot\bootx64.efi" /h /r /y >nul
ATTRIB -a +s +r "!vol_boot_letter!:\efi\boot\bootx64.efi"
ECHO f|XCOPY "!menu_b_tmp!" "!vol_boot_letter!:\menu.lst" /h /r /y >nul
ECHO f|XCOPY "!menu_u_tmp!" "!vol_boot_letter!:\efi\grub\menu.lst" /h /r /y >nul
ECHO %t%Создание загрузочного раздела - завершено.
SET parts=!win_dist!
SET letters=!vol_letters!
:PARTSX
FOR /f "tokens=1* delims=;" %%a IN ("%parts%") DO (
SET curr_win=%%a
SET parts=%%b
)
FOR /f "tokens=1-2 delims=|" %%a IN ("%curr_win%") DO (
SET part_vol=%%a
SET /a part_size=%%b
REM ECHO %%a - %%bMB
)
FOR /f "tokens=1* delims=|" %%a IN ("%letters%") DO (
SET vol_letter=%%a
SET letters=%%b
)
XCOPY "%~dp0!part_vol!\*.*" "!vol_letter!:\*" /e /h /r /y >nul
ECHO НЕ УДАЛЯТЬ, ИНАЧЕ ЗАГРУЗЧИК НЕ БУДЕТ РАБОТАТЬ>"!vol_letter!:\!vol_letter!.marker"
ATTRIB -a +s +r "!vol_letter!:\!vol_letter!.marker"
ECHO %t%Копирование дистрибутива "!part_vol:w.=!" размером !part_size! MB в Том !vol_letter!^:^\ - завершено!
IF DEFINED parts GOTO :PARTSX
CALL :PRINT_FOOTER
REM ---
REM Завершение работ.
CLS
CALL :PRINT_HEADER
DEL "%diskpart_cmd%"
DEL "%diskpart_result%"
DEL "%menu_b_tmp%"
DEL "%menu_u_tmp%"
DEL "%find_result_f%"
ECHO %t%Всё вроде сделано, правда как говорит классик: НО ЭТО НЕ ТОЧНО.
ECHO %t%Нажми чё-нибудь чоб закрыть окно.!
CALL :PRINT_FOOTER
REM ---
PAUSE
EXIT
:ERROR
CLS
CALL :PRINT_HEADER
ECHO %t%ОШИБКА: %error_msg%
ECHO %t%Нажми чё-нибудь чоб закрыть окно.
CALL :PRINT_FOOTER
IF EXIST "%diskpart_cmd%" (DEL "%diskpart_cmd%")
IF EXIST "%diskpart_result%" (DEL "%diskpart_result%")
IF EXIST "%menu_b_tmp%" (DEL "%menu_b_tmp%")
IF EXIST "%menu_u_tmp%" (DEL "%menu_u_tmp%")
IF EXIST "%find_result_f%" (DEL "%find_result_f%")
PAUSE
EXIT
:GET_DIR_SIZE
(
FOR /F "tokens=1-3" %%a IN ('DIR %1 /-C/S/A:-D') DO SET dir_size=!n2!& SET n2=%%c
CAll :GET_VAR_COUNT "!dir_size!" dir_size_t
SET /A dir_size_t-=6
IF !dir_size_t! LEQ 0 (SET dir_size_mb=0) else (SET dir_size_mb=!dir_size:~0,-6!)
IF !dir_size_t! GEQ 1 SET dir_size_mb=!dir_size_mb!,!dir_size:~%dir_size_t%,2!
SET /A dir_size_mb=!dir_size_mb! 2>nul
SET /A dir_size_mb+=1
exit /b 0
)
:GET_VAR_COUNT %1-Var.Value %2-Var.Count.Result
(
SET var=%~1
IF not defined var exit /b
SET var=!var:~1!
SET /a %~2+=1
call :GET_VAR_COUNT "!var!" %~2
exit /b 0
)
:FIND_FILE
(
SET find_result=""
WHERE /r %1 %2 > "%find_result_f%"
FOR /f "usebackq tokens=* delims=crlf" %%a IN ("%find_result_f%") DO (SET find_result=%%a)
EXIT /B 0
)
:PRINT_HEADER
(
ECHO ------------------------------------------------------------
ECHO %t%Псевдоскрипт create_boot_achetmq v. 0.1
ECHO %t%А чё так можно? (zen.yandex.ru/aCheTMq^)
ECHO ------------------------------------------------------------
EXIT /b
)
:PRINT_FOOTER
(
ECHO ------------------------------------------------------------
EXIT /b
)

Сохраняй как показано ниже:

Основные задачи скрипта:

  1. Средствами DISKPART отобразить диски, предоставив пользователю выбрать нужное устройство для создания загрузочного диска.
  2. Средствами DISKPART разметить загрузочное устройство.
  3. Создать загрузочный раздел для UEFI и BIOS при помощи файлов из папок «UEFI» и «BIOS». В данные папки помещаются файлы из архивов grub4dos и grub4dos for UEFI. Т.е. распаковал архив grub4dos-0.4.6a-2022-09-15.7z и переименовал папку в «bios», распаковал архив grub4dos-for_UEFI-2022-09-15.7z и переименовал в «uefi».
  4. Из папок с префиксом «w.», которых может быть от 1го до 3х, скопировать на загрузочное устройство дистрибутивы Windows.

Вот как выглядит корневая папка скрипта с тремя дистрибутивами Windows:

Корневая папка скрипта create_boot_achetmq
Корневая папка скрипта create_boot_achetmq

Ключевые особенности скрипта:

  1. Запускать от имени Администратора.
  2. Освободить названия (буквы) разделов: K, L, M, N или в скрипте, заменить эти буквы в переменных vol_letters и vol_boot_letter.
  3. Размер загрузочного раздела 1024 Мб. Размеры разделов под дистрибутивы вычисляется автоматически скриптом. Оставшееся место на диске, остается неразмеченным (можно создать раздел самому). Изменить размер загрузочного раздала можно в переменной boot_part_size.
  4. Если папок с префиксом «w.» будет две, то создадутся загрузочный раздел и два раздела с дистрибутивами. Если всего одна папка с префиксом «w.», то будут созданы два раздела: загрузочный и с дистрибутивом Windows.
  5. Всё что идет после префикса «w.», к примеру «w.Windows 11», станет меткой раздела. Не используй длинные названия папок с префиксом «w.», максимальное количество символов в названии после префикса — 32 символа, итого с префиксов — 34.
  6. Я не включал в скрипт всевозможные проверки вводимых данных, т.к. писался он для себя. Не пытайся экспериментировать, т.е. что описано в п. 5 должно соблюдаться строго, при выборе индекса диска, не используй буквы или цифры явно больше самого последнего индекса. Я не знаю что может произойти при нештатной ситуации. :)

По сути: загрузочное устройство

Скрипт создаст такое устройство из выбранного тобой диска:

Универсальное загрузочное устройство с разметкой MBR для UEFI и BIOS
Универсальное загрузочное устройство с разметкой MBR для UEFI и BIOS

Так как используется разметка MBR, то основных разделов может быть всего 4 максимум.

X+128 Мб — это размер дистрибутива Windows + 128 Мб дополнительного пространства. Размер дистрибутива вычисляется самим скриптом.

В роли загрузочного устройства может выступать любой носитель информации, кроме свитка с письменами: флэшка, жесткий диск (HDD), твердотелый диск (SSD). Интерфейс подключения также не имеет значение, это может быть флэшка (USB), HDD или SDD с USB, SATA, IDE или NVME.

Скрипт для выбранного диска выполняет следующие команды DISKPART:

list disk
sel disk X
clean
convert mbr
create partition primary size=1024
format fs=fat32 quick label=BOOT
assign letter=k
active
create partition primary size=X+128
format fs=ntfs quick label=”Windows 1”
assign letter=l
create partition primary size=X+128
format fs=ntfs quick label=”Windows 2”
assign letter=m
create partition primary size=X+128
format fs=ntfs quick label=”Windows 3”
assign letter=n
exit nafig

По сути: загрузочный раздел (часть BIOS)

Так выглядит загрузочный раздел:

Загрузочный раздел УЗУ
Загрузочный раздел УЗУ

bootmgr — grldr из архива grub4dos. Выступает загрузчиком для BIOS.

Папка ext — папка ext из архива grub4dos. По сути в этой папки расширения загрузчика grldr (bootmgr).

menu.lst — текстовый документ, с инструкциями загрузки дистрибутивов Windows. Содержимое:

color white/black white/red
timeout 30
default 2
title A Che Tak Mojno? (zen.yandex.ru/aCheTMq), 2022
lock
title ------------------------------------------------------------------------------------------------
lock
title Windows 10
find --set-root /L.marker
chainloader /bootmgr
title Windows 11
find --set-root /M.marker
chainloader /bootmgr
title Windows 8.1
find --set-root /N.marker
chainloader /bootmgr

На выходе при загрузке имеем такую картину:

Загрузка BIOS систем.
Загрузка BIOS систем.

При выборе пункта начнется установка Windows.

По сути: загрузочный раздел (часть UEFI)

Здесь расположены файлы UEFI:

Содержимое загрузчика для UEFI.
Содержимое загрузчика для UEFI.

boot — папка с загрузчиком. Содержит следующие папки и файлы:

  1. bootia32.efi — файл bootia32.efi из архива grub4dos for UEFI. Загрузчик для 32 битных систем.
  2. bootx64.efi — файл bootx64.efi из архива grub4dos for UEFI. Загрузчик для 64 битных систем.
  3. ext — папка ext из архива grub4dos for UEFI. Файлы расширения загрузчиков.

grub — папка с одним единственным файлом menu.lst, содержащая параметры загрузки дистрибутивов WIndows для UEFI:

color white/black white/red
timeout 30
default 2
title A Che Tak Mojno? (zen.yandex.ru/aCheTMq), 2022
lock
title ------------------------------------------------------------------------------------------------
lock
title Windows 10
find --set-root /L.marker
chainloader /efi/boot/bootx64.efi
title Windows 11
find --set-root /M.marker
chainloader /efi/boot/bootx64.efi
title Windows 8.1
find --set-root /N.marker
chainloader /efi/boot/bootx64.efi

Вот так выглядит загрузчик UEFI:

Загрузка UEFI систем
Загрузка UEFI систем

По сути: раздел с дистрибутивом

Раздел с дистрибутивом Windows 10
Раздел с дистрибутивом Windows 10

Все содержимое данного раздела ничто иное как распакованный файл ISO. Единственное что добавляется скриптом — файл «буква раздела.marker», в данном случае это файл «L.marker». Его не следует удалять, иначе загрузчики BIOS и UEFI не смогут найти раздел с дистрибутивом Windows и запустить процесс установки.

По сути: работа скрипта

Запускай скрипт от имени Администратора, дождись завершения этапа проверки наличия нужных файлов для создания загрузочного раздела и разделов с дистрибутивами. По завершению проверки увидишь окно выбора диска для создания УЗУ:

Выбор диска для создания УЗУ
Выбор диска для создания УЗУ

БУДЬ ВНИМАТЕЛЕН ПРИ ВЫБОРЕ ДИСКА!

В моём случае это флэшка размером 30 Гб. Она имеет индекс «3». Установи нужный индекс (цифру) и нажимай «Enter».

Подтверждение выбора диска
Подтверждение выбора диска

Если ошибся нажми «N» и «Enter». Вернешься опять к выбору диска для создания УЗУ. Если уверен, то «Y» и «Enter». После чего пойдет создание разделов.

Создание разделов на УЗУ
Создание разделов на УЗУ

А после — начнется процесс заполнения загрузочного раздела и разделов с дистрибутивами Windows.

Создание загрузочного раздела и разделов с дистрибутивами
Создание загрузочного раздела и разделов с дистрибутивами

Данный процесс будет длительными, т.к. при трех дистрибутивах нужно скопировать не менее 10 Гб информации. Можешь идти пить чай.

По завершению работы получишь финальное окно:

Завершение работы скрипта
Завершение работы скрипта

Всё готово! Можешь теперь вставить флэшку куда-нибудь, и уверяю, какой-нибудь результат от этого да будет! :)

Заключение

Почему важно ставить лайки и оставлять комментарии? Так я вижу, что мои труды продуктивны. Так я понимаю, что данная тема тебе нравиться и я буду её развивать. Я приветствую конструктивную критику, приветствую новые идеи, — потому пиши.

Я пишу статьи\снимаю видео, — ты оцениваешь их!

А на этом всё! Мне спасибо, я пошёл… 😊

Обложка
Обложка

#aCheTMq #АЧёТакМожно #Чё? #Windows #Советы #технологии #саморазвитие #компьютер #it #загрузочнаяфлешка #мультизагрузочнаяфлешка #флешка #windows11 #windows10 #windows8 #windows7