LINUX.ORG.RU

GRUB неверно определил ОС


0

1

На компе два физических диска, решил один полностью отдать под линукс. Удалил все с него и установил убунту.
вот такие диски имеются:


/dev/sda1 swap
/dev/sda2 extended
/dev/sda5 / -Сюда установил убунту
/dev/sda6 /home

/dev/sdb1 ntfs -Здесь была установлена семерка
/dev/sdb2 ntfs

Сейчас семерка не грузится. А загрузчик определил ее как дос О_0

sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.0.0-14-generic
Found initrd image: /boot/initrd.img-3.0.0-14-generic
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
Found MS-DOS 5.x/6.x/Win3.1 on /dev/sdb1
done

если 7 хочеш загрузить, то тебе проще в биосе поставить загрузку с другого диска или при старте компа успевать нажать клавишу для выбора устройства загрузки

teod0r ★★★★★
()
Ответ на: комментарий от teod0r

по ф12 с диска уже пробовал грузить, даже отключал физически диск с убунту. результат тотже.
сильно беспокоит вопрос: -почему груб определяет семерку как дос? и как это исправить?

ExtendedUser
() автор топика

Коли 2 харда, то в /boot/grub/grub.conf

# Windows
title  Windows
map (hd0,0) (hd0,1)
map (hd0,1) (hd0,0)
rootnoverify (hd0,0)
chainloader +1
Должно работать.

backbone ★★★★★
()
Ответ на: комментарий от backbone

тогда в какое место воткнуть

# Windows
title Windows
map (hd0,0) (hd0,1)
map (hd0,1) (hd0,0)
rootnoverify (hd0,0)
chainloader +1

там еще грозно
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

ExtendedUser
() автор топика
Ответ на: комментарий от ExtendedUser

Попробуйте дописать в /boot/grub/custom.cfg:

menuentry "Windows 7" {
insmod part_msdos
insmod ntfs
insmod ntldr
search -s -u <здесь-подставьте-uuid-раздела-с-windows>
ntldr /bootmgr
}
AITap ★★★★★
()
Ответ на: комментарий от AITap

Попробуйте дописать в /boot/grub/custom.cfg:

А, блин, в Ubuntu же 2-ой Grub, в нём map убрали вроде.
Так что это вряд ли сработает...

menuentry "Win 7" {
         map (hd0,0) (hd0,1)
         map (hd0,1) (hd0,0)
         set root=(hd0,0)
         makeactive
#         rootnoverify(hd0,0)
         chainloader +1
}
backbone ★★★★★
()
Ответ на: комментарий от backbone

Да, map в GRUB2 нет. Есть drivemap, и он что-то умеет.

AITap ★★★★★
()
Ответ на: комментарий от ExtendedUser

Создайте этот файл. По крайней мере, в Debian его по умолчанию нет, но если он есть, то обрабатывается.

Кстати, покажите вывод команды: awk '/BEGIN.*custom/{P++}(P){print}/END.*custom/{P--}' /boot/grub/grub.cfg

AITap ★★★★★
()
Ответ на: комментарий от AITap

awk
### 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 $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

уточните пожалуйста какой файл создать.

пожалуй сегодня спать пойду время уже пол третьего. завтра продолжу.

ExtendedUser
() автор топика
Ответ на: комментарий от ExtendedUser

да и еще я оба ваши менюитема засунул в /etc/grub.d/40_custom , перезагрузился и в списке их не оказалось, тоесть в grub.cfg они не попали, наверно надо еще что то.

ExtendedUser
() автор топика
Ответ на: комментарий от ExtendedUser

уточните пожалуйста какой файл создать.

/boot/grub/custom.cfg

да и еще я оба ваши менюитема засунул в /etc/grub.d/40_custom

Теперь запустите update-grub, чтобы /boot/grub/grub.cfg был заново сгенерирован.

AITap ★★★★★
()

А до установки Линукса что было на первом диске? И в системе было два диска, когда устанавливалась семёрка?

mky ★★★★★
()

а os-prober вообще установлен?

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Ужас на крыльях ночи Виндовс Семь" {
	insmod part_msdos
	insmod ntfs
	set root='(hdподставить своё,msdosподставить своё)'
	search --no-floppy --fs-uuid --set Тут uid
	drivemap -s (hd0) ${root}
	chainloader +1
}
coldy ★★
()

# os-prober

И потом удали с /etc/grub.d скрип с установки.
//На тестинге такая же лажа была, только грузилась как-то :)

amorpher ★★★★★
()
Ответ на: комментарий от coldy

Да, там root не прописавыло.

2ТС — update-grub ес-но выполни потом.

amorpher ★★★★★
()
Ответ на: комментарий от Pinkbyte

Восстановил загрузчик венды из консоли, после этого update-grub все нашел и прописал как надо. Теперь я счастлив.

ExtendedUser
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.