Walka z GRUB-em 2?

Tematy związane z oprogramowaniem, instalacją, konfiguracją
Awatar użytkownika
raven18
Beginner
Posty: 134
Rejestracja: 12 maja 2009, 11:29
Lokalizacja: /home

Walka z GRUB-em 2?

Post autor: raven18 » 28 września 2009, 20:48

Zaktualizowałem GRUB-a do wersji 2. Myślałem że wszystko idzie ku prostocie, ostatnio popularne stwierdzenie przyjazne dla użytkownika ale jak widać niekoniecznie. Ale do rzeczy, chcę dodać sobie coś takiego jak hiddenmenu:
http://grub.enbug.org/Hiddenmenu
Można to dodać do /etc/grub.d/XX_script (za XX sobie coś wpisuje, może być np 66, hę) ale czy nie powinno to być dopisane do 00_header a może 40_custom? Trzeba jeszcze dodać wpis do /etc/default/grub
The number namespace in-between is configurable by system installer and/or
administrator. For example, you can add an entry to boot another OS as
01_otheros, 11_otheros, etc, depending on the position you want it to occupy in
the menu; and then adjust the default setting via /etc/default/grub.
Jaki wpis i z jakimi opcjami? Dla skryptu 66_hiddenmenu wpis hiddenmenu?
Jak i gdzie dodać opcje do kernela (modprobe np.)?
System uruchamia mi się jak w trybie recovery, da się coś z tym zrobić, średnio mi się chce czekać kilkadziesiąt sekund jak dotychczas to było kilkanaście.

Naprawione
Zostało hiddenmenu.
Na razie to wszystko, po pierwszej godzinie korzystania z gruba2 i przejrzeniu dokumentacji.

Zrobiłem, skrypt dodałem do custom. Ta cała konfiguracja w /etc/default/grub jest do niczego, zupełnie nie wiadomo co wpisać. Najlepiej wszystko robić bezpośrednio na skryptach konfiguracyjnych w /etc/grub.d i trzymać się daleko od dokumentacji, która tylko jeszcze bardziej miesza.

Awatar użytkownika
KeFaS
Beginner
Posty: 368
Rejestracja: 22 października 2008, 02:01
Lokalizacja: Gdańsk

Post autor: KeFaS » 29 września 2009, 00:44

Po ostatniej aktualizacji, po której niestety też zdecydowałem się zainstalować GRUB2 i walczyłem z nim prawię godzinę, wróciłem do grub-legacy. Moim zdaniem bezsensem jest używać czegoś co ma tak beznadziejne wsparcie no i w sumie po co zmieniać coś co działa dobrze (no może do obsługi ext4, ale akurat mi to niepotrzebne)?

Awatar użytkownika
raven18
Beginner
Posty: 134
Rejestracja: 12 maja 2009, 11:29
Lokalizacja: /home

Post autor: raven18 » 29 września 2009, 20:23

Jeszcze co do tego gruba, gdyby ktoś miał problemy i trafił na mój temat.
Wartości najlepiej dopisywać jest do /etc/grub.d/40_custom

Kod: Zaznacz cały

# Boot automatically after 30 secs.
set timeout=30
Ile czasu ma być widoczne menu wyboru systemu

Kod: Zaznacz cały

# By default, boot the first entry.
set default=0
Ustawiamy system, który chcemy by nam się automatycznie uruchamiał (podobnie w grub1)

Kod: Zaznacz cały

# Change the colors.
menuentry "Change the colors" {
	set menu_color_normal=light-green/brown
	set menu_color_highlight=red/blue
}
Kolory menu tekstowego, sam mam standardowo, szary + czerń

Kod: Zaznacz cały

set menu_color_normal=light-gray/black
set menu_color_highlight=black/light-gray 

Kod: Zaznacz cały

echo -n "Press `ESC' to enter the menu... "
if sleep --verbose --interruptible 3 ; then
  set timeout=0
fi
Wpis dla hiddenmenu

Kod: Zaznacz cały

menuentry "Debian GNU/Linux, Linux 2.6.30-1-amd64" {
	insmod reiserfs
	set root=(hd0,5)
	search --no-floppy --fs-uuid --set 7c202321-7c9a-4160-9c1c-6ebb1dc2933c
	linux	/boot/vmlinuz-2.6.30-1-amd64 root=UUID=7c202321-7c9a-4160-9c1c-6ebb1dc2933c ro quiet  
	initrd	/boot/initrd.img-2.6.30-1-amd64
}

Przykładowy wpis do ładowania Linuksa, UUID-y sprawdza się za pomocą:

Kod: Zaznacz cały

ls -l /dev/disk/by-uuid/

Kod: Zaznacz cały

menuentry "Windows Vista/Longhorn (loader) (on /dev/sda1)" {
	insmod ntfs
	set root=(hd0,1)
	search --no-floppy --fs-uuid --set 885847ac58479838
	drivemap -s (hd0) ${root}
	chainloader +1
}
Dla Windowsa - nie testowane, ale powinno być dobrze.
Po skończonej edycji jako root:

Kod: Zaznacz cały

update-grub
i

Kod: Zaznacz cały

reboot
Instalacja/naprawa gruba:
http://grub.enbug.org/Grub2LiveCdInstallGuide

Awatar użytkownika
darkwater
Junior Member
Posty: 828
Rejestracja: 25 stycznia 2007, 14:01
Lokalizacja: Częstochowa

Post autor: darkwater » 29 września 2009, 21:03

Jeśli na dysku masz inne systemy, i chciałbyś je widzieć "automatycznie" w menu grub2, zainstaluj

Kod: Zaznacz cały

apt-get install os-prober
lub:

Kod: Zaznacz cały

aptitude install os-prober
UUIDy możesz sprawdzić za pomocą polecenia:

Kod: Zaznacz cały

blkid

konju009
Posty: 70
Rejestracja: 26 czerwca 2006, 22:23
Lokalizacja: Gdynia (Polska)

Grub2 konfiguracja

Post autor: konju009 » 10 października 2009, 19:26

Dziś próbowałem zmienić ustawienia gruba2, w tym celu jako root edytowałem plik /boot/grub/grub.cfg

Zmieniłem wartość w:

Kod: Zaznacz cały

set default
oraz w:code]set gfxmode=640x480[/code] Ustawiłem:

Kod: Zaznacz cały

set gfxmode=1440x900
i zapisałem zmiany.

Potem jako root wpisałem:

Kod: Zaznacz cały

grub-update
ale nie zaobserwowałem żadnych zmian.

Co zrobiłem źle lub czego nie zrobiłem?

Awatar użytkownika
gruby
Beginner
Posty: 158
Rejestracja: 03 maja 2009, 03:41
Lokalizacja: Łódź

Post autor: gruby » 10 października 2009, 19:58

Edytujesz jako root

Kod: Zaznacz cały

/etc/grub.d/00_header
szukasz ścieżki
if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=640x480 ; fi
i zmieniasz na

Kod: Zaznacz cały

if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1440x900 ; fi
potem

Kod: Zaznacz cały

grub-update
powinno być dobrze ;-)

ArnVaker

Post autor: ArnVaker » 10 października 2009, 20:30

gruby pisze:

Kod: Zaznacz cały

grub-update
Czyli w nowym grubie zamiast polecenia:

Kod: Zaznacz cały

update-grub
jest:

Kod: Zaznacz cały

grub-update
Co to komu przeszkadzało? Eh, jakoś nie mogę się do niego przekonać.

konju009
Posty: 70
Rejestracja: 26 czerwca 2006, 22:23
Lokalizacja: Gdynia (Polska)

Post autor: konju009 » 10 października 2009, 20:33

Dziękuję za odpowiedź, działa ale nie o to mi chodziło chciałbym żeby rozdzielczość ekranu podczas ładowania Debiana była wyższa. W starym grubie dało się to zrobić.

budzigniew
Posty: 83
Rejestracja: 07 maja 2008, 11:29

Post autor: budzigniew » 11 października 2009, 14:57

Mozna to tez zrobić za pomocą

Kod: Zaznacz cały

update-grub2
konju009, w /etc/grub.d/10_linux musisz znalezc linijke

Kod: Zaznacz cały

linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro $2
i po ro dodac

Kod: Zaznacz cały

vga=xxx
gdzie "xxx" to tryb VGA.

Po tym system będzie krzyczał, że to przestarzała forma zmiany rozdzielczości, ale na razie nie chciało mi się szukać, jak to zrobić w nowej.

I jeszcze tabelka.

Awatar użytkownika
kodzik
Beginner
Posty: 175
Rejestracja: 16 listopada 2007, 16:11
Lokalizacja: Sieradz

Post autor: kodzik » 11 października 2009, 15:30

W /etc/default/grub

Zmieniasz wpis

Kod: Zaznacz cały

GRUB_GFXMODE=
i po = dajesz rozdzielczość, jaką chcesz mieć w grubie

By zmienić rozdzielczość konsoli to w /etc/default/grub zmieniasz wpis:

Kod: Zaznacz cały

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
i tutaj dopisz po spacji vga=792 i daj

Kod: Zaznacz cały

update-grub

ODPOWIEDZ