Jakie jest zastosowanie / boot (oparte na lvm) do partycjonowania?

19

Oddzielna /homepartycja pomaga w łatwej ponownej instalacji / aktualizacji. Czy /bootpomoc przy podwójnym uruchomieniu z Windows? Mam na myśli, czy jest przydatny dla zwykłych użytkowników komputerów stacjonarnych / notebooków, czy jest to zaawansowana technika, którą należy wdrożyć na serwerach?

saiki4116
źródło

Odpowiedzi:

24

[Informacje w tej odpowiedzi na temat GRUB2 i LVM są w dużej mierze zasługą Jana ; pierwotnie ta odpowiedź była poważnie błędna i Jan zasługuje na uznanie za wprowadzone przeze mnie ulepszenia. -Eliah]

Gdy LVM nie jest używany, osobna /bootpartycja jest przede wszystkim przydatna do zapewnienia, że ​​pliki niezbędne do uruchomienia są wystarczająco blisko początku dysku, gdy sama /partycja nie znajduje się na początku dysku. Na przykład, możesz chcieć umieścić swoją partycję wymiany linuxa bardzo blisko początku napędu, ponieważ na niektórych dyskach dane w pobliżu początku napędu są potencjalnie szybciej dostępne. Następnie możesz mieć małą /bootpartycję, następnie partycję wymiany linuxa, a następnie /partycję (a następnie inne oddzielne partycje, jeśli je masz, takie jak /home).

Od dłuższego czasu jest to w dużej mierze niepotrzebne, ponieważ w nowszych BIOSach zwykle można uruchomić system, którego pliki rozruchowe znajdują się na partycji daleko od początku dysku. Nadal jednak ma to bardzo małą wadę (chyba że zrobisz /boottak małe, że zapełni się - prawdopodobnie powinno to być około 250 MiB), więc wiele osób, które ręcznie partycjonują, nadal to robi.

Starsze ładujące jak LILO sami ograniczenia, które złożyły osobne /bootpartycje pomocny, podobnie jak Jan zaznacza .

Jeśli korzystasz z LVM, jeśli twoja /partycja jest na LVM, konieczne było posiadanie oddzielnej /bootpartycji. W takiej konfiguracji /bootpartycja nie jest partycją LVM, ale raczej partycją na dysku przed uruchomieniem LVM. Wynika to z faktu, że programy ładujące nie mogły odczytać plików z LVM. Dlatego nigdy nie można uruchomić systemu z LVM, jeśli nie ma on osobnej /bootpartycji (zobacz to i to, aby poznać szczegóły).

Możliwość odczytu plików z LVM został dodany Grub2 , co oznacza, że wszystkie nowsze wersje Ubuntu (Ubuntu 9.10 Karmic Koala i nowsze) mają go . Dzięki odpowiedniej konfiguracji możesz mieć cały system Ubuntu w LVM bez osobnej partycji / boot. Zobacz tę stronę, aby uzyskać szczegółowe informacje na temat konfiguracji. (W rzeczywistości jedyną obecnie obsługiwaną wersją Ubuntu, która używa oryginalnego GRUB-a zamiast GRUB2, jest Ubuntu 8.04 LTS Server; każda inna wersja nieobjęta EoL - 10.04 LTS, 10.10, 11.04 i 11.10 - używa GRUB2.)

Jeśli używasz LVM, ale nie do napędu systemowego Ubuntu, tylko do napędu pamięci masowej lub do pewnej części systemu (być może do /home), ale nie /, osobna /bootpartycja nie jest konieczna, nawet jeśli używasz starego ( system przed GRUB2).

Podsumowując, osobna /bootpartycja jest w dużej mierze kwestią osobistych preferencji dla systemów, które nie używają LVM, podczas gdy starszy system zainstalowany na LVM może jej potrzebować.

Eliah Kagan
źródło
3
Jest to poprawne, choć nieco przestarzałe. Najnowsze wersje grub2 mogą czytać / uruchamiać się z woluminu LVM. wiki.archlinux.org/index.php/GRUB2#LVM (Link do Arch Wiki, nie wiem, która wersja Ubuntu będzie dostarczał tyle najnowszą wersję grub.)
Jan
@Jan Dziękuję za informacje - zredagowałem swoją odpowiedź, aby to odzwierciedlić. Jeśli możesz zasugerować dalsze ulepszenia, napisz komentarz dalej lub, jeśli wolisz, prosimy o samodzielne edytowanie mojej odpowiedzi.
Eliah Kagan,
@Jan Jeśli chodzi o to, które wersje Ubuntu dostarczają wystarczającą ilość GRUB-a, aby pozbyć się / boot for LVM ... zgodnie z gnu.org/software/grub/manual/grub.html#Changes-from-GRUB-Legacy , wygląda na to, że wszystkie wersje GRUB2 są w stanie to zrobić. Obejmuje to każdą najnowszą wersję Ubuntu. Będę ponownie edytować mój post, aby to odzwierciedlić.
Eliah Kagan,
Pytanie: Czy którekolwiek z tych informacji jest istotne, jeśli wszystkie dyski twarde są dyskami SSD? W takim przypadku, ponieważ dysk nie ma dysków, naprawdę nie ma idealnego miejsca (początku dysku) do przechowywania partycji rozruchowej lub wymiany, prawda?
user447607
8

/boot istnieje z przyczyn technicznych i historycznych.

Program ładujący (grub lub lilo) musi mieć dostęp do własnych plików, jądra systemu Linux i początkowego ramdysku. Te pliki są umieszczone w /boot.

Wczesna wersja lilo mogła uzyskiwać dostęp tylko do niektórych podzbiorów dysku twardego, rozumiała tylko ograniczoną liczbę systemów plików (praktycznie tylko ext2) i wymagała, aby system plików znajdował się na partycji podstawowej lub logicznej (tj. Bez md RAID lub LVM). Dlatego powszechną praktyką stało się posiadanie małej /bootpartycji.

Nowoczesne wersje gruba są znacznie bardziej elastyczne i dlatego w wielu przypadkach oddzielna partycja /bootnie jest już wymagana.

W przypadku podwójnego uruchamiania systemu Linux i Windows nie /bootma znaczenia (chociaż lubię używać sektora rozruchowego partycji rozruchowej dla modułu ładującego łódź). Jednak przy podwójnym uruchamianiu innej instalacji Linuksa często się dzieli /boot.

Jan
źródło
-1

Możesz również użyć partycji pojedynczej / rozruchowej podczas instalowania wielu dystrybucji (jak również pojedynczej partycji wymiany). Żadna z tych dystrybucji nie posiada 100% informacji / boot, więc / boot nie powinien znajdować się na żadnej partycji jednej dystrybucji.

Joao Cordeiro
źródło
2
Nie zgadzam się Posiadanie pojedynczego /bootdla wielu dystrybucji spowodowałoby problemy podczas aktualizacji jądra lub GRUB-a.
Melebius