Instalacja Debiana na nośniku USB - EFI i legacy boot

Pomoc dotycząca instalacji systemu
giaur900
Posty: 14
Rejestracja: 20 października 2024, 21:39

Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: giaur900 »

Zainstalowałem Debiana na wymiennym nośniku USB (zewnętrzny dysk ssd), aby to było kompatybilne z nowszym sprzętem, instalacja w trybie uefi. Zrobiłem tak jak piszą tu: https://wiki.debian.org/UEFI#Force_grub ... media_path i działa.

Muszę mieć instalację z uefi, bo nowsze komputery w ogóle już nie wspierają legacy boot - jedyna możliwość wystartowania systemu to boot w trybie uefi. Z drugiej jednak strony, chcę też mieć możliwość wystartowania systemu na starszych komputerach, tych które jeszcze nie wspierały uefi i miały tylko normalny bios.

Czy jest jakiś sposób na to, żeby mieć coś w stylu podwójnej instalacji grub, czyli w trybie efi i legacy, na tym samym nośniku? Wtedy stare komputery uruchamiałyby to w trybie legacy, a nowsze w trybie uefi. Wydaje mi się, że powinno być to możliwe, bo widziałem chyba w sieci jakieś obrazy live usb, które działały w obu trybach. Nie mogę jednak znaleźć żadnych szczegółów na ten temat.

Zakładam, że pewnie musiałbym jakoś doinstalować gruba w trybie legacy (może na innej partycji nośnika) po instalacji w trybie efi, albo odwrotnie, doinstalować efi. Tyle, że nie wiem jak można byłoby to pogodzić, skoro efi musi mieć tablicę partycji gpt, a legacy dos. Gdyby mieć gruba w trybie legacy na jeszcze innym nośniku, to pewnie jednak by się dało odpalić system zainstalowany z efi, ale czy można mieć wszystko na jednym i tym samym dysku? No chyba że w trybie legacy to możne mieć gpt, ale nie wydaje mi się.
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: fnmirk »

Jeżeli to ma być nośnik z systemem narzędziowym to wystarczy nagrać hybrydowy obraz iso przy pomocy dd?

Np.
https://www.system-rescue.org/Download/
https://www.system-rescue.org/Installin ... ory-stick/

Kod: Zaznacz cały

dd if=/path/to/systemrescue-x.y.z.iso of=/dev/sdx status=progress
Za: /dev/sdx wstawiasz nazwę nośnika.
giaur900
Posty: 14
Rejestracja: 20 października 2024, 21:39

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: giaur900 »

No nie.. tu nie chodzi o nośnik typu live cd. Raczej pełnoprawny system zainstalowany po prostu na zewnętrznym dysku nvme/usb. Na usb 3.2 i 10 Gps działa to całkiem przyzwoicie, nie ma znaczących różnic podczas użytkowania chociaż to oczywiście nie to samo co wewnętrzny dysk ssd/nvme. Ale to i tak jest szybsze niż dysk ssd na sata sprzed kilku lat, więc tragedii nie ma.

Tyle, że tego nie uruchomię na żadnym starszym komputerze bez uefi. A z drugiej strony, jeśli to będzie leagacy boot, to nie uruchomię na żadnym nowym, bo nowsze już w ogóle nie obsługują legacy boot.

Poczytałem trochę i wygląda że nie da się osiągnąć tego co chcę. Potrzebuję drugiego nośnika usb, z którego uruchamiałbym system, a na nim tylko grub-a w trybie legacy. Wystarczy jakikolwiek najprostszy stary pendrive.

Chociaż, instalator Debiana jest np jeden i ten sam i można go uruchomić i w trybie legacy i w uefi, więc sam do końca nie wiem. Bo też nie do końca rozumiem jak to wszystko działa.
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: fnmirk »

Wiem, co chcesz osiągnąć? Można to zrobić trochę okrężną drogą. Z poziomu obrazu iso system-rescue uruchomisz każdy system. Zapoznaj się z system-rescue. Przygotuj na początku dysku partycję około 1Gb i przy jej pomocy uruchomisz dowolny system Linux znajdujący się na dysku. Ja tak bym postąpił.
zl23
Posty: 64
Rejestracja: 02 sierpnia 2016, 20:30

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: zl23 »

Można zainstalować Debiana na pamięć USB tak jak na dysk twardy i uruchamiać zarówno na komputerach z UEFI jak i na starym Bios (bez UEFI).
Mam takowy USB z Testingiem.

Uwaga.
Nie piszę o jakiś tam Live, ale o pełnej instalacji.

Nie używaj słowa "grub legacy", gdyż grub legacy to przestarzała ver. 0.97.
Tu chodzi o grub (ver 2.x) dla uefi i dla biosa czyli pakiety:
grub-efi-amd64-bin
grub-pc-bin

Jeżeli Cię to dalej interesuje to napisz, bo ostatnio dość często na moje porady odpowiadało mi głuche milczenie i trochę mnie to zniechęciło.

Pozdrawiam.
giaur900
Posty: 14
Rejestracja: 20 października 2024, 21:39

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: giaur900 »

Oczywiście, to mnie wlaśnie interesuje. Napisz, jak to osiągnąłeś albo zarzuć jakiegoś linka z tutorialem jeśli masz. Tylko trzeba jeszcze uściślić - czy przypadkiem na komputerze z ufei nie używasz jednak legacy boot - bo niektóre jeszcze to mają, tzn mają uefi ale pozwalają też na legacy boot. Chodzi o boot w trybie uefi, nie legacy.
giaur900
Posty: 14
Rejestracja: 20 października 2024, 21:39

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: giaur900 »

fnmirk pisze: 18 listopada 2024, 16:40 Zapoznaj się z system-rescue. Przygotuj na początku dysku partycję około 1Gb i przy jej pomocy uruchomisz dowolny system Linux znajdujący się na dysku. Ja tak bym postąpił.
Masz gdzieś dokładniejszy opis, jak z tego skorzystać? Jak rozumiem, to ma zastąpić grub-a i można to tak skonfigurować, żeby uruchamiał system na innej partycji? Coś jak bootowanie instalatora Debiana, gdzie ten sam nośnik można wystartować i w trybie legacy i w uefi.
zl23
Posty: 64
Rejestracja: 02 sierpnia 2016, 20:30

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: zl23 »

Obiecałem – przesyłam.
Ja to zrobiłem tak:

1.Na dowolnym komputerze przygotowujemy pamięć usb, za pomocą np. gparted.
1.1. Ustawiamy tablicę partycji: gpt.
1.2. Tworzymy partycje:
- UEFI (512 MiB) z systeme plików FAT32 i flagą boot, esp.
- 1 MiB partycja, niesformatowana, z flagą bios_grub (Ważne! – miejsce dla gruba dla starego Biosa).
Dalej wg. uznania, np.
- boot (1 GiB, ext4)
- root, home wg uznania i na końcu mały (512 MiB) swap.
Zostawmy dyskusję na temat 'swap' – to temat na oddzielny wątek.
Partycje warto ponazywać – będzie później łatwiej. Np. 'uefi-usb', 'boot-usb', 'root-usb', 'home-usb', 'swap-usb'.
Na kartce zapisujemy sobie kolejność partycji, (np. 1 – uefi (bo np. /dev/sdb1), 3 –boot, 4 – root) – będzie potrzebne.

2. Przechodzimy z naszą pamięcią do komputera z UEFI z włączonym Secure Boot, podpinamy ją do gniazda USB, uruchamiamy dysk instalacyjny i instalujemy Debiana naszej pamięci USB.
Uwaga.
Teraz są dwie partycje UEFI – jedna na dysku twardym komputera (ta nas nie interesuje) i druga na naszej pamięci USB.
Instalator Debiana "lubi" instalować gruba na tej pierwszej partycji UEFI.
Musimy uważać.
Gdyby tak się stało, to nasz system zainstalowany na pamięci USB będziemy mogli uruchomić tylko na tym komputerze!
Dlatego podczas instalacji systemu wybieramy ręczne ustawienie partycji.
Dokładnie sprawdzamy przypisane flagi (boot, esp i bios_grub dla odpowiednich partycji).
Sprawdzamy, czy partycja UEFI z dysku twardego nie jest wykorzystywana podczas instalacji (wybieramy dla niej: nie używaj)

3. Po instalacji – próba generalna – czy nasz Debian na pamięci USB się uruchamia na PC UEFI z włączonym Secure Boot.
Dobrze jest to sprawdzić na innym PC UEFI z włączonym Secure Boot.
Jeżeli tak – to dobrze, jeżeli nie – to musimy przywrócić gruba (patrz na koniec tego postu).

Zakładam, że wszytko poszło po naszej myśli.
Teraz trzeba zainstalować gruba dla starego biosa (dla komputerów bez UEFI).
Można to zrobić pewnie na wiele sposobów.
Wydaje mi się, że znalazłem najłatwiejszy sposób.

4. Potrzebny jest dysk instalacyjny Debiana – już go mamy.
Uwaga. Nie chodzi o Live, lecz o dysk instalacyjny. Może być ten najmniejszy (np. dla testinga):
https://cdimage.debian.org/cdimage/week ... etinst.iso

5. Ułatwimy pracę instalatorowi gruba.
Uruchamiamy Debiana z pamięci USB na PC UEFI z włączonym Secure Boot i doinstalujemy pakiet:
grub-pc-bin
Po instalacji sprawdzamy:
dpkg -l | grep -i grub

Powinniśmy mieć zainstalowane takie pakiety:
grub-common
grub-efi-amd64
grub-efi-amd64-bin
grub-efi-amd64-signed
grub-efi-amd64-unsigned
grub-pc-bin
grub2-common

Wyłączamy PC.

6. Przechodzimy na PC ze starym biosem (nie ma UEFI).
Dobrze jest wiedzieć ile jest w nim dysków.
Uruchamiamy system z dysku instalacyjnego (nie z Live!) patrz pkt. 4.

Wybieramy podczas startu z menu:
– Advanced options ...
– Graphical rescue mode
Zatwierdzamy kolejno język, klawiaturę.

7. W tym momencie podpinamy dopiero naszą pamięć USB z Debianem – system przypisze jej kolejną ostatnią literę (np. dev/sdd).
Nie trzeba będzie zgadywać.
Możemy też policzyć, np.: ilość dysków w PC (np. dwa) + dysk USB z instalatorem + nasz dysk do naprawienia – stąd 'sdd'.

8. Dalej zgadzamy się na sieć (choć nie jest nam potrzebna), wpisujemy dowolna nazwę hosta.

Teraz uwaga.

9. Zobaczymy okno z napisem "Wprowadź nazwę urządzenia, którego chcesz użyć jako główny system plików".
Spoglądamy na kartkę i jeśli root był jako 4, a w oknie widzimy ostatnie partycje jako /dev/sddX, to domyślamy się, że root na pamięci USB to '/dev/sdd4'.
Zaznaczamy więc '/dev/sdd4' i klikamy dalej.

10.Jeżeli utworzyliśmy oddzielną partycję 'boot' to zostaniemy zapytani, czy ją zamontować.
Zaznaczamy 'Tak' i klikamy 'Dalej'.

11. Instalator odkryje partycję UEFI, zapyta czy ją zamontować – 'Tak' i 'Dalej'.

12. Teraz zobaczymy polecenia ratunkowe.
Ponieważ nasz system poprawnie działa na PC z UEFI, a nie działa na PC z Bios to wybieramy:
'Ponowna instalacja systemu GRUB' i klikamy dalej.

13. Musimy wybrać urządzenie do instalacji programu rozruchowego.
Wpisujemy: /dev/sdd (W tym przykładzie! U Ciebie może być inaczej.) i klikamy 'Dalej'.
Po zainstalowaniu gruba wybieramy 'Uruchom ponownie'.

Gotowe.

Uwaga.
Musimy być pewni jaką literę przypisał system instalatora naszej pamięci USB.
Nie możemy pozwolić, aby grub zainstalował się na innym dysku, bo może być katastrofa.
Jeżeli tego nie jesteśmy pewni, to przełączamy się na inną konsolę przez naciśnięcie 'Ctlr-Alt-F2', wpisanie polecenia 'blkid' lub 'lsblk -f' i odczytanie przypisanych symboli naszym partycjom.
Wracamy na konsolę instalatora przez 'Ctrl-Alt-F1'.

Powinno działać

A propos nie działającego gruba z sytemu na USB na PC z UEFI i Secure Boot.
Przywracanie gruba dla systemu z UEFI to wybór w pkt. 12.:
"Wymuszenie instalacji GRUB w ścieżce nośników wymiennych EFI'.
Przeczytaniu ostrzeżenia i potwierdzenie tego wyboru: 'Tak' i 'Dalej'

Dlaczego partycja 'boot' ma miec aż 1 GiB?
Ostatnio w tesingu, gdy ma się kartę NVidia, plik '/boot/initrd.img-6.x.y-amd64' puchnie do ponad 100 MiB (zawiera firmware NVidia z pakietu 'firmware-nvidia-graphics') i partycja 512MiB może w pewnym momencie okazać się za mała.

Niektórzy twierdzą, że 512 MiB dla partycji UEFI to za dużo – być może mają rację.

Pozdrawiam.
giaur900
Posty: 14
Rejestracja: 20 października 2024, 21:39

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: giaur900 »

Spróbuję zrobić jak piszesz, tylko 2 rzeczy inaczej - po pierwsze, secure boot mam zawsze wyłączony, to pierwsze co robię. Po drugie, działam na wirtualce (qemu), do której podpinam tylko dysk usb, na którym instaluję system. W qemu można też uruchamiać maszynę wirtualną w trybie uefi. Wirtualka nie ma żadnego innego dysku, jedynym nośnikiem jest ten fizyczny podłączony przez usb, więc to tam będzie tworzona partycja uefi. Dopiero uruchamianie zainstalowanego sytemu następuje na fizycznym komputerze, którzy może mieć jeszcze inne dyski, co nie ma już znaczenia.

Nigdy nie robie takich rzeczy na fizycznym komputerze, bo to ryzyko że instalator zrobi mi jakiś syf na dysku, gdzie już mam system do pracy. Na takie ryzyko nie mogę sobie pozwolić, chyba żebym odłączył wszystkie dyski a tego nie chce mi się robić.
zl23
Posty: 64
Rejestracja: 02 sierpnia 2016, 20:30

Re: Instalacja Debiana na nośniku USB - EFI i legacy boot

Post autor: zl23 »

Nie należy się obawiać Secure Boot.
Nie po to go wymyślili, żeby go wyłączać.
Debian bardzo dobrze sobie radzi z SB.
Inne systemy (np. Arch Linux - niekoniecznie).

Odnośnie maszyn wirtualnych, to nigdy bym ich nie polecał do instalacji.
No, ale każdy ma własne doświadczenia.

Zawsze stosuję przed eksperymentami:
1. Backup ważnych danych.
2. A jak, zepsuję to naprawiam - rośnie od tego wiedzą komputerowa.
3. Czasami korzystam z Clonezilla.

Życzę powodzenia.
ODPOWIEDZ