Edycja grub.cfg - opcje w GRUB'ie pozostają bez zmian


(Dziara667645121) #1

Witam,

problem mój dotyczy edycji pliku grub.cfg

Zawartość pliku to:

#

# DO NOT EDIT THIS FILE

#

# It is automatically generated by /usr/sbin/grub-mkconfig using templates

# from /etc/grub.d and settings from /etc/default/grub

#


### BEGIN /etc/grub.d/00_header ###

if [-s $prefix/grubenv]; then

  load_env

fi

set default="0"

if [${prev_saved_entry}]; then

  set saved_entry=${prev_saved_entry}

  save_env saved_entry

  set prev_saved_entry=

  save_env prev_saved_entry

  set boot_once=true

fi


function savedefault {

  if [-z ${boot_once}]; then

    saved_entry=${chosen}

    save_env saved_entry

  fi

}


function recordfail {

  set recordfail=1

  if [-n ${have_grubenv}]; then if [-z ${boot_once}]; then save_env recordfail; fi; fi

}

insmod ext2

set root='(hd0,9)'

search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

if loadfont /usr/share/grub/unicode.pf2 ; then

  set gfxmode=640x480

  insmod gfxterm

  insmod vbe

  if terminal_output gfxterm ; then true ; else

    # For backward compatibility with versions of terminal.mod that don't

    # understand terminal_output

    terminal gfxterm

  fi

fi

insmod ext2

set root='(hd0,9)'

search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

set locale_dir=($root)/boot/grub/locale

set lang=pl

insmod gettext

if [${recordfail} = 1]; then

  set timeout=-1

else

  set timeout=10

fi

### END /etc/grub.d/00_header ###


### BEGIN /etc/grub.d/05_debian_theme ###

set menu_color_normal=white/black

set menu_color_highlight=black/light-gray

### END /etc/grub.d/05_debian_theme ###


### BEGIN /etc/grub.d/10_linux ###

menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	linux	/boot/vmlinuz-2.6.32-24-generic root=UUID=7eb4bf9c-d5e2-428d-8983-985aec865e61 ro quiet splash

	initrd	/boot/initrd.img-2.6.32-24-generic

}

menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-24-generic (tryb ratunkowy)' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	echo	'Wczytywanie systemu Linux 2.6.32-24-generic...'

	linux	/boot/vmlinuz-2.6.32-24-generic root=UUID=7eb4bf9c-d5e2-428d-8983-985aec865e61 ro single 

	echo	'Wczytywanie początkowego dysku RAM...'

	initrd	/boot/initrd.img-2.6.32-24-generic

}

menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	linux	/boot/vmlinuz-2.6.32-23-generic root=UUID=7eb4bf9c-d5e2-428d-8983-985aec865e61 ro quiet splash

	initrd	/boot/initrd.img-2.6.32-23-generic

}

menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-23-generic (tryb ratunkowy)' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	echo	'Wczytywanie systemu Linux 2.6.32-23-generic...'

	linux	/boot/vmlinuz-2.6.32-23-generic root=UUID=7eb4bf9c-d5e2-428d-8983-985aec865e61 ro single 

	echo	'Wczytywanie początkowego dysku RAM...'

	initrd	/boot/initrd.img-2.6.32-23-generic

}

menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	linux	/boot/vmlinuz-2.6.32-22-generic root=UUID=7eb4bf9c-d5e2-428d-8983-985aec865e61 ro quiet splash

	initrd	/boot/initrd.img-2.6.32-22-generic

}

menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-22-generic (tryb ratunkowy)' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	echo	'Wczytywanie systemu Linux 2.6.32-22-generic...'

	linux	/boot/vmlinuz-2.6.32-22-generic root=UUID=7eb4bf9c-d5e2-428d-8983-985aec865e61 ro single 

	echo	'Wczytywanie początkowego dysku RAM...'

	initrd	/boot/initrd.img-2.6.32-22-generic

}

### END /etc/grub.d/10_linux ###


### BEGIN /etc/grub.d/20_memtest86+ ###

menuentry "Memory test (memtest86+)" {

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	linux16	/boot/memtest86+.bin

}

menuentry "Memory test (memtest86+, serial console 115200)" {

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	linux16	/boot/memtest86+.bin console=ttyS0,115200n8

}

### END /etc/grub.d/20_memtest86+ ###


### BEGIN /etc/grub.d/30_os-prober ###

menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {

	insmod ntfs

	set root='(hd0,1)'

	search --no-floppy --fs-uuid --set 2e7c7beb7c7babe9

	drivemap -s (hd0) ${root}

	chainloader +1

}

### END /etc/grub.d/30_os-prober ###


### BEGIN /etc/grub.d/40_custom ###

# This file provides an easy way to add custom menu entries. Simply type the

# menu entries you want to add after this comment. Be careful not to change

# the 'exec tail' line above.

### END /etc/grub.d/40_custom ###

Tak więc opcje w Grubie to:

-Ubuntu, za pomocą systemu Linux 2.6.32-24-generic

-Ubuntu, za pomocą systemu Linux 2.6.32-24-generic (tryb ratunkowy)

-Ubuntu, za pomocą systemu Linux 2.6.32-23-generic'

-Ubuntu, za pomocą systemu Linux 2.6.32-23-generic (tryb ratunkowy)

-Ubuntu, za pomocą systemu Linux 2.6.32-22-generic

-Ubuntu, za pomocą systemu Linux 2.6.32-22-generic (tryb ratunkowy)

-Memory test (memtest86+)

-Memory test (memtest86+, serial console 115200)

-Microsoft Windows XP Home Edition (on /dev/sda1)

Chciałbym aby zostały tylko opcje:

-Ubuntu, za pomocą systemu Linux 2.6.32-24-generic

-Ubuntu, za pomocą systemu Linux 2.6.32-24-generic (tryb ratunkowy)

-Microsoft Windows XP Home Edition (on /dev/sda1)

Próbowałem edytować plik:

#

# DO NOT EDIT THIS FILE

#

# It is automatically generated by /usr/sbin/grub-mkconfig using templates

# from /etc/grub.d and settings from /etc/default/grub

#


### BEGIN /etc/grub.d/00_header ###

if [-s $prefix/grubenv]; then

  load_env

fi

set default="0"

if [${prev_saved_entry}]; then

  set saved_entry=${prev_saved_entry}

  save_env saved_entry

  set prev_saved_entry=

  save_env prev_saved_entry

  set boot_once=true

fi


function savedefault {

  if [-z ${boot_once}]; then

    saved_entry=${chosen}

    save_env saved_entry

  fi

}


function recordfail {

  set recordfail=1

  if [-n ${have_grubenv}]; then if [-z ${boot_once}]; then save_env recordfail; fi; fi

}

insmod ext2

set root='(hd0,9)'

search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

if loadfont /usr/share/grub/unicode.pf2 ; then

  set gfxmode=640x480

  insmod gfxterm

  insmod vbe

  if terminal_output gfxterm ; then true ; else

    # For backward compatibility with versions of terminal.mod that don't

    # understand terminal_output

    terminal gfxterm

  fi

fi

insmod ext2

set root='(hd0,9)'

search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

set locale_dir=($root)/boot/grub/locale

set lang=pl

insmod gettext

if [${recordfail} = 1]; then

  set timeout=-1

else

  set timeout=10

fi

### END /etc/grub.d/00_header ###


### BEGIN /etc/grub.d/05_debian_theme ###

set menu_color_normal=white/black

set menu_color_highlight=black/light-gray

### END /etc/grub.d/05_debian_theme ###


### BEGIN /etc/grub.d/10_linux ###

menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	linux	/boot/vmlinuz-2.6.32-24-generic root=UUID=7eb4bf9c-d5e2-428d-8983-985aec865e61 ro quiet splash

	initrd	/boot/initrd.img-2.6.32-24-generic

}

menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-24-generic (tryb ratunkowy)' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	insmod ext2

	set root='(hd0,9)'

	search --no-floppy --fs-uuid --set 7eb4bf9c-d5e2-428d-8983-985aec865e61

	echo	'Wczytywanie systemu Linux 2.6.32-24-generic...'

	linux	/boot/vmlinuz-2.6.32-24-generic root=UUID=7eb4bf9c-d5e2-428d-8983-985aec865e61 ro single 

	echo	'Wczytywanie początkowego dysku RAM...'

	initrd	/boot/initrd.img-2.6.32-24-generic

}


### END /etc/grub.d/10_linux ###a


### BEGIN /etc/grub.d/30_os-prober ###

menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {

	insmod ntfs

	set root='(hd0,1)'

	search --no-floppy --fs-uuid --set 2e7c7beb7c7babe9

	drivemap -s (hd0) ${root}

	chainloader +1

}

### END /etc/grub.d/30_os-prober ###


### BEGIN /etc/grub.d/40_custom ###

# This file provides an easy way to add custom menu entries. Simply type the

# menu entries you want to add after this comment. Be careful not to change

# the 'exec tail' line above.

### END /etc/grub.d/40_custom ###

Jednak nic to nie dało. Grub dalej ma opcje te co poprzednio.

Powie ktoś jak poprawnie zedytować grub.cfg?

Nie wiem czy to ma jakieś znaczenie, ale korzystam z BURG'a.


(tomnatom) #2

Jestem początkujący w Ubuntu, ala ja zrobiłem tak :

  1. Odinstalowałem Linux 2.6.32-22-generic i Linux 2.6.32-23-generic

lub

  1. na początku i końcu linii, którą chciałem wyeliminować wpisałem ##

Plik do edycji otwierałem komendą "sudo nano boot/grub/grub.cfg"


(stanek.94) #3

Gruba zedytowałeś dobrze, ale chyba ci sie nie zapisało. Musisz zmienić chmod na 777 i dopiero wtedy edytować i zapisać

jeśli chcesz w konsoli to

cd /boot/grub

chmod 777 grub.cfg

gedit grub.cfg


(roobal) #4

Grub.cfg w żadnym wypadku się nie edytuje, ponieważ po każdej aktualizacji jądra bądź gruba lista powróci do stanu obecnego, wszystkie zmiany dokonuje się w /etc/default/grub a po dokonanych zmianach aktualizujesz konfigurację Gruba a zarazem plik grub.cfg poleceniem:

sudo update-grub

Tak poza tym Ty chcesz się pozbyć z listy starych wersji jąder, tylko zamiast edytować listę Gruba to po prostu odinstaluj stare wersje, które i tak zalegają na dysku a lista sama się zaktualizuje do takiego stanu jaki oczekujesz:

sudo apt-get remove linux-image-2.6.32-22-generic linux-headers-2.6.32.22 linux-headers-2.6.32-22-generic linux-image-2.6.32-23-generic linux-headers-2.6.32.23 linux-headers-2.6.32-23-generic

Pozdrawiam!


(Dziara667645121) #5

Zawartość pliku /etc/default/grub :

# If you change this file, run 'update-grub' afterwards to update

# /boot/grub/grub.cfg.


GRUB_DEFAULT=0

#GRUB_HIDDEN_TIMEOUT=0

GRUB_HIDDEN_TIMEOUT_QUIET=true

GRUB_TIMEOUT=10

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

GRUB_CMDLINE_LINUX=""


# Uncomment to disable graphical terminal (grub-pc only)

#GRUB_TERMINAL=console


# The resolution used on graphical terminal

# note that you can use only modes which your graphic card supports via VBE

# you can see them in real GRUB with the command `vbeinfo'

#GRUB_GFXMODE=640x480


# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux

#GRUB_DISABLE_LINUX_UUID=true


# Uncomment to disable generation of recovery mode menu entries

#GRUB_DISABLE_LINUX_RECOVERY="true"


# Uncomment to get a beep at grub start

#GRUB_INIT_TUNE="480 440 1"

Szczerze mówiąc nie mam pojęcia jak mogę ten plik zmienić aby było tak jak ja potrzebuje. Może w taki sposób?

#GRUB_DISABLE_LINUX_RECOVERY="true"

zmienić na:

#GRUB_DISABLE_LINUX_RECOVERY="false"

Na moje rozumowanie wyłączyło by to pokazywanie pozycji awaryjnej. Ale sam nie wiem... Usunąłem jądra, jednak jest problem. Nie mogę usunąć:

linux-headers-2.6.32.22

linux-headers-2.6.32.23

A po usunięciu pozostałych pozycji menu w grubie się nie zmienia. Dalej jest tyle samo opcji do wyboru.


(stanek.94) #6

bo musisz zrobić

sudo update-grub

pisałeś że nie możesz usunąć 22 i 23. Dlaczego? Co się wyświetla?


(roobal) #7

Kratka # oznacza komentarz a inaczej oznacza to, że linie z kratką nie są brane po uwagę, więc musisz ją odkomentować najpierw i ma zostać true , ponieważ tam jest disable , czyli wyłącz a skoro masz disable = false to znaczy to tyle co wyłącz=nieprawda, w skrócie nie wyłączasz tego. Więcej na ten temat pisałem tutaj lub tutaj

Jakieś błędy się pojawiły? Linux-headers-2.6.32.2*-generic się usunęły? Pokaż wynik polecenia:

ls -l /usr/src

Pozdrawiam!


(Dziara667645121) #8

sudo apt-get remove linux-headers-2.6.32.23:

Czytanie list pakietów... Gotowe

Budowanie drzewa zależności       

Odczyt informacji o stanie... Gotowe

E: Nie udało się odnaleźć pakietu linux-headers-2.6.32.23

Z tego co pamiętam tak. ls -l /usr/src

razem 20

drwxr-xr-x 24 root root 4096 2010-06-04 12:57 linux-headers-2.6.32-22

drwxr-xr-x 24 root root 4096 2010-07-02 09:05 linux-headers-2.6.32-23

drwxr-xr-x 24 root root 4096 2010-08-20 11:01 linux-headers-2.6.32-24

drwxr-xr-x 7 root root 4096 2010-08-20 11:01 linux-headers-2.6.32-24-generic

drwxr-xr-x 3 root root 4096 2010-05-07 15:19 nvidia-173-173.14.22

(roobal) #9

Zrobiłem mały błąd w poprzednim poleceniu, szkoda że to po prostu przekopiowałeś zamiast przeanalizować no ale nic się nie stało :wink: Powinno być linux-headers-2.6.32-22 i linux-headers-2.6.32-23 :wink:

sudo apt-get remove linux-headers-2.6.32-22 linux-headers-2.6.32-23

Pozdrawiam!


(Dziara667645121) #10

Moja analiza i tak by pewnie nic nie dała :wink:

Wykonałem te polecenia, które podałeś, zaktualizowałem GRUB'a i.. Bez zmian...


(mati75) #11

Daj wynik:

dpkg -l | grep 'linux-image'

(Dziara667645121) #12
rc linux-image-2.6.32-22-generic 2.6.32-22.36 Linux kernel image for version 2.6.32 on x86

rc linux-image-2.6.32-23-generic 2.6.32-23.37 Linux kernel image for version 2.6.32 on x86

ii linux-image-2.6.32-24-generic 2.6.32-24.41 Linux kernel image for version 2.6.32 on x86

ii linux-image-generic 2.6.32.24.25 Generic Linux kernel image

(roobal) #13

No to jeszcze usuń linux-image-2.6.32-22-generic i linux-image-2.6.32-23-generic.

Pozdrawiam!


(Dziara667645121) #14

O to komunikat jaki dostałem:

maggot@maggot-desktop:~$ sudo apt-get remove linux-image-2.6.32-22-generic

[sudo] password for maggot: 

Czytanie list pakietów... Gotowe

Budowanie drzewa zależności       

Odczyt informacji o stanie... Gotowe

Pakiet linux-image-2.6.32-22-generic nie jest zainstalowany, więc nie zostanie usunięty.

0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 35 nieaktualizowanych.

maggot@maggot-desktop:~$ sudo apt-get remove linux-image-2.6.32-23-generic

Czytanie list pakietów... Gotowe

Budowanie drzewa zależności       

Odczyt informacji o stanie... Gotowe

Pakiet linux-image-2.6.32-23-generic nie jest zainstalowany, więc nie zostanie usunięty.

0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 35 nieaktualizowanych.

maggot@maggot-desktop:~$

(mati75) #15

Spróbuj dać

sudo update-grub

i zobacz czy się coś zmieni.


(Dziara667645121) #16

Zrobiłem to już wcześniej, jednak teraz powtórzyłem, oto wynik z konsoli:

Generating grub.cfg ...

Found linux image: /boot/vmlinuz-2.6.32-24-generic

Found initrd image: /boot/initrd.img-2.6.32-24-generic

Found memtest86+ image: /boot/memtest86+.bin

Found Microsoft Windows XP Home Edition on /dev/sda1

done

Więc w niej wydaje się wszystko w porządku(chyba?). Jednak dalej pozostaje tyle samo pozycji w Grubie, o to zdjęcie:


(inzaghi89) #17
cd /boot

Usuń tam pliki, które zawierają te wersje kernela, których nie używasz/usunąłeś. Następnie:

update-grub2

Sprawdź.


(roobal) #18

To nie jest przypadkiem Burg? Nie miałem z tym wynalazkiem do czynienia ale o ile się nie mylę to powinieneś wykonać polecenie:

sudo update-burg

Aby zaktualizować jego konfigurację.

Pozdrawiam!


(Dziara667645121) #19

Tak, jest to Burg, wspomniałem o tym przecież w pierwszym poście:

Komenda, którą podałeś roobal pomogła, jestem ci bardzo wdzięczny :slight_smile:


(roobal) #20

Widocznie tego nie zauważyłem :slight_smile:

Nie ma sprawy :slight_smile:

Pozdrawiam!