Jak edytować os_proober w Grub2?


(Marcinwierzbicki96) #1

Mam pytanie, a mianowicie: Mam zainstalowany system Windows Vista i

Linuxa Ubuntu 12.04 LTS na laptopie Acer. Podczas bootowania wyświetla mi się lista wyboru systemów: w pierwszej kolejności mam windows vista recovery loader(dev/sda1)

następny jako drugi mam windows vista loader(dev/sda2) a kolejne to linux. I teraz co mam zrobić żeby normalny windows był pierwszy a nie recovery jak dotychczas. Jak zmienić wpisy w tym OS_Prober? Proszę o pomoc :o


(roobal) #2

Nie w os_prober, tylko w pliku konfiguracji Gruba. Edytujesz plik /etc/default/grub i zmieniasz wartość GRUB_DEFAULT, liczysz od 0, czyli zero to pierwsza pozycja, jeden druga itd.


(cinkibolek) #3

jak od zera to 0 pierwsza, 1 druga.

A nie 2 druga.


(Marcinwierzbicki96) #4

No tak tyle że u mnie wygląda to tak GRUB_DEFAULT=0 a i tak pierwsze mam windows vista recovery a nie windows vista. zmieniając tę wartośc nawet na inne cyfry i akualizując gruba to cały czas pierwszy jest windows recover. Po aktualizacji gruba w konsoli wygląda to u mnie tak:

Generating grub.cfg ...

Found Windows Recovery Environment (loader) on /dev/sda1

Found Windows Vista (loader) on /dev/sda2

Found linux image: /boot/vmlinuz-3.2.0-32-generic-pae

Found initrd image: /boot/initrd.img-3.2.0-32-generic-pae

Found linux image: /boot/vmlinuz-3.2.0-31-generic-pae

Found initrd image: /boot/initrd.img-3.2.0-31-generic-pae


(marcin82) #5

Podaj wynik polecenia:

cat /boot/grub/grub.cfg

(Marcinwierzbicki96) #6

Wygląda to tak po wpisaniu polecenia w konsoli:

# DO NOT EDIT THIS FILE

#

# It is automatically generated by 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

  set have_grubenv=true

  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

}


function load_video {

  insmod vbe

  insmod vga

  insmod video_bochs

  insmod video_cirrus

}


insmod part_msdos

insmod ext2

set root='(hd0,msdos4)'

search --no-floppy --fs-uuid --set=root f5181a0b-d9e2-43d5-9a4d-e85d730aa71d

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

  set gfxmode=auto

  load_video

  insmod gfxterm

  insmod part_msdos

  insmod ext2

  set root='(hd0,msdos4)'

  search --no-floppy --fs-uuid --set=root f5181a0b-d9e2-43d5-9a4d-e85d730aa71d

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

  set lang=pl_PL

  insmod gettext

fi

terminal_output gfxterm

if ["${recordfail}" = 1]; then

  set timeout=-1

else

  set timeout=10

fi

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


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

function gfxmode {

	set gfxpayload="${1}"

	if ["${1}" = "keep"]; then

		set vt_handoff=vt.handoff=7

	else

		set vt_handoff=

	fi

}

if ["${recordfail}" != 1]; then

  if [-e ${prefix}/gfxblacklist.txt]; then

    if hwmatch ${prefix}/gfxblacklist.txt 3; then

      if [${match} = 0]; then

        set linux_gfx_mode=keep

      else

        set linux_gfx_mode=text

      fi

    else

      set linux_gfx_mode=text

    fi

  else

    set linux_gfx_mode=keep

  fi

else

  set linux_gfx_mode=text

fi

export linux_gfx_mode

if ["${linux_gfx_mode}" != "text"]; then load_video; fi

menuentry 'Ubuntu, za pomocą systemu Linux 3.2.0-33-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	gfxmode $linux_gfx_mode

	insmod gzio

	insmod part_msdos

	insmod ext2

	set root='(hd0,msdos4)'

	search --no-floppy --fs-uuid --set=root f5181a0b-d9e2-43d5-9a4d-e85d730aa71d

	linux	/boot/vmlinuz-3.2.0-33-generic-pae root=UUID=f5181a0b-d9e2-43d5-9a4d-e85d730aa71d ro quiet splash $vt_handoff

	initrd	/boot/initrd.img-3.2.0-33-generic-pae

}

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

	recordfail

	insmod gzio

	insmod part_msdos

	insmod ext2

	set root='(hd0,msdos4)'

	search --no-floppy --fs-uuid --set=root f5181a0b-d9e2-43d5-9a4d-e85d730aa71d

	echo	'Wczytywanie systemu Linux 3.2.0-33-generic-pae...'

	linux	/boot/vmlinuz-3.2.0-33-generic-pae root=UUID=f5181a0b-d9e2-43d5-9a4d-e85d730aa71d ro recovery nomodeset 

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

	initrd	/boot/initrd.img-3.2.0-33-generic-pae

}

submenu "Previous Linux versions" {

menuentry 'Ubuntu, za pomocą systemu Linux 3.2.0-31-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {

	recordfail

	gfxmode $linux_gfx_mode

	insmod gzio

	insmod part_msdos

	insmod ext2

	set root='(hd0,msdos4)'

	search --no-floppy --fs-uuid --set=root f5181a0b-d9e2-43d5-9a4d-e85d730aa71d

	linux	/boot/vmlinuz-3.2.0-31-generic-pae root=UUID=f5181a0b-d9e2-43d5-9a4d-e85d730aa71d ro quiet splash $vt_handoff

	initrd	/boot/initrd.img-3.2.0-31-generic-pae

}

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

	recordfail

	insmod gzio

	insmod part_msdos

	insmod ext2

	set root='(hd0,msdos4)'

	search --no-floppy --fs-uuid --set=root f5181a0b-d9e2-43d5-9a4d-e85d730aa71d

	echo	'Wczytywanie systemu Linux 3.2.0-31-generic-pae...'

	linux	/boot/vmlinuz-3.2.0-31-generic-pae root=UUID=f5181a0b-d9e2-43d5-9a4d-e85d730aa71d ro recovery nomodeset 

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

	initrd	/boot/initrd.img-3.2.0-31-generic-pae

}

}

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


### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###


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

menuentry "Memory test (memtest86+)" {

	insmod part_msdos

	insmod ext2

	set root='(hd0,msdos4)'

	search --no-floppy --fs-uuid --set=root f5181a0b-d9e2-43d5-9a4d-e85d730aa71d

	linux16	/boot/memtest86+.bin

}

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

	insmod part_msdos

	insmod ext2

	set root='(hd0,msdos4)'

	search --no-floppy --fs-uuid --set=root f5181a0b-d9e2-43d5-9a4d-e85d730aa71d

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

}

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


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

menuentry "Windows Recovery Environment (loader) (on /dev/sda1)" --class windows --class os {

	insmod part_msdos

	insmod ntfs

	set root='(hd0,msdos1)'

	search --no-floppy --fs-uuid --set=root 2AA8DB6CE49BED2A

	drivemap -s (hd0) ${root}

	chainloader +1

}

menuentry "Windows Vista (loader) (on /dev/sda2)" --class windows --class os {

	insmod part_msdos

	insmod ntfs

	set root='(hd0,msdos2)'

	search --no-floppy --fs-uuid --set=root 6E9C085E9C0822E7

	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 ###


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

if [-f $prefix/custom.cfg]; then

  source $prefix/custom.cfg;

fi

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

(roobal) #7

Pokaż jeszcze zawartość pliku /etc/default/grub.

A jak napisałem?


(Marcinwierzbicki96) #8

Dobra Dzięki za pomoc! Problem rozwiązany :smiley:


(roobal) #9

Podzielisz się tym rozwiązaniem?