Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2022-10-04 20:47:27

  adeka92 - Użytkownik

adeka92
Użytkownik
Zarejestrowany: 2021-10-09

Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

Odkąd pamiętam, zawsze instalowałem program rozruchowy w głównym sektorze rozruchowym dysku twardego, czyli na "/dev/sda" dawniej "/dev/hda". Pamiętam, że instalatory również preferowały tę lokalizację dla programu rozruchowego, a instalacja go na partycji "root" nie była domyślnie stosowana. Ostatnio obejrzałem dwa filmy przez które zacząłem się zastanawiać nad tym, gdzie GRUB powinien zostać zainstalowany ?

1. Na tym filmie nagrywający tworzy partycje według schematu UEFI+GPT, a lokalizacja dla GRUBa to "/dev/sda" (Tablica partycji, główny sektor dysku)
2. Na tym filmie nagrywający tworzy partycje według schematu UEFI+GPT(chyba), a lokalizacja dla GRUBa to "/dev/vda1" (Partycja "root")

Chciałbym się dowiedzieć jaka jest prawidłowa lokalizacja do zainstalowania programu GRUB i czy będzie się ona zmieniała w przypadku różnych schematów partycjonowania (UEFI+GPT, BIOS_Legacy+GPT, BIOS_Legacy+MBR). O ile dobrze pamiętam, żaden instalator nigdy nie umieszczał mi GRUBa na partycji "root" zarówno za czasów BIOSU jak i UEFI. Oczywiście zdaję sobie sprawę, że instalując go na "/dev/sda" pliki GRUBa znajdują się również na partycji EFI ("/dev/sda1"), ale pierwsze pliki GRUBa wczytywane są z głównego sektora rozruchowego.

Ostatnio edytowany przez adeka92 (2022-10-04 22:47:32)

Offline

 

#2  2022-10-05 06:27:02

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

Korzystanie z GRUB na EFI/UEFI mija się z celem, bo tutaj jest rEFInd.

Offline

 

#3  2022-11-04 19:18:16

  raven18 - Użytkownik

raven18
Użytkownik
Skąd: /home
Zarejestrowany: 2009-01-30

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

Hej, dlaczego niby mija się z celem? sam będę teraz przenosił system na nvme z gpt i zamierzam zainstalować gruba. Używałem przez tyle lat i zdecydowanie na plus to łatwość w konfiguracji, instalujesz raz i zapominasz, niezawodność, większość jeśli nie wszystkie dystrybucje z niego korzystają. Co przemawia za refind? poza tym że jest nowy i trzeba przekopywać się przez kilkadziesiąt stron dokumentacji by to jakoś skonfigurować?


Windows 8.1

Offline

 

#4  2022-11-08 20:36:10

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

No bo refind jest dedykowanym menadżerem rozruchu dla EFI i odpada przy tym potrzeba na korzystanie z innych narzędzi typu GRUB, które modyfikują MBR/VBR i powodują przy tym problemy z innymi zainstalowanymi na maszynie systemami operacyjnymi. Wystarczy zatem wgrać sobie refind na partycję /efi/ (+ dodatkowe moduły jeśli są potrzebne) i tyle. Nie trzeba nic dodatkowo robić z dyskiem pod kątem konfiguracji innych OS'ów, co znacząco ułatwia konfigurację i uruchamianie systemu (EFI > menadżęr rozruchu > GRUB > OS vs. EFI-> menadżer rozruchu > OS).

Offline

 

#5  2022-11-09 14:28:37

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

Prawidłowo bios mobo szuka partycji z flagą boot dla trybu msdos albo flagi ESP dla UEFI.
Dlatego partycja rozruchowa powinna mieć ustawione odpowiednie flagi.

Partycja UEFI musi też być sformatowana na fat32.
Tak to działa od lat u mnie, partycja 256MB, flagi BOOT i ESP, tam mama Refinda, który  z poszczególnych partycji odpala Linuxy przez dowiązania symboliczne np Debian tworzy domyślnie /vmlinuz i /vmlinuz.old, i takie ścieżkę do kernela trzeba podać w konfigu refinda.

np:

Kod:

lrwxrwxrwx 1 root root 28 07-11 00:01 /vmlinuz -> boot/vmlinuz-5.10.0-16-amd64
lrwxrwxrwx 1 root root 28 07-11 00:01 /vmlinuz.old -> boot/vmlinuz-5.10.0-13-amd64

Nie zapomnij też o initrd, kernel Debiana używa go domyślnie.

Kod:

lrwxrwxrwx 1 root root 31 07-11 00:01 /initrd.img -> boot/initrd.img-5.10.0-16-amd64
lrwxrwxrwx 1 root root 31 07-11 00:01 /initrd.img.old -> boot/initrd.img-5.10.0-13-amd64

W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2022-11-09 18:32:34

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

Problem jest gdy się szyfruje system, bo wtedy linki do odpowiednich plików z numerkami nie są dostępne. xD Na szczęście bez problemu można ten problem obejść zmieniając położenie linków. Bez tego rozwiązania to trzeba by przepisywać nonstop konfigurację refind'a, a tak to raz skonfigurowany ponad dwa lata temu i go nie ruszałem od tego czasu i wszystko działa bez najmniejszych zastrzeżeń. xD

Offline

 

#7  Wczoraj 17:36:53

  raven18 - Użytkownik

raven18
Użytkownik
Skąd: /home
Zarejestrowany: 2009-01-30

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

Zainstalowałem tego refinda ale nie rozumiem jak on działa :) Gdzie są zapisane pliki konfiguracyjne? on tworzy je dynamicznie ... ? w boot/efi/refind/ refind.conf mam tylko przykładowy, debiana wykrywa mi jako generic linux, na dodatek mimo że mam linki do kernela nowszego to wczytuje starszy. Już chyba wiem dlaczego nikt tego nie używa :)


Windows 8.1

Offline

 

#8  Wczoraj 18:57:11

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

No refind to pełen automat i zwykle powinno działać wszystko OOTB. Możesz sobie naturalnie wszystko dostosować.
Przeczytaj ten artykuł . A tu masz mój plik refind.conf:

Offline

 

#9  Wczoraj 21:05:41

  raven18 - Użytkownik

raven18
Użytkownik
Skąd: /home
Zarejestrowany: 2009-01-30

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

Przeglądałem twój artykuł jak i ten dotyczący przepisywania linków, ja to raczej korzystam z gparted + rsync, i zamiast chroota odpalam po prostu system za pomocą super grub disk.
Instalowałem też gruba efi i też nie jestem zadowolony, skacze co sekunda z trybu graficznego do tekstowego zmieniając przy tym rozdzielczość .. chyba zostanę z msdos.


Windows 8.1

Offline

 

#10  Dzisiaj 05:01:23

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Manualne partycjonowanie - Gdzie prawidłowo zainstalować GRUB.

To trochę dziwne, bo u mnie nic się nie przełącza. Mam refind'a w natwnej rozdzielczości (do ustawienia w jego konfiguracji). Później jak system startuje, też mam tę rozdzielczość zachowaną ale z tego co pamiętam, to obraz initrd ma u mnie uwzględniony moduł i firmware od grafiki, bo bez tego to pierw była mniejsza rozdziałka i dopiero w dalszej części startu systemu była ustawiana natywna. Więc u mnie to przełączanie rozdziałki też występowało przed tą zmianą ale już tego nie ma. xD

W /etc/initramfs-tools/modules mam

Kod:

i915

W /etc/initramfs-tools/hooks/fix_missing_firmware mam:

Kod:

#!/bin/sh

set -e

PREREQ=""
prereqs()
{
   echo "$PREREQ"
}

case $1 in
prereqs)
   prereqs
   exit 0
   ;;
esac

[ -r /usr/share/initramfs-tools/hook-functions ] || exit 0
. /usr/share/initramfs-tools/hook-functions

echo -n "Copying missing firmware files... "

[ ! -d "${DESTDIR}/lib/firmware/" ] && mkdir -p ${DESTDIR}/lib/firmware/
[ ! -d "${DESTDIR}/lib/firmware/brcm/" ] && mkdir -p ${DESTDIR}/lib/firmware/brcm/
[ ! -d "${DESTDIR}/lib/firmware/i915/" ] && mkdir -p ${DESTDIR}/lib/firmware/i915/

cp /lib/firmware/i915/adlp_guc_*.bin ${DESTDIR}/lib/firmware/i915/
cp /lib/firmware/iwlwifi-6000g2a-6.ucode ${DESTDIR}/lib/firmware/
cp /lib/firmware/brcm/BCM20702A1-0a5c-21e6.hcd ${DESTDIR}/lib/firmware/brcm/
cp /lib/firmware/regulatory.db-debian ${DESTDIR}/lib/firmware/regulatory.db
cp /lib/firmware/regulatory.db.p7s-debian ${DESTDIR}/lib/firmware/regulatory.db.p7s

echo "done."

exit 0

Nie pamiętam czy coś jeszcze gdzieś trzeba było dopisać by to przełączanie rozdziałki nie następowało podczas startu systemu. xD

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)