Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum zapoznaj się z kilkoma zasadami savoir-vivre'u w wątku Administracja-> Przywitaj się. Wątki z problemami zamieszczone w dziale "Przywitaj się" będą usuwane.

Autor Wątek: Partycja /boot  (Przeczytany 4102 razy)

Offline krzycho61

  • Wiadomości: 3
Partycja /boot
« dnia: Luty 25, 2012, 08:04:31 pm »
Wchodzę sobie do banku, a w progu stoi sobie olbrzymi ochroniarz i mówi, ze jeśli bedę się zachowywał niezgodnie z regułami to w mordę, kopa w dupę i won!  Nierealne? Pewnie niedługo będzie to regułą. Tutaj i na wielu innych forach już sobie mogę to przeczytać. Niby nic a cieszy.  :?

Tak na marginesie to całkiem fajna stronka i sądzę, że ma szansę przejąc pałeczkę po nieco zdezaktualizowanym :Jakilinux: Nawiguje się prosto i intuicyjnie oraz zamieszczono sporo informacji przydatnych zwłaszcza dla słabo zorientowanych początkujących lamerów (to o mnie  :)

w bardzo klarownej formie.

Jeżeli Administrator nie usunie mojego posta, to  już poza konkursem  mam prośbę do kogoś, kto używał wydzielonej partycji /boot na PC typu desctop. Jakie korzyści odniesie słabo rozgarnięty  (to ja) użytkownik linuxa ( jeżeli są)  ze stosowania takowej?  Za wszelką informację będę wdzięczny.

« Ostatnia zmiana: Luty 25, 2012, 08:04:31 pm wysłana przez 139 »

Offline pavroo

  • Global Moderator
  • Hero Member
  • *****
  • Wiadomości: 1527
Odp: Partycja /boot
« Odpowiedź #1 dnia: Luty 25, 2012, 08:52:11 pm »
Witaj.

Trochę zaskoczyłeś mnie tym pytaniem...

Zaczynając swoją przygodę z Linuksem przeczytałem kiedyś, iż to ze względu bezpieczeństwa. Używam tę partycję przy każdej instalacji i prawdę mówiąc robię to automatycznie :)

Na pewno przydaje się na serwerach. Na komputerach domowych nie jest absolutną koniecznością.

Ale...

Im mniejsza partycja "/boot" tym mniejsza szansa, iż ktoś z zewnątrz uruchomi niechciany proces w obrębie jądra systemu. Muszą być oczywiście luki bezpieczeństwa w samym jądrze aby było to możliwe.

Z tego co słyszalem/czytałem, część osób zaleca a inna część pomija ustawianie tej partycji na kompie domowym. Myślę, iż możesz ją całkowicie pominąć. Może ktoś ma inne zdanie na ten temat?
« Ostatnia zmiana: Luty 25, 2012, 08:52:11 pm wysłana przez 2 »
Nic nie jest tak proste, jak się wydaje.
Danielle Steel

Offline krzycho61

  • Wiadomości: 3
Odp: Partycja /boot
« Odpowiedź #2 dnia: Luty 25, 2012, 10:51:57 pm »
Z Twojej wypowiedzi wynika, że nieumiejętnie zaktualizowane jądro przy "dopasowanej" partycji  "/boot" może wyrządzic więcej szkody niż przynieść pożytku w postaci bezpieczeństwa. Zbyt duża partycja "/boot" nie zwiększy w sposób znaczący bezpieczęństwa. Przypuszczam, że w takim przypadku lepiej spróbować  np. zaszyfrować katalog z jądrem. Cały czas mam na uwadze komputer domowy i niezbyt rozgarniętego w linuxie użytkownika. Pewnie w przypadku użytkownika zaawansowanego lub maszyn wykorzystyuwanych jako serwer (np.) jest to uzasadnione i nawet pożądane.

Dziękuję za szybką pomoc.

Pozdrawiam : Krzysztof



« Ostatnia zmiana: Luty 25, 2012, 10:51:57 pm wysłana przez 139 »

Offline Gaello

  • Wiadomości: 9
Odp: Partycja /boot
« Odpowiedź #3 dnia: Marzec 08, 2012, 10:38:53 pm »
Witam.

To ja może wtrące jeszcze swoje 3 grosze.

Moim zdaniem partycje /boot tworzy się mniej więcej po to co partycje /home (osobiście tej drugiej nie stosuje :) )

Głównym podowem jest ochrona danych i możliwości bootowania awaryjnego systemu gdyby ten pierwszy się popsuł lub po prostu zniknął wraz z całym przydzielonym dyskiem.

Ale to tylko takie moje luźne przypuszczenia :)



Pozdrawiam
« Ostatnia zmiana: Marzec 08, 2012, 10:38:53 pm wysłana przez 54 »

Offline MoroS

  • Wiadomości: 52
  • Problem solver ;)
Odp: Partycja /boot
« Odpowiedź #4 dnia: Maj 09, 2012, 11:09:23 am »
Witam.



Trochę przespałem ten temat, ale też coś wtrącę. Ogólnie nie ma oczywiście obowiązku wydzielania partycji /boot. Ogólny zamysł był taki, aby wydzielona partycja /boot spełniała szereg założeń powiązanych z wydajnością i bezpieczeństwem:

- prosty system plików (ext2) - dzięki temu mamy pewność, że każdy antyczny czy współczesny bootloader linuksowy będzie w stanie ją odczytać, poza tym ext2 jest systemem bez tzw. "journalingu", więc działa o wiele szybciej niż jego młodsi bracia (ext3, ext4); Niby systemy plików z "journalingiem" są bezpieczniejsze, ale na partycji /boot powinny rezydować tylko: jądro, InitRAM i ewentualnie pliki bootloadera, więc nie ma potrzeby zbyt częstej aktualizacji jej zawartości.

- bezpieczeństwo - ta przesłanka niestety rozmywa się w wielu dystrybucjach z powodu źle konfigurowanego pliku /etc/fstab; Głównym założeniem było montowanie partycji /boot tylko wtedy, gdy następuje aktualizacja jądra czy bootloadera systemowego, po czym jest odmontowana. Miało to zapobiegać ewentualnym uszkodzeniom mechanizmu rozruchowego systemu, gdy coś pójdzie nie tak. Niestety większość dystrybucji i tak montuje wszystkie partycje automatycznie.



Obecnie oczywiście bootloadery radzą sobie z większością systemów plików, a sama partycja /boot jest montowana w większości przypadków automatycznie przy starcie systemu (ostatni raz kiedy widziałem "właściwą" konfigurację było to na Gentoo, który konfigurowałem w całości ręcznie). Z tego wychodzi, że tak naprawdę podział ten został po prostu z przyzwyczajenia. ;)



Pozdrawiam.
« Ostatnia zmiana: Maj 09, 2012, 11:09:23 am wysłana przez 28 »
Nie ma rzeczy niemożliwych. Są tylko takie, których jeszcze nie umiemy wykonać. ;)

Offline krzycho61

  • Wiadomości: 3
Odp: Partycja /boot
« Odpowiedź #5 dnia: Czerwiec 05, 2012, 11:13:44 pm »
Dziękuje  serdecznie za komentarze. Sądzę, że ostatnia wypowiedź zaspokoiła moją ciekawość i po wielu niezbyt udanych próbach przestane eksperymentować na "żywym organiźmie " :)
« Ostatnia zmiana: Czerwiec 05, 2012, 11:13:44 pm wysłana przez 139 »

Offline MiFra

  • Wiadomości: 6
Odp: Partycja /boot
« Odpowiedź #6 dnia: Sierpień 31, 2012, 03:12:47 pm »
Zastanawiam się o czym szanowni koledzy piszą; czy o partycji /boot, czy o katalogu /boot. Katalog /boot faktycznie system sam zakłada (montuje); partycję zaś trzeba samemu założyć na dysku i wskazać ją systemowi podczas instalacji, ale wówczas mogą być problemy z aktywacją innych systemów. Boot można zainstalować na MBR, a właściwie część która przekieruje na partycje systemową, i to robią najczęściej w instalatory domyślnie.
« Ostatnia zmiana: Sierpień 31, 2012, 03:12:47 pm wysłana przez 277 »

Offline MoroS

  • Wiadomości: 52
  • Problem solver ;)
Odp: Partycja /boot
« Odpowiedź #7 dnia: Sierpień 31, 2012, 05:13:36 pm »
Pisząc o partycji /boot mamy na myśli partycję przeznaczoną na pliki boot-managera oraz pliki kernela, która montowana jest pod folder /boot. "Partycja /boot" to taki skrót myślowy.



A teraz mała rozprawka:

1. Partycję dla /boot można założyć samemu, ale niektóre dystrybucje wymuszają lub proponują taki podział. Nie jest on jednak obowiązkowy i wszystko może znajdować się na jednej partycji (pozostaje kwestia wyboru systemu plików tak, aby bootmanager mógł go obsłużyć, ale współczesne bootmanagery nie mają z tym większych problemów).

2. Nie można wskazać jej systemowi, ponieważ system z niej praktycznie nie korzysta. W trakcie, gdy jest ona wykorzystywana do rozruchu, to system jeszcze grzecznie "śpi" na dysku. Korzystają z niej programy rozruchowe np. GRUB czy LILO. System korzysta z niej tylko wtedy, gdy zachodzi potrzeba aktualizacji plików rozruchowych (nowa wersja boot-managera, jego obrazu stage2 czy jądra Linux). Jednym z powodów czemu partycja rozruchowa jest montowana pod /boot, jest to, że jest to standardowy katalog na pliki rozruchowe, a że w Linuksie partycje montuje się pod katalogi, to bardzo szybko powstało rozwiązanie polegające na wydzieleniu osobnej partycji z lekkim systemem plików (najczęściej ext2) na pliki rozruchowe, która będzie montowana pod katalog /boot. No i oczywiście, jeżeli zdecydujemy się na podział z osobną partycją /boot, to instalator z radością zadba o dodanie odpowiedniego wpisu do /etc/fstab (i w zależności od tego wpisu partycja będzie lub nie będzie się automatycznie montować wraz ze startem systemu).

3. W MBR zapisywany jest co najwyżej obraz "stage1" programu rozruchowego, z uwagi na ograniczoną przestrzeń. Sam MBR ma tylko 512 bajtów, z czego 64 bajty zajmuje tablica partycji (w przypadku BIOSu, bo z EFI jest zupełnie inaczej). I tych pozostałych 448 bajtów jest odpowiedzialne ze wczytanie obrazu "stage2" bootmanagera, który to odpowiedzialny jest dopiero za postawienie systemu na nogi (załadowanie do pamięci jądra i przekazanie mu kontroli). Podobnie ma się sprawa, jeżeli zamiast Master Boot Record wybierzemy jakąś partycję. Wtedy to obraz "stage1" zapisywany jest w pierwszym sektorze partycji i potrzeba czegoś, co go uruchomi (BIOS przy starcie uruchamia tylko to, co znajdzie w pierwszym sektorze dysku twardego, czyli tzw. MBR, a zawartość partycji go nie obchodzi).



A koledzy? Koledzy zastanawiają się czy przy współczesnych bootmanagerach (bootloaderach, jak kto woli), współczesnych systemach plików oraz polityce współczesnych dystrybucji do automatycznego montowania partycji pod /boot, opłaca się nadal wydzielać osobną partycję na pliki rozruchowe. ;)
« Ostatnia zmiana: Sierpień 31, 2012, 05:13:36 pm wysłana przez 28 »
Nie ma rzeczy niemożliwych. Są tylko takie, których jeszcze nie umiemy wykonać. ;)

Offline MiFra

  • Wiadomości: 6
Odp: Partycja /boot
« Odpowiedź #8 dnia: Wrzesień 04, 2012, 12:22:39 pm »
Kol MoroS napisał:

„Nie można wskazać jej systemowi, ponieważ system z niej praktycznie nie korzysta. W trakcie, gdy jest ona wykorzystywana do rozruchu, to system jeszcze grzecznie "śpi" na dysku. Korzystają z niej programy rozruchowe np. GRUB czy LILO. ”



Wobec powyższego zastanawiam się czy programy rozruchowe należą do systemu czy nie.  Nawet przyjmując że nie należą do systemu operacyjnego to na pewno należą do systemu komputera. Gdyż skąd ma system komputera wiedzieć że dalszy ciąg instrukcji (systemu) znajduje się na tej czy innej partycji. I to właśnie trzeba systemowi pokazać.



Mając na Twardym dysku parę systemów i wydzieloną partycję /boot przeinstalowywaniu dowolnego systemu zawsze musiałem do poprawnego działania edytować niektóre pliki, jak z tej partycji zrezygnowałem to wszystko się teraz robi automatycznie. Oczywiście nie jest tak całkiem słodko bo i tu czyha pewna niedogodność.
« Ostatnia zmiana: Wrzesień 04, 2012, 12:22:39 pm wysłana przez 277 »

Offline MoroS

  • Wiadomości: 52
  • Problem solver ;)
Odp: Partycja /boot
« Odpowiedź #9 dnia: Wrzesień 04, 2012, 01:27:21 pm »
Takie pojęcie jak "system komputera" nie istnieje. Możemy mówić o systemie komputerowym (z definicji: komputer + oprogramowanie) lub systemie operacyjnym (i ten "system komputera", to jakiś rzadko spotykany, żargonowy synonim systemu operacyjnego). Jest jeszcze BIOS/EFI, ale to jest raczej tzw. firmware, oprogramowanie wbudowane (nie odważę się tutaj użyć terminu "system wbudowany", bo znam parę osób, które by mnie za to zdzieliły po łbie :P ).



Ta kwestia jest dość ciekawa, bo z jednej strony programy rozruchowe należą do systemów operacyjnych, a z drugiej strony nie. Program rozruchowy przeważnie dzieli się na parę (najmniej trzy) części:

- obraz stage1 - mały programik ok. 448 bajtów rozmiaru umieszczany w MBR i uruchamiany przez BIOS;

- obraz stage1.5 - opcjonalne i zależy od programu rozruchowego, przeważnie umieszczony jest w paru pierwszych sektorach dysku twardego (wolna przestrzeń między MBR a początkiem pierwszej partycji);

- obraz stage2 - większy programik, który wczytywany jest do pamięci przez stage1 i który odpowiedzialny jest na wczytanie do pamięci i uruchomienie systemu operacyjnego;

- narzędzia konfiguracyjne/instalacyjne - jak nazwa wskazuje służą do konfiguracji i instalacji;

I tutaj jest myk: stage1, stage1.5 i stage2 są niezależne od systemu operacyjnego i formalnie do niego nie należą, ale to one (a właściwie tylko stage2) odczytują informacje z partycji /boot. Dodatkowe narzędzia są już pod kontrolą systemu operacyjnego. Typowy przebieg:

- firmware (BIOS, EFI, whatever) uruchamia stage1 (czyli to, co najdzie w MBR);

- stage1 wczytuje i uruchamia stage1.5, które jest bardziej rozbudowane (obsługa systemu plików) i może wczytać i uruchomić stage2 bezpośrednio z systemu plików, albo w przypadku braku stage1.5...

- stage1 wczytuje i uruchamia stage2 (który jest przeważnie w ściśle określonym miejscy, aby dało go radę zlokalizować i wczytać za pomocą ograniczonego w rozmiarze stage1);

- stage2 wczytuje i uruchamia system (teoretycznie stage2 nie ma już ograniczenia na rozmiar, dlatego może zrealizować wiele skomplikowanych czynności);



Co do tej sytuacji z różnymi systemami, to musiałbyś napisać jak to wyglądało szczegółowo, bo w zależności od reinstalowanego systemu mogły się wydarzyć różne rzeczy:

- reinstalka Windows - nadpisany MBR;

- reinstalka Linuksa - wykrycie istniejącej już partycji /boot i próba automatycznej edycji wpisów (co mogło doprowadzić do opisanej przez Ciebie sytuacji, szczególnie Ubuntu, Debian i pochodne, oparte na tych samych instalatorach, to uwielbiają) albo utworzenie kolejnej partycji /boot dla instalowanej dystrybucji i znowu nadpisanie MBR innym programem rozruchowym;

- reinstalka Mac OS X - tego nie będę opisywał, bo nawet najprostszy opis wydłuży niemiłosiernie tego i tak już długiego posta;

Jednak z opisywanej przez Ciebie sytuacji wnioskuję, że to była reinstalacja Linuksa i na dysku były co najmniej 2 różne dystrybucje (w przypadku jednej po prostu wystarczy zaorać partycję /boot i pozwolić, żeby  instalator systemu operacyjnego uruchomił program konfiguracyjny programu rozruchowego).



Swoją drogą proces rozruchowy to ciekawe zagadnienie, jeżeli ktoś się mocno interesuje Linuksem pod kątem jego budowy, a nie tylko użytkowania i konfiguracji. Jeżeli ktoś chce wiedzieć więcej na temat jak faktycznie działa Wasz system, to lektury w Internecie jest sporo (osobiście zachęcam):

- http://en.wikipedia.org/wiki/GNU_GRUB#Boot_process

- http://www.ibm.com/developerworks/linux/library/l-linuxboot/



PS. @Pavroo, chyba mam pomysł na kolejny artykuł. ;)



EDIT: Wybaczcie, niezły tasiemiec mi wyszedł. ;)
« Ostatnia zmiana: Wrzesień 04, 2012, 01:27:21 pm wysłana przez 28 »
Nie ma rzeczy niemożliwych. Są tylko takie, których jeszcze nie umiemy wykonać. ;)

Offline MiFra

  • Wiadomości: 6
Odp: Partycja /boot
« Odpowiedź #10 dnia: Wrzesień 06, 2012, 10:52:37 am »
MoroS masz w pełni rację. Dlatego specjalnie wprowadziłem termin „system komputera”  do którego należałby cały system programów; od BIOS 'a, rozruchu do systemu ogólnie zwanego "systemem operacyjnym", aczkolwiek programy rozruchu są częścią składową „systemu operacyjnego”.Było to spowodowane kolegi określeniem” „system śpi” na dysku; korzystają z niej programy rozruchowe” . Błędem moim było niepodanie definicji tego określenia. W związku z tym że pojęcie w przestrzeni czasu uległo zmianie. Latach 90 w/g Kieszonkowego Słownika Terminów Komputerowych pod redakcją dra Józefa L. Szmidta cyt:”  system operacyjny -> oprogramowanie systemowe → niezbędne oprogramowanie podstawowe umożliwiające jakąkolwiek pracę z komputerem; organizujące działanie wszystkich elementów i urządzeń komputera”, i te określenie jest adekwatne  mojego określenia „system komputera” Obecnie jako system  operacyjny przyjmuje się określenie z Encyklopedii Wiedzy Komputerowej wydana Komputer Świat  i jest nim MS-DOS, rodzina Windows, Linux, Mac os z którego można domniemywać że „BIOS” nie należy do systemu operacyjnego komputera. Hmm  to jak te  systemy bez BIOSu czy innego tego typu programu zadziałają.
« Ostatnia zmiana: Wrzesień 06, 2012, 10:52:37 am wysłana przez 277 »

Offline MoroS

  • Wiadomości: 52
  • Problem solver ;)
Odp: Partycja /boot
« Odpowiedź #11 dnia: Wrzesień 06, 2012, 11:49:33 am »
Ok, teraz jest to jasne. "System komputera" czyli cały ekosystem oprogramowania od firmware'ów, po oprogramowanie użytkowe. Na dobrą sprawę obaj pisaliśmy o tym samym, tylko na różnym poziomie szczegółowości i każdy mniej więcej po swojemu. ;)



Co do niedziałania bez BIOSu, to trochę ciężko by było, bo potrzebny jest jakiś kawałek oprogramowania, który przynajmniej powie "wczytaj stąd ten jeden sektor do pamięci i skocz tam, wykonać ten kod". Jak małe to by nie było, to ocieramy się już o program "wbudowany" w urządzenie, czyli tak, czy inaczej jakiś odpowiednik BIOSu będzie w takiej czy innej formie. Sam sprzęt bez oprogramowania nic nie znaczy (nawet procesory są przecież programowane).



W każdym razie MiFra, dzięki Tobie wpadłem na pomysł kolejnego artykułu na portal (a może nawet cyklu artykułów o wnętrzu Linuksa z opisem co i jak jest realizowane). ;)



Pozdrawiam. :)
« Ostatnia zmiana: Wrzesień 06, 2012, 11:49:33 am wysłana przez 28 »
Nie ma rzeczy niemożliwych. Są tylko takie, których jeszcze nie umiemy wykonać. ;)

Offline MiFra

  • Wiadomości: 6
Odp: Partycja /boot
« Odpowiedź #12 dnia: Wrzesień 07, 2012, 01:56:48 pm »
Fajnie  i o ten "kop" chodziło. Z zawodu jestem łącznościowcem, a nie programistą; zresztą o mało co bym nie został programistą lub operatorem, a było to za czasów ZAM -ów i RIAD -ów. Z różnymi systemami komunikacji pracowałem zarówno jako eksploatator jak i projektant wykonawca. Otarłem się też o systemy obiegu informacji, no i oczywiście o pewne elementy programowania. Jak w dawnych czasach gdy niejednemu inżynierowi ślinka szła na widok „spektrum” było mnóstwo popularnych opisów działań ówczesnych maszynek. Dziś  ciężko znaleźć opisy w sposób popularny i przemawiający do ogółu. To tak jak z kierowcami, kiedyś kierowca był w stanie objechać swoim wehikułem świat bez pomocy, a dziś musi do tego przedsięwzięcia zabrać pół fabryki by mu utrzymali wehikuł w sprawności. Ale kiedyś kierowca wiedział  przynajmniej jak ten wehikuł działa, a dziś po co mu to. To samo jest z naszymi ulubionymi maszynkami. Czasami mam wrażenie że cofamy się w rozwoju, symptomem tego jest między innymi nasze operowanie na różnego rodzaju urządzeniach w taki sam sposób jak 2 -3 letnie dzieciaki. Rozumiem nie musimy byś przysłowiowymi Leonardo da Vinci 'mi ale minimum wiedzy o działaniu każdego z urządzeń moim zdaniem powinniśmy mieć chociażby dla naszego i urządzenia bezpieczeństwa. Życzę powodzenia w realizacji pomysłu.
« Ostatnia zmiana: Wrzesień 07, 2012, 01:56:48 pm wysłana przez 277 »