Çözüldü grub-customzier alternatifleri

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Huso112

Hectopat
Katılım
26 Ocak 2021
Mesajlar
1.471
Makaleler
1
Çözümler
2
Merhabalar.

Başlıkta gördüğünüz soruya sebep olan hikaye şu:

Huso112 adlı kullanıcı ümit ve mutluluk dolu bir şekilde Debian'ı yükler. Debian yüklendikten sonra Arch fsck kısmında takılır (sddm arızası gibi değil. Harbiden takılıyor). Bunu görse de pes etmez ve her zaman sakladığı arch livecd'sini çalıştırıp Arch'ın grub'ına ayar çeker.

Fakat değişen olmaz. Bu yüzden Huso112 üzüntülü şekilde Debian'ı silip, kalan boş kısmı da Win10'a verir.

Bilgisayarı yeniden başlatıp fsck ekranında beklemeye başlar ve swap partisyonunda bir arıza oldğunu anlar. Hemen @OzgunP ile @ArchBtw arasında geçen diyaloğu hatırlar ve fstab'i düzeltir. Bundan sonra bilgisayarı yeniden başlatır ve düzen almadığını, yine aynı yerde takıldığını görür.

Bunun üzerinde arch livecd'sine yeniden davranır ve grub ile grub-customizer'ı sil-yeniden yükle yapar. grub-install ve grub-mkconfig yapan bu insan, mutlulukla düzelen sisteminin grub entrylerini düzenlemek için grub-customizer'i açar ki ne görsün! sildiği Gentoo ve Debian girdisi hala durar ve hemen bütün entryleri silip, grub-mkconfig çeker ve reboot atar.

Bilgisayarını açınca gördüğü grub konsol ekranı onu çok sinirlendirir ve grub-customizer'in nasıl grub'a sülük gibi yapıştığını anlar. Bunu anlaması birkaç reboot'a mâl olsa da ilk grub-customizer'ı, ondan sonra ise grub'ı silip, sadece grub'ı yükler. Bundan sonra grub-install ve grub-mkconfig komutlarnı çalıştırıp vanilla grub ekranında her şeyin normal olmasından haz duyarak Arch Linux'unu açar ve grub customizer'ın yerini tutacak bir şeyi kara kara düşünmeye durar.

Ondan sonra aklına Technopat'a konu açabileceği aklına gelir ve bu yazıyı yazar.

Kısacası sorum başlıkta.
 
Çözüm
/boot/grub/grub.cfg dosyasının yedeğini alın lütfen. Ayrıca elinizin altında Live USB olsun çünkü daha önce bu tarz bir düzenleme yapmadım ama muhtemelen işe yarıyordur.

Kod:
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-d66dbd53-8d5c-d701-902d-bd538d5cd701' {
 menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-d66dbd53-8d5c-d701-902d-bd538d5cd701' {
 load_video
 set gfxpayload=keep
 insmod gzio
 insmod part_gpt
 insmod ext2
 set root='hd0,gpt5'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 d66dbd53-8d5c-d701-902d-bd538d5cd701
 else
 search --no-floppy --fs-uuid --set=root d66dbd53-8d5c-d701-902d-bd538d5cd701
 fi
 echo 'Loading Linux linux ...'
 linux /boot/vmlinuz-linux root=UUID=d66dbd53-8d5c-d701-902d-bd538d5cd701 rw loglevel=3 quiet nvidia-drm.modeset=1
 echo 'Loading initial ramdisk ...'
 initrd /boot/intel-ucode.img /boot/initramfs-linux.img
 }
 menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-d66dbd53-8d5c-d701-902d-bd538d5cd701' {
 load_video
 set gfxpayload=keep
 insmod gzio
 insmod part_gpt
 insmod ext2
 set root='hd0,gpt5'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 d66dbd53-8d5c-d701-902d-bd538d5cd701
 else
 search --no-floppy --fs-uuid --set=root d66dbd53-8d5c-d701-902d-bd538d5cd701
 fi
 echo 'Loading Linux linux ...'
 linux /boot/vmlinuz-linux root=UUID=d66dbd53-8d5c-d701-902d-bd538d5cd701 rw loglevel=3 quiet nvidia-drm.modeset=1
 echo 'Loading initial ramdisk ...'
 initrd /boot/intel-ucode.img /boot/initramfs-linux-fallback.img
 }
}

Kısmını kesin ve ### BEGIN /etc/grub.d/30_os-prober_proxy ### kısmının altına ### BEGIN /etc/grub.d/10_linux ### ve ### END /etc/grub.d/10_linux ### yeni satırlar oluşturun ve yukarıdaki kestiğiniz kısmı bu iki satırın arasına yapıştırın.

Aşağıda attığıma benzer olacak, hatta aynısı bile olabilir. Kaydettikten sonra bilgisayarı yeniden başlatıp kontrol edebilirsiniz. Herhangi bir komut çalıştırmanıza gerek yok. Ama dediğim gibi yedeğini ve elinizin altında çalışan bir ortam bulundurmayı ihmal etmeyin ne olur ne olmaz diye.

Kod:
#
# 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 ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
 load_env
fi
if [ "${next_entry}" ] ; then
 set default="${next_entry}"
 set next_entry=
 save_env next_entry
 set boot_once=true
else
 set default="0"
fi

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_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 d66dbd53-8d5c-d701-902d-bd538d5cd701
else
 search --no-floppy --fs-uuid --set=root d66dbd53-8d5c-d701-902d-bd538d5cd701
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=tr_TR
 insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 d66dbd53-8d5c-d701-902d-bd538d5cd701
else
 search --no-floppy --fs-uuid --set=root d66dbd53-8d5c-d701-902d-bd538d5cd701
fi
insmod gfxmenu
loadfont ($root)/boot/grub/themes/ArchLinux/terminus-12.pf2
loadfont ($root)/boot/grub/themes/ArchLinux/terminus-14.pf2
loadfont ($root)/boot/grub/themes/ArchLinux/terminus-16.pf2
loadfont ($root)/boot/grub/themes/ArchLinux/terminus-18.pf2
loadfont ($root)/boot/grub/themes/ArchLinux/ubuntu_regular_17.pf2
loadfont ($root)/boot/grub/themes/ArchLinux/ubuntu_regular_20.pf2
insmod png
set theme=($root)/boot/grub/themes/ArchLinux/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
 set timeout_style=menu
 set timeout=15
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
 set timeout=15
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/01_grub-customizer_menu_color_helper ###
### END /etc/grub.d/01_grub-customizer_menu_color_helper ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d66dbd53-8d5c-d701-902d-bd538d5cd701' {
 load_video
 set gfxpayload=keep
 insmod gzio
 insmod part_gpt
 insmod ext2
 set root='hd0,gpt5'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 d66dbd53-8d5c-d701-902d-bd538d5cd701
 else
 search --no-floppy --fs-uuid --set=root d66dbd53-8d5c-d701-902d-bd538d5cd701
 fi
 echo 'Loading Linux linux ...'
 linux /boot/vmlinuz-linux root=UUID=d66dbd53-8d5c-d701-902d-bd538d5cd701 rw loglevel=3 quiet nvidia-drm.modeset=1
 echo 'Loading initial ramdisk ...'
 initrd /boot/intel-ucode.img /boot/initramfs-linux.img
}

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

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

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

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

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-B4DF-7E80' {
 insmod part_gpt
 insmod fat
 set root='hd0,gpt1'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 B4DF-7E80
 else
 search --no-floppy --fs-uuid --set=root B4DF-7E80
 fi
 chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###

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

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

### BEGIN /etc/grub.d/10_linux ###
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-d66dbd53-8d5c-d701-902d-bd538d5cd701' {
 menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-d66dbd53-8d5c-d701-902d-bd538d5cd701' {
 load_video
 set gfxpayload=keep
 insmod gzio
 insmod part_gpt
 insmod ext2
 set root='hd0,gpt5'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 d66dbd53-8d5c-d701-902d-bd538d5cd701
 else
 search --no-floppy --fs-uuid --set=root d66dbd53-8d5c-d701-902d-bd538d5cd701
 fi
 echo 'Loading Linux linux ...'
 linux /boot/vmlinuz-linux root=UUID=d66dbd53-8d5c-d701-902d-bd538d5cd701 rw loglevel=3 quiet nvidia-drm.modeset=1
 echo 'Loading initial ramdisk ...'
 initrd /boot/intel-ucode.img /boot/initramfs-linux.img
 }
 menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-d66dbd53-8d5c-d701-902d-bd538d5cd701' {
 load_video
 set gfxpayload=keep
 insmod gzio
 insmod part_gpt
 insmod ext2
 set root='hd0,gpt5'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 d66dbd53-8d5c-d701-902d-bd538d5cd701
 else
 search --no-floppy --fs-uuid --set=root d66dbd53-8d5c-d701-902d-bd538d5cd701
 fi
 echo 'Loading Linux linux ...'
 linux /boot/vmlinuz-linux root=UUID=d66dbd53-8d5c-d701-902d-bd538d5cd701 rw loglevel=3 quiet nvidia-drm.modeset=1
 echo 'Loading initial ramdisk ...'
 initrd /boot/intel-ucode.img /boot/initramfs-linux-fallback.img
 }
}

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

### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
 fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/35_uefi-firmware_proxy ###

### END /etc/grub.d/35_uefi-firmware_proxy ###

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

### BEGIN /etc/grub.d/41_os-prober_proxy ###
### END /etc/grub.d/41_os-prober_proxy ###

### BEGIN /etc/grub.d/42_custom_proxy ###

# 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/42_custom_proxy ###

### BEGIN /etc/grub.d/43_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/43_custom ###
grub-customizer yerine, grub için hazırlanan dokümanları okuyup, config dosyasını elle düzenleyerek de yapabilirsiniz.

İlk grub-customizer uygulamasını gördüğümde bana da çok kullanışlı gelişmişti ama verdiği hatalardan dolayı biraz araştırma yapıp elle dosyaları düzenleyerek uygulamanın yapabildiği neredeyse her şeyi yapabilmiştim.

Siz de yapabilirsiniz, o kadar zor değil.
 
grub-customizer yerine, grub için hazırlanan dokümanları okuyup, config dosyasını elle düzenleyerek de yapabilirsiniz.

İlk grub-customizer uygulamasını gördüğümde bana da çok kullanışlı gelişmişti ama verdiği hatalardan dolayı biraz araştırma yapıp elle dosyaları düzenleyerek uygulamanın yapabildiği neredeyse her şeyi yapabilmiştim.

Siz de yapabilirsiniz, o kadar zor değil.
Hangi dokümanlar hocam? Aradım aradım bir türlü entrylerin sıralanışını bulamadım :(
 
Entrylerin sıralanışını bulamadım

Bunun için ben bir şey söyleyeyim. /boot/grub/grub.cfg dosyasını açın ve istediğiniz dağıtımın girdisini kesip diğer dağıtımın üstüne yerleştirin. Eğer cat /boot/grub/grub.cfg komutunun çıktısını paylaşırsanız çok daha yardımcı olabilirim. Ayrıca çok detaylı olmasa da burayı okuyabilirsiniz.
 

Yeni konular

Geri
Yukarı