[РЕШЕНО] GRUB2 - Win + Lin

Нужно изобразить такое: в меню гроба один пункт Арч Линук, ниже под ним пункт Windows, который будет выделен и выбираться по умолчанию.
Корень арча находится на sda6, а винда на sda2. Причем арчик на sda6 установлен на логический раздел, который в свою очередь помещен в extendet (sda3).
Вообщем для гроба создал вот такой файл:
/etc/grub.d/40_cutsom
# (0) Arch Linux
menuentry "Arch Linux" {
set root=(hd0,6)
linux /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26.img
}
# (1) Windows 7
menuentry "Windows 7" {
set root=(hd0,2)
chainloader +1
}
потом
# grub-mkconfig -o /boot/grub/grub.cfg

Не работает!!! os-prober нашел все разделы и создал свои пункты. но хотелось бы сделать свое аккуратное меню у гроба
os-prober нашел все разделы и создал свои пункты
Ну так снесите его да и всё.
снес. а моя конфа все равно не канает
xSPiRiTx
потом
# grub-mkconfig -o /boot/grub/grub.cfg
А точно это надо делать? А не типа grub-update (точно не помню, давно в него не лазил). В смысле не канает? Что не грузиться-то?
Винда у меня грузится так:
menuentry "Microsoft Windows 7 SP1" {
    insmod part_msdos
    insmod ntfs
    insmod search_fs_uuid
    insmod ntldr     
    search --fs-uuid --no-floppy --set=root 6A863E0E863DDB71
    ntldr /bootmgr
Арч грузится так:
menuentry 'Arch GNU/Linux, с Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-564746c7-00c3-45e9-8288-640f9f5170c2' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos6'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  564746c7-00c3-45e9-8288-640f9f5170c2
	else
	  search --no-floppy --fs-uuid --set=root 564746c7-00c3-45e9-8288-640f9f5170c2
	fi
	echo	'Загружается Linux core repo kernel …'
	linux	/boot/vmlinuz-linux root=UUID=564746c7-00c3-45e9-8288-640f9f5170c2  ro  quiet
	echo	'Загружается начальный виртуальный диск …'
	initrd	/boot/initramfs-linux.img
}
Конфигурация винта у нас почти совпадает
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda2   *        2048    83890175    41944064    7  HPFS/NTFS/exFAT
/dev/sda3        83891430   141773624    28941097+   5  Расширенный
/dev/sda4       141773625   625141759   241684067+   7  HPFS/NTFS/exFAT
/dev/sda5        83891493    93771404     4939956   82  Linux своп / Solaris
/dev/sda6        93771468   141773624    24001078+  83  Linux
Единственное наверное отличие, что у меня арч по дефолту грузится.
Fastor
А точно это надо делать? А не типа grub-update
точно
Fastor
В смысле не канает? Что не грузиться-то?
дефолтно висит тока строка арча и вторая - его fallback

то, что ты мне написал это уже собраный grub.cfg…..а чтобы его собрать мне нужно указать скрипту какие пункты меню в сборку этого конфига пойдут
Вот мой /etc/grub.d/40_custom:
#!/bin/sh
exec tail -n +3 $0
# 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.
menuentry "Microsoft Windows 7 SP1" {
    insmod part_msdos
    insmod ntfs
    insmod search_fs_uuid
    insmod ntldr     
    search --fs-uuid --no-floppy --set=root 6A863E0E863DDB71
    ntldr /bootmgr
}
UUID только поменяйте на свой. Конфиг загрузки арча дефолтный. Потом в /etc/grub.d/00_header
if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi
Вместо нуля подставить нужный номер записи, для дефолтной загрузки.
А не типа grub-update (точно не помню, давно в него не лазил).
А вот как слазите - увидите, что там кроме grub-mkconfig -o /boot/grub/grub.cfg ничего нет.
lampslave, я как разделы по UUID прикрутил, так и вообще забыл, что у меня еще загрузчик-то есть. Винду запускаю по супервеликим праздникам, что-нибудь прошить или потестить, да и то сейчас на qemu подсел. А так таймаут у меня 5 сек. стоит, я пошел, ткнул кнопку питания, пока туда-сюда уже slim приглашает, т.ч. я его почти не вижу.
Я к тому, что не все знают, что убунтовский grub-update - это не отдельный скрипт, а просто короткая запись для mkconfig с опциями.
xSPiRiTx
Корень арча находится на sda6, а винда на sda2. Причем арчик на sda6 установлен на логический раздел, который в свою очередь помещен в extendet (sda3).
Для третьего ядра должно быть так:
/etc/grub.d/40_custom
# (0) Arch Linux
menuentry "Arch Linux" {
set root=(hd0,6)
linux /boot/vmlinuz-linux root=/dev/sda6 ro
initrd /boot/initramfs-linux.img
}
# (1) Windows 7
menuentry "Windows 7" {
set root=(hd0,2)+1
}
Если boot вынесен на отдельный раздел, то в секции Арча удалить boot/ и изменить set root=(hd0,номер_раздела_с_загрузчиком)

В общем с цифрой в root Вы ошиблись.
А uname -a что показывает? У Вас точно второе ядро установлено?
 
Зарегистрироваться или войдите чтобы оставить сообщение.