Skocz do zawartości

Tworzenie multibootowalnego nośnika USB - YUMI


Rekomendowane odpowiedzi

Copyright @dragolice fixitpc.pl. Autor nie wyraża zgody na powielanie poradnika.

 

Tworzenie multibootowalnego nośnika USB - YUMI

 

 

 

            pendrive.png

 

 

W tym poradniku chciałbym zaprezentować ciekawe narzędzie jakim jest YUMI.

Multibootowalne USB to wygodna i przydatna rzecz. Można umieścić wszystkie potrzebne obrazy płyt bootujących na jednym urządzeniu USB.

Nie potrzebujemy płyty, czy napędu CD/DVD. Sam nośnik jest trwalszy i może mieć wielokrotnie większą pojemność.

Ogranicza nas tylko pamięć naszego dysku USB i lista obsługiwanych przez program narzędzi/instalatorów.

W celu pobrania programu YUMI przejdź na jego stronę domową.

 

1.png

 

 

 

 

Odnośnik do komentarza
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

1. Dodawanie obrazu do multibootowalnego dysku USB.

 

 

W przykładzie posłużę się programem Memtest86+.

 

1. Wybierz dysk USB:

 

2.png

 

 

2. Wskaż na liście obsługiwanych obrazów Memtest86+.

 

3.png

 

Pojawiły się opcje

  • Wipe Entire - Formatowanie całej pamięci przed wgraniem obrazu.
  • We Will Fat32 Format - Nic innego jak ustawienie systemu plików na pendrive - Fat32.

 

3. Kliknij na tekst podświetlony na czerwono i wskaż plik pobrany ze strony memtest.org

 

4. Program wykrył, że nazwa pliku .zip jest zgodna i podświetlił ją na zielono.

 

4.png

 

 

5. Kliknij Create. Wyskoczy komunikat mówiący o procedurach, które zaraz wykona YUMI.

 

5.png

 

  • Zablokuje dostęp do dysku.
  • Sformatuje dysk.
  • Zainstaluje Syslinux - program rozruchowy.
  • Ustawi nazwę dysku na MULTIBOOT.
  • Zainstaluje obraz na USB (w tym przypadku Memtes86+).
  • Na końcu pojawia się pytanie, czy na pewno wybraliśmy odpowiedni dysk.
  • Jeśli wszystko jest w porządku możemy zatwierdzić tworzenie naszego multibootowalnego USB.

 

6. O zakończeniu program poinformuje nas komunikatem:

 

6.png

 

 

7. Po kliknięciu Next wyświetli się pytanie czy chcemy dodać kolejny obraz do naszego dysku.

 

7.png

 

 

8. Ponowne uruchomienie procedury na naszym dysku spowoduje pojawienie się opcji View or remove installed distros. Po kliknięciu tej opcji możemy wyświetlić i usunąć dodane obrazy:

8.png

 

 

9. Ustaw w BIOS/UEFI bootowanie z dysku USB i oto efekty:

 

9.png

 

10.png

Odnośnik do komentarza

2. Opis komend użytych do tworzenia menu.

 

 

 

Oto lista obrazów, które dodałem w programie YUMI:

  • Windows 10 x64
  • Windows 10 x32
  • Windows 8.1 x64
  • Windows 8.1 x32
  • Windows 7 x64
  • Windows 7 x32
  • Kaspersky Rescue Disc
  • Memtest86+
  • PartedMagic

 

11.png

  • Obrazy zostały automatycznie rozprowadzone do 3 kategorii.
  • Każda z tych kategorii to osobne podmenu, które posiada własny plik konfiguracyjny listujący pozycje do uruchomienia.

 

 

Konfiguracja.png Konfiguracja menu głównego.

 

 

Menu główne pojawia się zaraz po zabootowaniu naszego dysku USB. Menedżer rozruchu Syslinux odczytuje menu z pliku:

X:\multiboot\syslinux.cfg
  • Jest to plik konfiguracyjny menu rozruchowego Syslinux.
  • W miejsce X podstawiamy literę naszego pendrive.

 

W pliku syslinux.cfg wpisane są odniesienia do kolejnych menu. Po kliknięciu enter na wybranej pozycji ładowane jest nowe menu np:

X:\multiboot\menu\antivirus.cfg - Menu Antivirus Tools
X:\multiboot\menu\system.cfg - Menu System Tools

W tych menu mamy już komendy i odniesienia potrzebne do uruchomienia wybranego obrazu.

 

Przykład pliku syslinux.cfg:

Spoiler

UI vesamenu.c32

timeout 300

 

menu resolution 1024 768

menu background yumi.png

menu title Multibootowalne USB
menu tabmsg  https://www.fixitpc.pl
menu width 72
menu margin 10
menu vshift 3
menu hshift 6
menu rows 15
menu tabmsgrow 20
menu timeoutrow 22

 

menu color title       1;36;44 #66A0FF #00000000 none
menu color hotsel       30;47     #C00000 #DDDDDDDD
menu color sel       30;47    #000000 #FFFFFFFF
menu color border       30;44    #D00000 #00000000 std
menu color scrollbar       30;44     #DDDDDDDD #00000000 none

 

 

label Boot from first Hard Drive
menu label Bootuj z dysku twardego
kernel chain.c32
append hd1 1
menu default

 

label Windows Installers
menu label Instalacje Windows ->
menu indent 1
kernel /multiboot/grub.exe
append --config-file=/multiboot/menu/win.lst

 

label Antivirus Tools
menu label Skanery anty-wirusowe ->
menu indent 1
config /multiboot/menu/antivirus.cfg

 

label System Tools
menu label Diagnostyka i konserwacja ->
menu indent 1
config /multiboot/menu/system.cfg

 

 

Opis komend:

 

UI vesamenu.c32 - Ładuje moduł zawierający kod, który umożliwia zdefiniowanie i wyświetlenie menu.

timeout - Ustawia czas, po którym zostanie uruchomiona pozycja domyślna - 300 = 30s.

 

menu resolution - Gdy jej brak ustawiana jest domyślna rozdzielczość menu - 640x480. W przykładzie zostało ustawione 1024x768.

menu background - Ustawia obrazek jako tło menu. Obraz domyślnie powinien mieć wymiary 640x480. Jeśli zmienimy rozdzielczość w menu resolution musimy dostosować rozmiar obrazka..

menu title - Wyświetla wpisany tytuł menu głównego.

menu tabmsg - Wyświetla wpisany tekst z informacją.

menu width - Ustala szerokość menu.

menu margin - Obustronnie zawęża pole menu tworząc margines.

menu vshift - Przesuwa całe menu w pionie.

menu hshift - Przesuwa całe menu w poziomie.

menu rows - Ustala ilość widocznych pozycji menu. Gdy mamy ich więcej niż wpisaliśmy w wartości tej funkcji lista będzie się przewijać.

menu tabmsgrow - Przesuwa w pionie tekst z informacją.

menu timeoutrow - Przesuwa w pionie tekst z odliczaniem do uruchomienia domyślnie zaznaczonej pozycji.

 

menu color title - Kolor tytułu menu głównego.

menu color hotsel - Kolor litery hotkey. Np. pozycja Instalacje Windows zapisana w sposób Instalacje ^Windows wprowadza hotkey w postaci litery W. Pierwsza wartość to kolor litery,a druga kolor tła.

menu color sel - Kolor zaznaczonego elementu. Pierwsza wartość to kolor tekstu, a druga kolor tła.

menu color unsel - Kolor niezaznaczonego elementu. Pierwsza wartość to kolor tekstu, a druga kolor tła.

menu color border - Kolor obramowania menu.

menu color scrollbar - Kolor paska przewijania.

menu color timeout_msg - Kolor informacji "Automatyczne uruchomienie za". Wymagana jest zdefiniowana funkcja timeout.

menu color timeout - Kolor sekundnika, który odmierza czas do uruchomienia pozycji domyślnej. Wymagana jest zdefiniowana funkcja timeout.

menu color screen - Kolor tła menu - jeśli nie zdecydujemy się na wybranie obrazka.

 

label - Tworzy pozycję w menu

menu label - Nazwa pozycji w menu. Możemy wpisać ich polskie odpowiedniki. Pamiętajmy, że nie mamy obsługi polskich znaków.

kernel chain.c32 - Ładuje moduł umożliwiający zabootowanie z innego miejsca.

append hd1 1 - Startuje dysk 1 partycja 1. Nie możemy wpisać 0 ponieważ jeśli bootujemy z pendrive, to do niego jest przypisana ta cyfra.

menu default - Ustawia pozycję jako domyślnie zaznaczoną. To dla niej rozpoczyna się odliczanie zdefiniowane w funkcji timeout.

menu indent - Tworzy przesunięcie pozycji menu w prawo. Działa jak spacja. Jeśli wpiszemy np "2" przesunie się o dwa miejsca.

kernel /multiboot/grub.exe - Uruchamia GRUB.

append --config-file=/multiboot/menu/win.lst - Przechodzi do menu Instalacje Windows (w oryginale Windows Installer), które zdefiniowane jest w pliku win.lst.

config /multiboot/menu/antivirus.cfg - Przechodzi do podmenu Antivirus Tools.

config /multiboot/menu/system.cfg - Przechodzi do podmenu System Tools.

 

Komend jest o wiele więcej, autor programu ograniczył się tylko do tych wyżej wymienionych. Dodałem kilka od siebie, ale jest ich więcej.

Pozostałe komendy, które możemy dodać do naszej konfiguracji zostały opisane na tej stronie.

 

 

Przykład, menu po mojej modyfikacji:

 

12.png

 

13.png

 

14.png

 

 

 

Konfiguracja.png Konfiguracja menu z systemami Windows.

 

 

Menu z systemami Windows pojawia się po kliknięciu opcji Instalacje Windows (w oryginale Windows Installers).

Jest to menu utworzone przez menedżer rozruchu GRUB.

 

X:\multiboot\menu\win.lst
  • Jest to plik konfiguracyjny menu rozruchowego GRUB.
  • W miejsce X podstawiamy literę naszego pendrive.

 

Oryginalny plik win.lst jest pozbawiony tła obrazkowego (czarne tło, białe napisy) i nie ma zdefiniowanej rozdzielczości (startuje z domyślną: 800x600).

 

15.png

 

Poniżej wklejam swój plik. Oczywiście występują tam komendy, które odnoszą się do plików na moim urządzeniu. Umieszczam go jako przykład:

 

Spoiler

graphicsmode -1 1024 100:1000 32
splashimage=(hd0,0)/multiboot/menu/yumi.bmp
default 8
timeout 30

 

color heading=0xcccccc
color border=0xcccccc
color normal=0xcccccc
color highlight=0xff6f0f

 

 

title     
root

 

title  Windows 10 AIO x64 PL
dd if=()/multiboot/Win10_1903_V1_Polish_x64/boot/bcd of=()/boot/bcd
dd if=()/multiboot/Win10_1903_V1_Polish_x64/efi/microsoft/boot/bcd of=()/efi/microsoft/boot/bcd
chainloader /multiboot/Win10_1903_V1_Polish_x64/bootmgr

 

 

title  Windows 10 AIO x32 PL
dd if=()/multiboot/Win10_1903_V1_Polish_x32/boot/bcd of=()/boot/bcd
dd if=()/multiboot/Win10_1903_V1_Polish_x32/efi/microsoft/boot/bcd of=()/efi/microsoft/boot/bcd
chainloader /multiboot/Win10_1903_V1_Polish_x32/bootmgr

 

 

title  Windows 8.1 AIO x64 PL
dd if=()/multiboot/Win_8.1_AIO_X64_PL/boot/bcd of=()/boot/bcd
dd if=()/multiboot/Win_8.1_AIO_X64_PL/efi/microsoft/boot/bcd of=()/efi/microsoft/boot/bcd
chainloader /multiboot/Win_8.1_AIO_X64_PL/bootmgr

 

 

title  Windows 8.1 AIO x32 PL
dd if=()/multiboot/Win_8.1_AIO_X32_PL/boot/bcd of=()/boot/bcd
dd if=()/multiboot/Win_8.1_AIO_X32_PL/efi/microsoft/boot/bcd of=()/efi/microsoft/boot/bcd
chainloader /multiboot/Win_8.1_AIO_X32_PL/bootmgr

 

 

title  Windows 7 AIO x64 PL
dd if=()/multiboot/Win_7_AIO_X64_-PL/boot/bcd of=()/boot/bcd
dd if=()/multiboot/Win_7_AIO_X64_-PL/efi/microsoft/boot/bcd of=()/efi/microsoft/boot/bcd
chainloader /multiboot/Win_7_AIO_X64_-PL/bootmgr

 

 

title  Windows 7 AIO x32 PL
dd if=()/multiboot/Win_7_AIO_X32_PL/boot/bcd of=()/boot/bcd
dd if=()/multiboot/Win_7_AIO_X32_PL/efi/microsoft/boot/bcd of=()/efi/microsoft/boot/bcd
chainloader /multiboot/Win_7_AIO_X32_PL/bootmgr

 

 

title      
root

 

 

title  <-- Cofnij
root (hd0,0)
chainloader (hd0)+1
rootnoverify (hd0)

 

 

Opis komend:

 

graphicsmode - Gdy jej brak ustawiana jest domyślna rozdzielczość menu - 800x600. W przykładzie zostało ustawione 1024x768.

splashimage - Ustawia obrazek jako tło menu. Obraz musi mieć dokładnie taką samą rozdzielczość jak domyślnie występująca lub wpisana w graphicsmode.

default - Ustawia pozycję jako domyślnie zaznaczoną. Liczone są funkcje title. Numeracja rozpoczyna się od cyfry 0.
timeout - Ustawia czas po którym zostanie wybrana pozycja domyślna 30 = 30s.

 

color heading - Kolor nagłówka
color border - Kolor ramki menu.
color normal - Kolor niezaznaczonego elementu.
color highlight - Kolor zaznaczonego elementu.

 

title - Tworzy pozycję w menu.

 

Więcej informacji na temat komend możliwych do wprowadzenia możemy znaleźć na tej stronie.

 

 

Przykład, menu po mojej modyfikacji:

 

16.png

 

Zmiana nazwy nagłówka i usunięcie wskazówek wyświetlanych pod obramowaniem menu jest możliwa poprzez edycję pliku grub.exe w hex-edytorze. Polecam program HxD.

Niestety na ten moment nie mam pomysłu jak usunąć samo obramowanie.

Odnośnik do komentarza

3. Naprawa głównego sektora rozruchowego Syslinux.

 

Opiszę jak wymusić przebudowę MBR Syslinux. Jest to przydatne, jeśli dysk USB przygotowany przez YUMI nie jest w stanie się uruchomić.

Dla najnowszej wersji YUMI:

  • Z folderu multiboot usuń plik ldlinux.sys, ma on atrybut ukryty + systemowy.
  • Zmień nazwę pliku libcom32.c32 na _libcom32.c32.
  • Następnie użyj YUMI, aby zainstalować dowolny element menu. Najlepiej jakiś mały, aby nie wgrywał się za długo, polecam Memtest86+.
  • YUMI zauważy, że brakuje pliku i spróbuje ponownie zainstalować syslinux i naprawić główny rekord rozruchowy.
  • Po zakończeniu zmień nazwę _libcom32.c32 z powrotem na libcom32.c32.
Odnośnik do komentarza
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...