Wspólna partycja boot dla wielu systemów linux?

Pomoc dotycząca instalacji systemu
Awatar użytkownika
Zalingrad
Beginner
Posty: 110
Rejestracja: 26 stycznia 2009, 20:03
Lokalizacja: Tarnobrzeg/Warszawa

Wspólna partycja boot dla wielu systemów linux?

Post autor: Zalingrad »

Witam serdecznie.
Posiadam Debiana Lenny z jądrem 2.6.30 zainstalowanym z backportów oraz grub2 (stary został usunięty).

Czy mocno różniące się dystrybucje nie pogryzą się w walce o wspólny /boot?

Postanowiłem, że wydzielę partycję /boot i tam upcham wszystkie 3 dystrybucje Linuksa (Debian, Fedora, CentOS) (w sensie jądra, vmlinuz itp.). Wiem z doświadczenia, że Fedora nie widzi Debiana, Debian Fedory, OpenSuse widzi wszystkich z wyjątkiem Siduksa itd.

Jednak tu pojawia się moje pytanie.
Te dystrybucje nie są z jednej gałęzi. Czy nie namieszam, jeżeli przy instalacji Fedory i CentOS-a wskażę jeden wspólny wydzielony /boot jako "miejsce pojednania"? Musiałbym wtedy chyba też przenieść całą zawartość partycji /boot Debiana na tą świeżo utworzoną. Czy po tym zabiegu (i pewnie nie obejdzie się bez modyfikacji grub.cfg) Debian zadziała?

Dodam, że sytuacja ma się następująco: Partycja /dev/sda6 to Debian, 11 to w założeniu będzie Fedora, a przyszła 12 lub powiększona 10 ma gościć CentOS-a.

Kod: Zaznacz cały

Disk /dev/sda: 500.1 GB, 500106780160 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000ab6d7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2244    18024898+   7  HPFS/NTFS
/dev/sda2            2245        8554    50685075    7  HPFS/NTFS
/dev/sda3            8555       60801   419674027+   5  Extended
/dev/sda5            8555        8685     1052226   82  Linux swap / Solaris
/dev/sda6            8686       10229    12402148+  83  Linux     {{{{Debian}
/dev/sda7           10230       12649    19438618+  83  Linux     {{{zwykłe
/dev/sda8           12650       39324   214266906   83  Linux       
/dev/sda9           39325       45865    52540551   83  Linux        partycje}}}
/dev/sda10          45866       46643     6249253+  83  Linux
/dev/sda11  *       46644       46659      128488+  83  Linux
zbig
Posty: 99
Rejestracja: 29 stycznia 2009, 10:42

Post autor: zbig »

Wszystko powinno być w porządku jeśli nazwy jąder będą różne oraz jeżeli podczas instalacji będziesz mógł zainstalować jądro na tej partycji bez jej formatowania. Pamiętaj także aby gruba instalować tylko z jednej dystrybucji (pliki gruba znajdują się w /boot/grub).

¯yczę powodzenia

Ps. Z doświadczenia wiem, że lepiej w zastosowaniach domowych system instalować na jednej partycji. Jest większy porządek. Natomiast partycja /boot przydaje się na serwerach, bo jeśli nie jest dostępna główna partycja / to przynajmniej może być dostępna /boot i można spróbować naprawiać system. Jeszcze jedna mała uwaga: partycja /boot musi być na tyle duża aby pomieścić wszystkie jądra, które chcesz tam mieć - nawet po aktualizacji (może ich wtedy trochę przybyć).
Awatar użytkownika
ryba84
Beginner
Posty: 340
Rejestracja: 08 lipca 2007, 14:55
Lokalizacja: LDZ

Post autor: ryba84 »

zbig pisze:Ps. Z doświadczenia wiem, że lepiej w zastosowaniach domowych system instalować na jednej partycji. Jest większy porządek. Natomiast partycja /boot przydaje się na serwerach, bo jeśli nie jest dostępna główna partycja / to przynajmniej może być dostępna /boot i można spróbować naprawiać system. Jeszcze jedna mała uwaga: partycja /boot musi być na tyle duża aby pomieścić wszystkie jądra, które chcesz tam mieć - nawet po aktualizacji (może ich wtedy trochę przybyć).
Ja znów nawet dla jednego systemu jestem zwolennikiem wydzielania /boot i /home (ja jeszcze oddzielam /var /tmp i /usr bo można lepiej zarządzać takim dyskiem i odpowiednie opcje montowania zwiększają bezpieczeństwo). M. in. sam ostatnio uszkodziłem nagłówek szyfrowanej partycji systemowej przez co nie mogłem jej odzyskać a bez osobnej partycji /boot nie wystartowałbym żadnego livecd bo nie mam żadnego napędu i możliwości ładowania z USB, a tak uruchomił mi się grub i dzięki konsoli gruba uruchomiłem laptopa z pendrive. Na /boot polecam ext2/ext3 i jeśli chcesz 3 systemy to zrób ze 150-200MB co było miejsce na jądra systemów.
winnetou

Post autor: winnetou »

Dziękuje...
zbig
Posty: 99
Rejestracja: 29 stycznia 2009, 10:42

Post autor: zbig »

Przepraszam, że nie na temat.
ryba84 pisze:...bez osobnej partycji /boot nie wystartowałbym żadnego livecd bo nie mam żadnego napędu i możliwości ładowania z USB, a tak uruchomił mi się grub i dzięki konsoli gruba uruchomiłem laptopa z pendrive.
Mam podobnie: brak możliwości ładowania z USB oraz uszkodzony napęd CD - możesz opisać jak uruchomiłeś laptopa z pendrive wykorzystując gruba?

Z góry dziękuję.
Awatar użytkownika
ryba84
Beginner
Posty: 340
Rejestracja: 08 lipca 2007, 14:55
Lokalizacja: LDZ

Post autor: ryba84 »

Na pendrivie mam zainstalowanego Debiana. Jeśli bios Ci wykrył dysk USB bo nie każdy chce to przejdź do konsoli gruba. Musisz znaleźć odpowiedni dysk, pod którym widziany jest pendrive. Najprościej to zrobić wpisując:

Kod: Zaznacz cały

find /nazwa_obrazu_jądra
musi to być pełna nazwa do pliku z jądrem wraz z pełną ścieżką do niego, więc jeśli masz jedną partycję bez osobnego /boot to podajesz /boot/nazwa_obrazu_jądra. U mnie to tak wygląda:
  1. Znajduje jądro:

    Kod: Zaznacz cały

    find /vmlinuz-2.6.31.12-190210
     (hd1,1)
  2. Wybierasz root dla gruba według tego co mi pokazał:

    Kod: Zaznacz cały

    root (hd1,1)
  3. Wskazuje programowi rozruchowemu grub jądro, którego chcę użyć wraz z odpowiednimi parametrami dla niego (musi ono znajdować się na wskazanej w poprzednim punkcie partycji:

    Kod: Zaznacz cały

    kernel /vmlinuz-2.6.31.12-190210 ro root=/dev/sda5
  4. I wybieram odpowiedni initrd (nie jest to wymagane jeśli masz odpowiednio skompilowane jądro):

    Kod: Zaznacz cały

    initrd /initrd.img-2.6.31.12-190210
  5. No i samo polecenie:

    Kod: Zaznacz cały

    boot
Dla pełniejszego obrazu sytuacji jaka u mnie jest:

Kod: Zaznacz cały

fdisk -l /dev/sdb

Dysk /dev/sdb: 4083 MB, bajtów: 4083154944
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 496
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Identyfikator dysku: 0x00035b7d

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sdb1               1         196     1574338+   c  W95 FAT32 (LBA)
/dev/sdb2   *         197         202       48195   83  Linux
/dev/sdb3             203         496     2361555    f  W95 Ext'd (LBA)
/dev/sdb5             203         496     2361523+  83  Linux
Ja korzystam ze sterownika libata dla tego ten dysk jest widziany jako sdb, ale pod Debianem z pendriva jest widziany jako sda, bo tam jest standardowy konfig jądra z Lennego z małymi modyfikacjami, żeby był responsywniejszy no i obsługiwał ext4 stąd nowsza wersja.

sdb1 to partycja fat32 na mp3
sdb2 to ext2 na /boot
sdb5 to ext2 na /

Co do braku możliwości ładowania z usb to u mnie niby ona jest ale nigdy nie udało mi się wystartować z jej pomocą bez pośrednictwa gruba na dysku. Później zrobię test czy wystartuje w ten sposób na laptopie, który w ogóle nie ma takiej opcji.

Edycja:
Nie działa ten sposób na laptopie gdzie nie ma opcji startu z usb w biosie, bo ten nie widzi pendrive. Ale możesz zawsze wrzucić jądro z obsługą usb na dysk (może być standardowe jądro Debiana wraz z initrd od niego) i wskazać grubowi, żeby z niego skorzystał w opcjach podając partycję z główną / na pendrive jako jeden z parametrów jądra, wtedy jądro załaduje się z dysku, a reszta systemu z usb.
Awatar użytkownika
Yampress
Administrator
Posty: 6423
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

Przecież nie musisz wydzielać specjalnie partycji wspólnej /boot dla systemów. Niech główny system plików będzie dla każdej dystrybucji na innej partycji a /boot dorzucony do głównego systemu plików /.
Jako katalog dla każdej dystrybucji. Potem tylko odpowiednio skonfigurować gruba i wszystko powinno działać.
ODPOWIEDZ