Напишите в /etc/grub.d/40_custom примерно такое:
menuentry "Windows 7" {
insmod chain
insmod ntfs
set root=(hd0,2)
chainloader +1
}
Файл /etc/grub.d/40_custom должен заканчиваться пустой строкой!
После сохранения /etc/grub.d/40_custom, выполните ещё раз
[console]sudo update-grub[/console] и посмотрите в файле /boot/grub/grub.cfg появилась ли запись windows7
Если Вы редактировали файл /boot/grub/grubenv
То,наверное это и привело к ошибке
environment block to small
Если редактировали, то
[console]sudo rm -f /boot/grub/grubenv[/console]
[console]sudo grub-editenv /boot/grub/grubenv create[/console]
Теперь по поводу
file not found
на каком разделе у Вас стоит Виндовс?
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 1 13 102400 82 Linux своп / Solaris
Раздел 1 не заканчивается на границе цилиндра. /dev/sda2 13 12749 102297600 7 HPFS/NTFS
/dev/sda3 38245 60802 181184512 7 HPFS/NTFS
/dev/sda4 12749 32292 156977539+ 83 Linux
Дуйствительно - вин установлена на /dev/sda3 Но во всех этих случаях - все равно file not found
Для " чистоты экспиремента" - мои действия:
[console]sudo gedit /etc/grub.d/40_custom[/console]
Привести его к следующему виду:
text
#!/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 "Windows 7" {
insmod chain
insmod ntfs set root='(/dev/sda,msdos2)'
chainloader /bootmgr +1
}
Дуйствительно - вин установлена на /dev/sda3 Но во всех этих случаях - все равно file not found
Для " чистоты экспиремента" - мои действия:
[console]sudo gedit /etc/grub.d/40_custom[/console]
Привести его к следующему виду:
text
#!/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 "Windows 7" {
insmod chain
insmod ntfs set root='(/dev/sda,msdos2)'
chainloader /bootmgr +1
}
где вместо ХХХХХХХХХХХХХ
поставьте UUID, который посмотрите с помощью команды
[console]sudo blkid | grep /dev/sda3[/console]
в выводе будет что то типа
UUID="6747e9b4-2e3d-4e18-be34-cc33e5f72a16"
соответственно запишите 6747e9b4-2e3d-4e18-be34-cc33e5f72a16 (без кавычек)
ну и как обычно
[console]sudo update-grub[/console]
P.S. И на всякий случай, покажите ещё раз /boot/grub/grub.cfg
# 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="4"
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
}
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos4)'
search --no-floppy --fs-uuid --set=root 0e6167cb-2878-429f-9ff2-3d2aa0e166f1
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos4)'
search --no-floppy --fs-uuid --set=root 0e6167cb-2878-429f-9ff2-3d2aa0e166f1
set locale_dir=($root)/boot/grub/locale
set lang=ru_RU
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos4)'
search --no-floppy --fs-uuid --set=root 0e6167cb-2878-429f-9ff2-3d2aa0e166f1
insmod png
if background_image /boot/grub/linuxmint.png; then
true
else
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
clear
fi
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/06_mint_theme ###
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos4)'
search --no-floppy --fs-uuid --set=root 0e6167cb-2878-429f-9ff2-3d2aa0e166f1
insmod png
if background_image /boot/grub/linuxmint.png ; then
set color_normal=white/black
set color_highlight=white/light-gray
else
set menu_color_normal=white/black
set menu_color_highlight=white/light-gray
fi
### END /etc/grub.d/06_mint_theme ###
### BEGIN /etc/grub.d/10_linux ###
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 'Linux Mint 11, 2.6.38-8-generic (/dev/sda4)' --class linuxmint --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos4)'
search --no-floppy --fs-uuid --set=root 0e6167cb-2878-429f-9ff2-3d2aa0e166f1
linux /boot/vmlinuz-2.6.38-8-generic root=UUID=0e6167cb-2878-429f-9ff2-3d2aa0e166f1 ro quiet splash vt.handoff=7
initrd /boot/initrd.img-2.6.38-8-generic
}
menuentry 'Linux Mint 11, 2.6.38-8-generic (/dev/sda4) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos4)'
search --no-floppy --fs-uuid --set=root 0e6167cb-2878-429f-9ff2-3d2aa0e166f1
echo 'Loading Linux 2.6.38-8-generic ...'
linux /boot/vmlinuz-2.6.38-8-generic root=UUID=0e6167cb-2878-429f-9ff2-3d2aa0e166f1 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.38-8-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/10_lupin ###
### END /etc/grub.d/10_lupin ###
### 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='(/dev/sda,msdos4)'
search --no-floppy --fs-uuid --set=root 0e6167cb-2878-429f-9ff2-3d2aa0e166f1
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos4)'
search --no-floppy --fs-uuid --set=root 0e6167cb-2878-429f-9ff2-3d2aa0e166f1
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### 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.
menuentry "Win 7 (on /dev/sda3)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(/dev/sda,msdos3)'
chainloader +1
}
### 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 ###
Посмотрел файл 40_custom у знакомого( тоже минт и вин и у него все настроилось "автоматически")
Вот какой он у него
text
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional RU (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root A604BDB504BD88B7
drivemap -s (hd0) ${root}
chainloader +1
}
вот это работает ..
и да пакет os-prober не только должен быть в системе чтобы всё работало , ещё и проверить не мешало бы файлы в /etc/grub.d/ , они все должны быть исполняемые ..
если ничего не помогает покажи вывод команды :
что такое ХХХХХХХХХХХХХ я писал выше.
Если после добавления строк и
[console]sudo update-grub[/console]
в /boot/grub/grub.cfg ничего не поменялось, то добавьте
в /boot/grub/grub.cfg и приведите его к такому виду
### 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.
menuentry "Win 7 (on /dev/sda3)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(/dev/sda,msdos3)'
search --no-floppy --fs-uuid --set ХХХХХХХХХХХХХ
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/40_custom ###
сохраните и ещё раз попробуйте перезагрузиться в Виндовс.