Обозначенное в заглавии существует в дереве портежей funtoo поэтому гентушники смело отдыхают.
Собственно все как и всегда банально. В funtoo нужно сделать:
emerge =sys-boot/grub-1.97.1-r1
Далее так как у меня отдельного раздела “/boot” не существует вообще а есть только “/” надо от root сделать такое:
gedit /etc/grub.d/10_linux
Нас интересует 109 строка. Должно быть что то такое
print " linux /"+os.path.relpath(kernel[0],"/boot")+" root="+get_rootdev(has_initrd)+" rootfstype="+rfst+" ro",env("GRUB_KERNEL_PARAMS"),
Исправляем на
print " linux "+os.path.normpath(kernel[0])+" root="+get_rootdev(has_initrd)+" rootfstype="+rfst+" ro",env("GRUB_KERNEL_PARAMS"),
Чуть ниже 115я строка было что то вроде
print " initrd /"+os.path.relpath(kernel[1],"/boot")
а должно быть
print " initrd /boot/"+os.path.relpath(kernel[1],"/boot")
На этом практически все… Если нужен виндавз и он живет на root=(hd0,1) то делаем
echo "#! /bin/sh -e
echo "Adding Windows" >&2
cat << EOF
menuentry "Microsoft Windows Vista" {
set root=(hd0,1)
chainloader +1
}
EOF" >> /etc/grub.d/11_windows
chmod +x /etc/grub.d/11_windows # там все исполнимые…
На этом практически все…
Настройки конфгурации grub-а содержатся в файле /etc/conf.d/grub
Вот к примеру мой
> cat /etc/conf.d/grub
GRUB_TIMEOUT=8
GRUB_FEATURES="osprobe"
GRUB_DEFAULT="/boot/vmlinuz"
GRUB_KERNEL_PARAMS="video=uvesafb:1280x800-32,mtrr:3,ywrap splash=silent,fadein,theme:natural_gentoo console=tty1 boot_delay=0 quiet fastboot"
GRUB_LABEL="[OS] - [KF] [ALT]"
GRUB_LABEL_OS="Funtoo Linux"
GRUB_SCAN_DIR="/boot"
GRUB_SCAN_KERNELS="vmlinuz[-v]"
GRUB_SCAN_INITRD="initramfs[-v]"
GRUB_ALTBOOT_PARAMS="init=/bin/bash"
Если чего то не поймёте сверьте с оригиналом… Ну и сама установка grub как и всегда
grub-mkconfig -o '/boot/grub/grub.cfg'
grub-install /dev/sda
grub-setup /dev/sda
У меня в /boot ядра именуются vmlinuz и инитрамфс initramfs С моим конфигом /etc/conf.d/grub команда grub-mkconfig правильно находит все ядра и создает корректный /boot/grub/grub.cfg
> cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/conf.d/grub
#
### BEGIN /etc/grub.d/00_header ###
set timeout=8
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry "Funtoo Linux - /boot/vmlinuz " {
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set eea7fc73-d32d-454e-9600-ccec4d6aa132
linux /boot/vmlinuz root=/dev/sda3 rootfstype=ext4 ro video=uvesafb:1280x800-32,mtrr:3,ywrap splash=silent,fadein,theme:natural_gentoo console=tty1 boot_delay=0 quiet fastboot
initrd /boot/initramfs
}
set default=0
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/11_windows ###
menuentry "Microsoft Windows Vista" {
set root=(hd0,1)
chainloader +1
}
### END /etc/grub.d/11_windows ###
### BEGIN /etc/grub.d/30_os-prober ###
### 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 ###
Что собственно и требовалось. Да редактировать руками файл /boot/grub/grub.cfg действительно не нужно… Лучше найти ошибку.
Comments