[sisyphus] Настройки grub2

Sergei Epiphanov serpiph на nikiet.ru
Пн Дек 27 11:31:50 UTC 2010


В сообщении от 27 декабря 2010 13:44:37 автор Vitaly Kuznetsov написал:
> Sergei Epiphanov <serpiph на nikiet.ru> writes:
> > Добрый день!
> 
> Добрый день,
> 
> опишите, пожалуйста, точно, а не по памяти. Очень сложно понять, что
> реально у вас творится.

Какая конкретно информация необходима для диагностики?

В компьютере стоят 2 винта, подключённых к SATA1 и SATA2 (согласно описанию 
материнки). На винте, подключённом к SATA1, была установлена система Windows 
7. На винте, подключённом к SATA2, установлен Сизиф. В BIOS в порядке загрузки 
выбрана загрузка с винта, подключённого к SATA2. В MBR винта SATA1 стоит 
загрузчик Windows, в MBR винта SATA2 стоял загрузчик LILO. В Сизифе эти винты 
видны так:

SATA1 -> /dev/sda
   /dev/sda1 - раздел загрузки Windows 7
   /dev/sda2 - системный раздел - /Windows/System
   /dev/sda3 - Рабочий раздел - /Windows/Data
SATA2 -> /dev/sdb
   /dev/sdb1 - /boot
   /dev/sdb2 - расширенный раздел:
      /dev/sdb5 - /
      /dev/sdb6 - /usr
      /dev/sdb7 - /var
      /dev/sdb8 - swap
      /dev/sdb9 - /home

Я установил grub, набрал команду grub-mkdevicemap, в /boot/grub/device.map 
появились строки:
(hd0) /dev/disk/by-id/<ссылка на /dev/sda>
(hd1) /dev/disk/by-id/<ссылка на /dev/sdb>
...<другие устройства>...

В /etc/sysconfig/grub2 добавил строку GRUB_AUTOUPDATE_DEVICE='(hd1)'

Далее набрал:
1) grub-install '(hd1)'
2) grub-mkconfig -o /boot/grub/grub.cfg

Посмотрел вывод команды grub-mkconfig и не нашёл menuentry про Windows. Полез в 
info по grub и дописал в 40-custom так, как там предлагалось (с тем измененим, 
что вместо чтения загрузчика с раздела (hd0,msdos1) я читаю загрузчик из MBR 
винта SATA1). После чего перегенерил /boot/grub/grub.cfg. Конфигурацию Windows 
я привёл в предыдущем письме:
insmod chain
drivemap -s (hd0) (hd1)
set root=(hd0)
chainloader +1

После правок я перезагружаю компьютер, вижу "Loading GRUB", в меню GRUB 
выбираю строку с Windows, нажимаю Enter. Экран очищается, выскакивает снова 
"Loading GRUB", потом снова меню GRUB. Выбираю Windows ещё раз, нажимаю Enter, 
экран очищается и начинается нормальная загрузка Windows. Если 
закомментировать строку с drivemap (предложенную в info по GRUB), то цикл 
захода в меню GRUB при выборе Windows становится бесконечным.

> Нет, там другой параметр. Наверное, вы имели ввиду
> GRUB_AUTOUPDATE_DEVICE, он нужен для автоматического grub-install при
> обновлении пакета, к вашей проблеме он отношения не имеет.

Да, оно. Понятно.

> > с указанием нужного мне menuentry с параметрами (согласно info grub):
> 40_custom (без .conf, наверное)
> 
> У вас установлен пакет os-prober?

Нет, не стоит. Да я как-то про этот пакет ни слухом ни духом. LILO и без него 
спокойно работал.

> > Кстати, в info grub вместо файла /etc/sysconfig/grub2 упоминается файл
> > /etc/grub/grub (пишу по памяти).
> 
> Напишите, пожалуйста, точно в bugzilla.

Вечером подниму информацию на домашнем компьютере, где я это видел. 
Единственно, я мог спутать с каталогом /etc/grub.d, так как перед этим уже 
часа два крутил документацию в попытке понять причину необычного поведения 
загрузчика.

-- 
С уважением, Епифанов Сергей


Подробная информация о списке рассылки Sisyphus