Grub 2: unnötige Einträge entfernen

Direkte Linux-Programmierung, POSIX
Antworten
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Grub 2: unnötige Einträge entfernen

Beitrag von cloidnerux » Sa Sep 01, 2012 5:13 pm

Ich habe heute mal eben schnell(neue SSD) mein Fedora neu aufgesetzt und durch eine unglückliche Gegebenheit unnötige Einträge im Bootloader(Grub2). Diese möchte ich nun entfernen. Internet hat zwar 1000 andere Foren, wobei aber die meisten nur sagen, dass man unnötige Kernel entfernen soll. Nutzt mir nix.
Wie mache ich es also?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Grub 2: unnötige Einträge entfernen

Beitrag von fat-lobyte » Sa Sep 01, 2012 5:27 pm

Zuerst unnötige Kernel entfernen (bitte mit dem Paketmanager!!!)

Und dann einfach als root:

Code: Alles auswählen

grub2-mkconfig -o /boot/grub2/grub.cfg
Du kannst übrigens ein paar Einstellungen für grub2 in /etc/default/grub setzen.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Grub 2: unnötige Einträge entfernen

Beitrag von cloidnerux » Sa Sep 01, 2012 10:11 pm

Zuerst unnötige Kernel entfernen (bitte mit dem Paketmanager!!!)
Da liegt das Problem. Diese Kernel gibt es nicht. Problem war, dass während der Installation die alte HDD über eine HDD-Dock und USB am Computer hingen und die Partitionen als lauffähige Systempartitionen erkannt wurden und damit in der Liste von Grub landeten. Diese sollen nun weg.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Grub 2: unnötige Einträge entfernen

Beitrag von fat-lobyte » Sa Sep 01, 2012 10:23 pm

Achso. Na egal, grub2-mkconfig interessiert sich nur für die vmlinuz-Dateien die es tatsächlich finden kann. Hast dus schon ausgeführt? Was ist das ergebnis?
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Grub 2: unnötige Einträge entfernen

Beitrag von cloidnerux » Sa Sep 01, 2012 10:34 pm

Hab es mal verschoben, was hat es unter Forum zu suchen(Schande über mich)
Achso. Na egal, grub2-mkconfig interessiert sich nur für die vmlinuz-Dateien die es tatsächlich finden kann. Hast dus schon ausgeführt? Was ist das ergebnis?
Immer noch das selbe. Es hat die anderen Systeme wieder übernommen, obwohl sie nicht existieren.
Es handelt sich um 2 Windows Partitionen und eine Linux Partition auf /dev/sdc1:

Code: Alles auswählen

 sudo grub2-mkconfig
Streifen Sie Ihren rechten Zeigefinger über UPEK Eikon 2
grub.cfg wird erstellt …
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-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="${saved_entry}"

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

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 load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod lvm
insmod ext2
set root='lvm/vg_jack--pc-lv_root'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='lvm/vg_jack--pc-lv_root'  6a928ed3-8d96-4800-957f-05b2d7bc04c3
else
  search --no-floppy --fs-uuid --set=root 6a928ed3-8d96-4800-957f-05b2d7bc04c3
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=de_DE
  insmod gettext
fi
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
Linux-Abbild gefunden: /boot/vmlinuz-3.5.2-3.fc17.x86_64
initrd-Abbild gefunden: /boot/initramfs-3.5.2-3.fc17.x86_64.img
menuentry 'Fedora' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6a928ed3-8d96-4800-957f-05b2d7bc04c3' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos3'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  139ca7db-c434-44d6-a133-6a54e42cfa26
	else
	  search --no-floppy --fs-uuid --set=root 139ca7db-c434-44d6-a133-6a54e42cfa26
	fi
	echo	'Linux 3.5.2-3.fc17.x86_64 wird geladen …'
	linux	/vmlinuz-3.5.2-3.fc17.x86_64 root=/dev/mapper/vg_jack--pc-lv_root ro rd.md=0 rd.dm=0 SYSFONT=True  KEYTABLE=de rd.lvm.lv=vg_jack-pc/lv_swap rd.lvm.lv=vg_jack-pc/lv_root rd.luks=0 LANG=en_US.UTF-8 rhgb quiet 
	echo	'Initiale Ramdisk wird geladen …'
	initrd	/initramfs-3.5.2-3.fc17.x86_64.img
}
submenu 'Erweiterte Optionen für Fedora' $menuentry_id_option 'gnulinux-advanced-6a928ed3-8d96-4800-957f-05b2d7bc04c3' {
	menuentry 'Fedora, mit Linux 3.5.2-3.fc17.x86_64' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.5.2-3.fc17.x86_64-advanced-6a928ed3-8d96-4800-957f-05b2d7bc04c3' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos3'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  139ca7db-c434-44d6-a133-6a54e42cfa26
		else
		  search --no-floppy --fs-uuid --set=root 139ca7db-c434-44d6-a133-6a54e42cfa26
		fi
		echo	'Linux 3.5.2-3.fc17.x86_64 wird geladen …'
		linux	/vmlinuz-3.5.2-3.fc17.x86_64 root=/dev/mapper/vg_jack--pc-lv_root ro rd.md=0 rd.dm=0 SYSFONT=True  KEYTABLE=de rd.lvm.lv=vg_jack-pc/lv_swap rd.lvm.lv=vg_jack-pc/lv_root rd.luks=0 LANG=en_US.UTF-8 rhgb quiet 
		echo	'Initiale Ramdisk wird geladen …'
		initrd	/initramfs-3.5.2-3.fc17.x86_64.img
	}
	menuentry 'Fedora, mit Linux 3.5.2-3.fc17.x86_64 (Wiederherstellungsmodus)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.5.2-3.fc17.x86_64-recovery-6a928ed3-8d96-4800-957f-05b2d7bc04c3' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos3'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  139ca7db-c434-44d6-a133-6a54e42cfa26
		else
		  search --no-floppy --fs-uuid --set=root 139ca7db-c434-44d6-a133-6a54e42cfa26
		fi
		echo	'Linux 3.5.2-3.fc17.x86_64 wird geladen …'
		linux	/vmlinuz-3.5.2-3.fc17.x86_64 root=/dev/mapper/vg_jack--pc-lv_root ro single rd.md=0 rd.dm=0 SYSFONT=True  KEYTABLE=de rd.lvm.lv=vg_jack-pc/lv_swap rd.lvm.lv=vg_jack-pc/lv_root rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
		echo	'Initiale Ramdisk wird geladen …'
		initrd	/initramfs-3.5.2-3.fc17.x86_64.img
	}
Linux-Abbild gefunden: /boot/vmlinuz-3.3.4-5.fc17.x86_64
initrd-Abbild gefunden: /boot/initramfs-3.3.4-5.fc17.x86_64.img
	menuentry 'Fedora, mit Linux 3.3.4-5.fc17.x86_64' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.3.4-5.fc17.x86_64-advanced-6a928ed3-8d96-4800-957f-05b2d7bc04c3' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos3'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  139ca7db-c434-44d6-a133-6a54e42cfa26
		else
		  search --no-floppy --fs-uuid --set=root 139ca7db-c434-44d6-a133-6a54e42cfa26
		fi
		echo	'Linux 3.3.4-5.fc17.x86_64 wird geladen …'
		linux	/vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/mapper/vg_jack--pc-lv_root ro rd.md=0 rd.dm=0 SYSFONT=True  KEYTABLE=de rd.lvm.lv=vg_jack-pc/lv_swap rd.lvm.lv=vg_jack-pc/lv_root rd.luks=0 LANG=en_US.UTF-8 rhgb quiet 
		echo	'Initiale Ramdisk wird geladen …'
		initrd	/initramfs-3.3.4-5.fc17.x86_64.img
	}
	menuentry 'Fedora, mit Linux 3.3.4-5.fc17.x86_64 (Wiederherstellungsmodus)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.3.4-5.fc17.x86_64-recovery-6a928ed3-8d96-4800-957f-05b2d7bc04c3' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos3'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  139ca7db-c434-44d6-a133-6a54e42cfa26
		else
		  search --no-floppy --fs-uuid --set=root 139ca7db-c434-44d6-a133-6a54e42cfa26
		fi
		echo	'Linux 3.3.4-5.fc17.x86_64 wird geladen …'
		linux	/vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/mapper/vg_jack--pc-lv_root ro single rd.md=0 rd.dm=0 SYSFONT=True  KEYTABLE=de rd.lvm.lv=vg_jack-pc/lv_swap rd.lvm.lv=vg_jack-pc/lv_root rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
		echo	'Initiale Ramdisk wird geladen …'
		initrd	/initramfs-3.3.4-5.fc17.x86_64.img
	}
}

### 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_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
Windows 7 (loader) auf /dev/sda1 gefunden
menuentry 'Windows 7 (loader) (auf /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-C4A0F1B3A0F1ABD4' {
	insmod part_msdos
	insmod ntfs
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  C4A0F1B3A0F1ABD4
	else
	  search --no-floppy --fs-uuid --set=root C4A0F1B3A0F1ABD4
	fi
	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  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
erledigt
Edit: Geholfen hat

Code: Alles auswählen

sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Grub 2: unnötige Einträge entfernen

Beitrag von cloidnerux » Mo Sep 03, 2012 5:21 pm

So, ein zusätzliches Problem das ich mit meinem absurden kram hatte war, dass Fedora die alte SWAP-parition erkannt und in fstab eingebunden hatte, diese aber nach entfernen der Platte von USB nicht mehr da war und damit hat es den start um ne Minute verzögert, weil Fedora nach der Partition suchte.
Nach auskommentieren des Eintrages in fstab kam ich von über eine Minute auf 12s.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Grub 2: unnötige Einträge entfernen

Beitrag von fat-lobyte » Mo Sep 03, 2012 8:36 pm

cloidnerux hat geschrieben:So, ein zusätzliches Problem das ich mit meinem absurden kram hatte war, dass Fedora die alte SWAP-parition erkannt und in fstab eingebunden hatte, diese aber nach entfernen der Platte von USB nicht mehr da war und damit hat es den start um ne Minute verzögert, weil Fedora nach der Partition suchte.
Nach auskommentieren des Eintrages in fstab kam ich von über eine Minute auf 12s.
Sehr gut. Bei den 12s dankst du am besten systemd, das ist das Killer-Initsystem das Upstart (und sysv-init sowieso) um Längen schlägt.

Zum anderen Problem: hast du alle überflüssigen Kernel schon gelöscht? Ich frage mich gerade wo grub2-mkconfig überhaupt die Infos zu den Kerneln herhat.

Kanns sein dass grub2-mkconfig sich die alte grub.cfg noch reinzieht? Versuch die mal umzubennen ( :!: :!: :!: ACHTUNG :!: :!: :!: System kann unbootbar werden wenn du sie nicht wiederherstellst :!: ) und dann neu zu erstellen.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Grub 2: unnötige Einträge entfernen

Beitrag von cloidnerux » Mo Sep 03, 2012 8:48 pm

Sehr gut. Bei den 12s dankst du am besten systemd, das ist das Killer-Initsystem das Upstart (und sysv-init sowieso) um Längen schlägt.
12s kommen eher von der SSD, die jetzt verbaut ist. Ich würde aber noch gerne optimieren wenn es geht^^
Zum anderen Problem: hast du alle überflüssigen Kernel schon gelöscht? Ich frage mich gerade wo grub2-mkconfig überhaupt die Infos zu den Kerneln herhat.
Nein. Vergiss das. Die Situation war folgende:
Ich habe die alte Festplatte meines Notebooks raus und die neue rein. Hab dann Windows installiert und per USB-Dock die alte HDD eingebunden, um die Daten zu kopieren, weil ich keine Lust hatte, iwas zu sichern.
Dann hab ich Fedora installiert und die Dock war immer noch angeschlossen, mit dem alten System, ebenfalls aus Windows und fedora. Während der Installation hat fedora das als normale Festplatte erkannt und hat die Bootfähigen Partitionen mit aufgenommen und sich über den zusätzlichen Swap gefreut und ihn mit eingebunden. Nun hab ich aber die Dock entfernt, weil ich es nicht mehr brauchte und dann fingen die Probleme an und eben auch die zusätzlichen Booteinträge.
Die Booteinträge habe ich nun durch grub2-mkconfig gelöst und die Bootverzögerung durch entfernen des Swaps.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Grub 2: unnötige Einträge entfernen

Beitrag von fat-lobyte » Mo Sep 03, 2012 9:20 pm

Achso. Ja sag das doch gleich, dass es schon gelöst ist!

Mein erster Tip war ja grub2-mkconfig :-)

Na egal, hauptsache es funktioniert. Viel Spaß mit deinem System!
Haters gonna hate, potatoes gonna potate.

Antworten