Dlaczego nie da się bootować z partycji NTFS lub ext4?

Poszukuję mądrzejszych od siebie i pomocników do odpowiedzenia na pytanie - dlaczego nie da się bootować z partycji NTFS lub ext4?
Chodzi mi przede wszystkim o mus istnienia partycji rozruchowej FAT32…

Kto jest winowajcą? UEFI (bios) czy system operacyjny (rozruchowy)?

PS. Czasy ms-dos/win3/95/98/2k siedzą mi teraz w głowie. Kiedyś, dawno temu w czasach dos’u była jedna partycja, wszak win3.0 był ściśle powiązany z ms-dosem ale … windows2000 już nie, szczerze to nie potrzebował go do życia oprócz tego, aby fs był w fat16/32 gdy w2000 stał na dysku (rozruch i tak szedł z plików dosowych).

System możesz bez problemu uruchomić z ext4 (ale z NTFS już nie) i robisz to. Natomiast, to o czym piszesz, czyli niewielka partycja pod FAT’em, to są wymagania UEFI. Taka jego microsoft’owa natura.

Ja na ten przykład nie mogłem wystartować z systemem, gdy miałem utworzoną partycję boot na FAT32 z flagą boot. Dopiero jak zostawiłem partycjonowanie instalatorowi to udało mi się go uruchomić (instalator z automatu nie tworzył żadnych dodatkowych partycji, tylko jendą ogólną + ewentualnie SWAP do wyboru). Czyli w skrócie u mnie się bootuje z ext4 ale z fat32 nie chce.

Ja na ten przykład (bardzo rzadko używam windows 8.1 i zainstalowałem go na 130GB) i stosuję metodę taką.

  • Żeby nie musieć widzieć windowsa (używanego dwa razy do roku) - to zainstalowałem Linux z bootowania Legacy i standardowo mam tak laptop ustawiony -startuje z ext4.
  • Jeśli potrzebny mi produkt microsoft to wchodzę do UEFI ( u mnie F2) i przestawiam bootowanie z Legacy na UEFI.
    u mnie tak to wygląda

Podobnie jak u mnie, tyle że ja instaluję osobno “horror z Redmond” a osobno Linusia. W UEFI ustawiam bootowanie z M2 i wtedy cacy, na dysku M2 mam Linusia, na innym Redmond. Gdy Redmond potrzebny to BOOT MENU i stamtąd wybieram WINDOWS BOOT MANAGER i wtedy leci win.

Teoretycznie, GRUB obsługuje boot’owanie z partycji VFAT, ale czy masz ku temu powód? Pomijając potencjalne ograniczenia ze strony konkretnej dystrybucji.

Jeżeli chcesz przyspieszyć proces (choć w praktyce ma, to znaczenie zapewne tylko na HDD), to możesz wydzielić /boot do osobnej partycji i sformatować ją jako ext2.

Przyznam się, że ja jeszcze nie rozumiem sposobu bootowania linuxów a nie rozumiem bo zawsze z awarii Grub’ego nie wychodziłem cało. Nie wiem co i jak linux nadpisuje w partycji FAT32 w której “redmond” ma swój rozruch (boot/efi/bootx64.efi).
Przykłąd z życia:
partycja 1 FAT32 500MB (tu jest wszystko to co zapodaje przy instalacji np. Windows8.1)
partycja 2 NTFS 50GB (tu siedzi win 8.1)
partycja 3 EXT4 50GB (tu siedzi np. Manjaro)
i teraz tak:
Włączam sobie windowsa, odpalam np. Mini Tool Partition Wizard
Tnę sobie pod windowsem partycję nr.3, czyli Linuxową, usuwam ją, ona znika
ale zostaje mi FAT32 i NTFS
I teraz bajka: teoretycznie (i praktycznie zresztą) nie ruszyłem partycji FAT32, nie ruszyłem NTFS, prawda?
Zatem dlaczego po reboocie mam GRUB RESCUE MODE?
I za groma Gruby nie widzi systemu plików na jakiejkolwiek z widocznych wtedy partycji (komenda ls, no wiecie…)
Wszędzie mam “nieznany system plików” i nie mogę podpiąć ponownie rozruchu a FAT32 i NTFS nie ruszałem zatem…
wnioskuję że pomimo tego iż linux tworzy tam jakieś mityczne FAT32 (tam mamy niby flagę rozruchową) to i tak resztę zapisuje na EXT4. Gdyby było inaczej, windows wystartowałby normalnie, nie ruszono jego plików rozruchowych na FAT32.
HP Elitebook ma jeszcze możliwość BOOT’u z EFI FILE, ruszam zatem w poszukiwaniu EFI i znajduję partycję FAT32 (po wyżej opisanej operacji usunięcia EXT4). Znajduje mi w partycji folder EFI a w środku windowsowy Bootx64.efi.
Po próbie wystartowania z tego pliku zgłasza się GRUB RESCUE MODE :slight_smile:
Wracam zatem do boot menu, ponownie odpalam rozruch w pliku EFI, tym razem szukam na partycji FAT32 katalogu GRUB a tam w środku sieci grubx64.efi. Klikam go zatem i po próbie rozruchu ponownie mam GRUB RESCUE…
Ogarnie ktoś powyższe?? :smiley:
Bez plików rozruchowych na partycji EXT4 (root/boot/EFI oraz root/boot/grub) ani windows ani linux nie “wstaną”.
Inna bajka jest gdy zamiast partycji EXT4 usunę NTFS z windowsem, wtedy linusia odpalam normalnie, windows już nie - czyli tak naprawdę booloader zarówno windowsa jak i linuxa siedzą na EXT4 a FAT32 jest tylko po to, aby UEFI w razie istnienia jeszcze innych systemów miał do nich dostęp.

PS. Przy okazji zapytam: interesuje się ktoś z Was Cloverem? (to to coś podobnego do Grubasa ale z Appla zawzięte, ładnie to wygląda, ładnie bootuje wszystkie systemy, fajny config).

@anon45396691

Jak usuwasz partycję z Linux’em, to nie uruchomisz Linux’a. Jak usuniesz partycję z Windows’ami, to nie uruchomisz Windows’ów. To jest jasne i nie wymaga dalszych komentarzy.

Nie jestem użytkownikiem UEFI i dopóty nie będzie, to konieczne, to nie zamierzam tracić czasu na zgłębianie tajników tego samego-zła. Przyglądając się jednak z boku, oceniając temat behawioralnie, wygląda, to z grubsza tak (nie traktujcie tego jako fachowej porady! To tylko opis cieni na ścianie):

  • partycję FAT, na której UEFI trzyma swoje pliki, narzuca standard (choć konkretny system może wspierać obsługę partycji UEFI postawionej na innym systemie plików);
  • znajdują się na niej pliki .efi, które … no właśnie, waham się, czy użyć słowa “boot’ują”. Powiedzmy, że uruchamiają proces boot’owania konkretnego systemu, na konkretnej partycji - wygląda, to tak, jakby grubx64.efi inicjalizował działanie GRUB’a, zainstalowanego - w Twoim przypadku - na partycji 3 (ext4). A ten z kolei, wywołuje standardową procedurę boot’owania Linux’a. Jaka dokładnie jest rola plików .efi? - szukajcie w źródłach i dajcie znać.

Zapewne przed skasowanie partycji z Linux’em (ext4), miałeś taki układ, że po starcie komp’a, uruchamiał się GRUB, który obsługiwał boot’owanie obu systemów (najprostsze i moim zdaniem - zalecane rozwiązanie). Po usunięciu partycji z Linux’em, usunąłeś również zainstalowanego na niej GRUB’a, więc nie dziw się, że pluje wyzwiskami.

Gdzieś jest przekierowanie (BIOS, partycja UEFI, boot sector - ale ten, to chyba tylko wtedy, gdy dysk jest w trybie MBR chyba, bo dysk GPT nie ma czegoś takiego, chyba), które powoduje, że pojawia się komunikat błędu, spowodowany próbą uruchomienia GRUB’a, którego byłeś łaskawy wyciąć.

Zapewne UEFI jest potrzebne, być może nawet jest przydatne, ale w obecnej postaci jest przekombinowane i nieprecyzyjne (widać, że udział w jego tworzeniu mieli marketingowcy Microsoft’u, większy niż inżynierowie). W zależności od tego jak masz skonfigurowany BIOS/UEFI, w jakim trybie pracuje Twój dysk, jakie systemy i w jaki sposób masz zainstalowane, ile plików .efi i na ilu partycjach masz zainstalowane … występuje różnorodny zestaw czynników, które musisz brać pod uwagę.

Dlatego jeżeli nie masz dysków większych niż 2 GB, nie potrzebujesz na jednym dysku więcej niż 4 partycji podstawowych, system jaki instalujesz również nie wymaga UEFI, to dyski ustaw w tryb MBR, a UEFI … w legacy czy jak, to tam się nazywa (w trybie zgodności z BIOS). W ten sposób masz prosty układ, w którym każdy system ma swoją partycję, a o start konkretnego dba GRUB, zainstalowany na osobnej partycji (nie warto więcej niż 512 MB, ale i 128 MB będzie - w standardowych zastosowaniach - wystarczająco nadmiarowe. Co do systemu plików, to może być ext4, ale i - jeżeli idziemy w prostotę - ext2), więc nawet jeżeli skasujesz partycję z Linux’em, to proces boot’owania innych systemów nie powinien ucierpieć (tak myślę).

1 polubienie

@Azja, ja powiem wprost po przygodzie z UEFI, że … jestem w 100% zgodny z Twoją wypowiedzią. Gdy nabędę nowy dysk z czasem to kolejna instalacja Manjaro i Redmondów będzie już w Legacy. UEFI niby fajne, niby przyspiesza czas bootowania systemu ale zauważyłem, że w nowszym sprzęcie (po roku 2017) te UEFI zbyt mocno rządzi się sobą. Systemy operacyjne Windows od 8 w górę oraz często nowsze wersje Linuxa potrafią w locie zmieniać ustawienia w UEFI. Nie ugryzłem tego jeszcze aż tak aby wiedzieć dlaczego i jak to się dzieje, zauważyłem jedynie że najnowsze kompilacja Windows10 potrafi z poziomu działającego systemu załączyć wyłączone w UEFI wifi. Baaaardzo mocno mi się to nie spodobało, bo jeśli W10 był na mocy załączyć WIFI to zrobi to samo z kamerą i mikrofonem czy czytnikiem linii papilarnych wewnątrz touchpada.

Czyli w zasadzie dla poprawnego działania i uruchamiania systemu bez UEFI nie muszę tworzyć dodatkowej partycji z flagą boot?

Dziękuję za podpowiedź, w poradnikach i przewodnikach po instalacji manjaro tego nie znalazłem. Póki co mam tylko HDD i pewnie do końca roku tak pozostanie dopóki nie odbuduje swojego PC :frowning:, dlatego spróbuję z partycją /boot na ext2 :slight_smile:.

Możesz, ale nie musisz.