Bug 24617

Summary: Загрузчик не устанавливается на раздел диска
Product: Sisyphus Reporter: Roman Savochenko <rom_as>
Component: grub2Assignee: Vitaly Kuznetsov <vitty>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P3 CC: aen, boyarsh, dd1email, jackie.rosen, kharpost, mike, pip, rider
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 23155, 25628    

Description Roman Savochenko 2010-11-22 19:09:48 MSK
После установки Бета 6.0.0 Desktop KDE 2010.11.18 и указания установить загрузчик на /dev/sda9, загрузчик реально не установился.
Все последующие попытки установить загрузчик на раздел из chroot Branch 5.1 не увенчались успехом и разбились о предупреждение про невозможность этого.

Поиск по данной проблеме показал, что grub2 не поддерживает установку на раздел. Последний кто это поддерживал был grub-legacy.

Настоятельно предлагаю вернуть lilo в роли основного загрузчика!
Comment 1 Vitaly Kuznetsov 2010-11-22 19:16:05 MSK
grub2 поддерживает установку в раздел с помощью blocklists.
Покажите вывод команды grub-install --force /dev/sda9
Comment 2 Roman Savochenko 2010-11-22 19:30:22 MSK
(В ответ на комментарий №1)
> grub2 поддерживает установку в раздел с помощью blocklists.
А это кто и где его взять?
И если это так то его нет в "Бета 6.0.0 Desktop KDE 2010.11.18"
> Покажите вывод команды grub-install --force /dev/sda9
Сейчас не вспомню, напишу позже.
Comment 3 Roman Savochenko 2010-11-23 09:51:50 MSK
Вот, имеем такое:

[root@roman /]# grub-install --force /dev/sda9
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.

[root@roman etc]# lilo
Added ALTLinux *
Fatal: First sector of /dev/sda9 doesn't have a valid boot signature
Comment 4 Vitaly Kuznetsov 2010-11-23 11:03:43 MSK
(In reply to comment #3)
> Вот, имеем такое:
> 

> Installation finished. No error reported.
> 

Инсталляция grub в раздел прошла успешно. Почему вы думаете, что загрузчик не установился?
Comment 5 Vitaly Kuznetsov 2010-11-23 11:44:05 MSK
кстати, покажите lilo.conf
Comment 6 Roman Savochenko 2010-11-23 12:30:28 MSK
О том что не установилось говорит lilo.
В конфигурации lilo есть простая секция:
image="/dev/sda9"                                                                                                                          
    label="ALTLinux6.0"
Comment 7 Roman Savochenko 2010-11-23 12:32:05 MSK
Точнее так:
other=/dev/sda9                                                                                                                                
     label="ALTLinux6.0"

И которая чуть ранее работала для SuSE 11.3
Comment 8 Valery Pipin 2010-11-23 12:56:40 MSK
Да именно так 
[vv@tao-vp ~]$ sudo grub-install --force /dev/sda4 
[sudo] password for vv:
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.

Однако refit эту запись увидел. 


(In reply to comment #3)
> Вот, имеем такое:
> 
> [root@roman /]# grub-install --force /dev/sda9
> /usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition instead
> of the MBR.  This is a BAD idea..
> /usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be
> installed in this setup by using blocklists.  However, blocklists are
> UNRELIABLE and their use is discouraged..
> Installation finished. No error reported.
> 
> [root@roman etc]# lilo
> Added ALTLinux *
> Fatal: First sector of /dev/sda9 doesn't have a valid boot signature
Comment 9 Roman Savochenko 2010-11-24 10:20:29 MSK
Оказывается у grub2 есть ещё один "приятный" момент.
Решил проверить возможность загрузки из якобы правильно инициированного загрузчика на /dev/sda9, как тут полагают.
Поставил grub2 на рабочий Branch 5.1, инициировал его (update-grub), добавил элемент меню для загрузки по цепочке на раздел /dev/sda9, установил (grub-install /dev/sda).
Перегружаюсь, а grub предлагает "rescue>" и видит только основные разделы.
Гружусь из ALTLinux5.1 LiveUSB и наблюдаю, что таблица разделов в месте расширенного раздела и логических дисков полностью разрушена. Пришлось с "тёплыми" чувствами к grub2 познакомиться с "testdisk" для восстановления всего этого.

Сегодня с утра решил попробовать ещё один вариант. Добавил в конфигурацию lilo, для пункта меню /dev/sda9 параметр "nosafe":
other=/dev/sda9                                                                 
     label="ALTLinux6.0"
     nosafe

В результате lilo согласился с этим у установился. Однако загрузка с этого пункта не пошла.
Comment 10 Valery Pipin 2010-11-24 10:45:45 MSK
Я не спец, в этих вопросах, но мне кажется что вам прежде всего нужно описать
свою таблицу разделов(с указанием логических и основных разделов и пр.), и что там установлено. По моим наблюдениям разные дистрибутивы linux по разному воспринимают одно и тоже разбиение диска.
Например, altlinux совместим с федорой и убунту, и не совместим с мандривой, :-). Насчет сусе не знаю точно, пробовал всего пару раз.

(In reply to comment #9)
> Оказывается у grub2 есть ещё один "приятный" момент.
> Решил проверить возможность загрузки из якобы правильно инициированного
> загрузчика на /dev/sda9, как тут полагают.
> Поставил grub2 на рабочий Branch 5.1, инициировал его (update-grub), добавил
> элемент меню для загрузки по цепочке на раздел /dev/sda9, установил
> (grub-install /dev/sda).
> Перегружаюсь, а grub предлагает "rescue>" и видит только основные разделы.
> Гружусь из ALTLinux5.1 LiveUSB и наблюдаю, что таблица разделов в месте
> расширенного раздела и логических дисков полностью разрушена. Пришлось с
> "тёплыми" чувствами к grub2 познакомиться с "testdisk" для восстановления всего
> этого.
> 
> Сегодня с утра решил попробовать ещё один вариант. Добавил в конфигурацию lilo,
> для пункта меню /dev/sda9 параметр "nosafe":
> other=/dev/sda9                                                                 
>      label="ALTLinux6.0"
>      nosafe
> 
> В результате lilo согласился с этим у установился. Однако загрузка с этого
> пункта не пошла.
Comment 11 Vitaly Kuznetsov 2010-11-24 10:48:09 MSK
> Поставил grub2 на рабочий Branch 5.1, инициировал его (update-grub)

В нашем grub2 скрипта update-grub нет. Использовать grub2 из 5.1 не стоит, там очень старая нерабочая версия. Давайте всё-таки попытаемся выяснить в чём проблема с сизифной версией. В большинстве случаев установка в раздел с помощью blocklists работает. Почему оно не работает у вас - пока загадка.
Comment 12 Valery Pipin 2010-11-24 10:56:23 MSK
(In reply to comment #11)
> > Поставил grub2 на рабочий Branch 5.1, инициировал его (update-grub)
> 
> В нашем grub2 скрипта update-grub нет. Использовать grub2 из 5.1 не стоит, там
> очень старая нерабочая версия. Давайте всё-таки попытаемся выяснить в чём
> проблема с сизифной версией. В большинстве случаев установка в раздел с помощью
> blocklists работает. Почему оно не работает у вас - пока загадка.

Виталий, а можно попросить вас добавить опцию --force в инсталлятор?
Comment 13 Vitaly Kuznetsov 2010-11-24 11:30:30 MSK
(In reply to comment #12)
> 
> Виталий, а можно попросить вас добавить опцию --force в инсталлятор?

Инсталлятор уже использует --force для установки в раздел.
Comment 14 Valery Pipin 2010-11-24 11:40:42 MSK
(In reply to comment #13)
> (In reply to comment #12)
> > 
> > Виталий, а можно попросить вас добавить опцию --force в инсталлятор?
> 
> Инсталлятор уже использует --force для установки в раздел.
В последней бете от Турчина - не работал, пришлось устанавливать
через rescue
Comment 15 Valery Pipin 2010-11-24 11:48:35 MSK
(In reply to comment #14)
> (In reply to comment #13)
> > (In reply to comment #12)
> > > 
> > > Виталий, а можно попросить вас добавить опцию --force в инсталлятор?
> > 
> > Инсталлятор уже использует --force для установки в раздел.
> В последней бете от Турчина - не работал, пришлось устанавливать
> через rescue
 имеется ввиду Бета 6.0.0 Desktop KDE 2010.11.18 64бит
Comment 16 Roman Savochenko 2010-11-24 20:34:19 MSK
(В ответ на комментарий №14)
> > > Виталий, а можно попросить вас добавить опцию --force в инсталлятор?
> > Инсталлятор уже использует --force для установки в раздел.
> В последней бете от Турчина - не работал, пришлось устанавливать
> через rescue
Да, не работает.
Установил на другой машине, после grub-install --force /dev/sda1 загрузилось.
Может это на логический диск он не ставится. Поищу ещё где поставить. :)
Comment 17 Roman Savochenko 2010-11-25 17:59:18 MSK
Точно. grub2 не ставится на логические разделы!
Поставил "Бета 6.0.0 Desktop KDE 2010.11.18" ещё раз на туже машину и тот-же диск, где он уже нормально работал с разделом /dev/sda1.
Только теперь вместо /dev/sda1 выступал /dev/sda10, фактически на том же месте диска.
После установки загрузчик традиционно не поставился и не поставился из chroot Branch 5.1, как в моих первых сообщениях.

P.S. Судя по всему при некоторых обстоятельствах расширенный раздел с логическими дисками он может разрушать.

Имеем два случая, что однако тенденция. Будем ожидать закономерности?
Comment 18 Anton Farygin 2010-11-25 18:06:04 MSK
Роман, а попробуйте ради интереса ещё server-light:
ftp://ftp.altlinux.ru/pub/people/rider/

он чуть чуть посвежее, может быть эта проблема уже была исправлена ?
Comment 19 Roman Savochenko 2010-11-26 14:13:25 MSK
(В ответ на комментарий №18)
> Роман, а попробуйте ради интереса ещё server-light
> он чуть чуть посвежее, может быть эта проблема уже была исправлена ?
Попробовал. Проблема присутствует.
Comment 20 Michael Shigorin 2011-01-04 11:41:50 MSK
(In reply to comment #11)
> Использовать grub2 из 5.1 не стоит, там очень старая нерабочая версия.
Может, его тогда оттуда снести?  Слишком важная функциональность, чтоб быть в стельку неживой.
Comment 21 Vitaly Kuznetsov 2011-01-21 21:04:36 MSK
Я смог воспроизвести проблему и понять её суть. Виноват EVMS в интсалляторе, которому не нравится запись в раздел в обход его. Я подумаю как лучше обойти эту ситуацию.
Comment 22 Repository Robot 2011-01-25 03:42:02 MSK
alterator-grub-0.6-alt1 -> sisyphus:

* Mon Jan 24 2011 Vitaly Kuznetsov <vitty@altlinux> 0.6-alt1
- install into partition in installer fixed (ALT #24617)
Comment 23 Roman Savochenko 2011-01-25 10:56:36 MSK
(В ответ на комментарий №21)
> Я смог воспроизвести проблему и понять её суть. Виноват EVMS в интсалляторе,
> которому не нравится запись в раздел в обход его. Я подумаю как лучше обойти
> эту ситуацию.
Эта ошибка не сколько EVMS и инсталлятора, сколько самого GRUB2. Заставив в инсталляторе устанавливаться grub2 на раздел Вы получите загрузку только с основных разделов. С логических разделов загрузка всё равно идти не будет, что по мне более частая ситуация. Про эту особенность GRUB2 тут обсуждалось!
Собственно бага висела alterator-grub, поэтому ошибку можно считать закрытой, однако для самого grub2 она далеко не закрыта. Перевешиваю!
Comment 24 Vitaly Kuznetsov 2011-01-25 12:22:14 MSK
загрузка с логических дисков работает совершенно также как и с основных - с помощью blocklists. После изменения, сделанного в alterato-grub установка загрузчика в раздел должна работать. В чём ещё существует проблема я не понимаю.
Comment 25 Roman Savochenko 2011-01-25 12:53:04 MSK
(В ответ на комментарий №24)
> загрузка с логических дисков работает совершенно также как и с основных - с
> помощью blocklists. После изменения, сделанного в alterato-grub установка
> загрузчика в раздел должна работать. В чём ещё существует проблема я не
> понимаю.
Подскажите пожалуйста, в таком случае, что такое blocklists и где его взять на установленной системе, что-бы проверить работоспособность grub2 на предмет данного вопроса.
Comment 26 Vitaly Kuznetsov 2011-01-25 12:56:35 MSK
Когда вы делаете grub-install --force /dev/sdaX установка производится с помощью blocklists.
Comment 27 Roman Savochenko 2011-01-25 13:14:47 MSK
(В ответ на комментарий №26)
> Когда вы делаете grub-install --force /dev/sdaX установка производится с
> помощью blocklists.
Именно так я и делаю, и как видно из моих сообщений выше, это не работает на текущем grub2!
Comment 28 Vitaly Kuznetsov 2011-01-25 13:21:26 MSK
(In reply to comment #27)
> (В ответ на комментарий №26)
> > Когда вы делаете grub-install --force /dev/sdaX установка производится с
> > помощью blocklists.
> Именно так я и делаю, и как видно из моих сообщений выше, это не работает на
> текущем grub2!

Я уже говорил что не надо ничего пробовать из chroot Branch 5.1, там нерабочий grub2. Если вы уже говорите про Сизифный grub то приведите, пожалуйста вывод следующих команд, выполненных в установленной (строго не инсталлятор и не rescue):
#rpm -q grub2
#head -c512 /dev/sda9 | hexdump -C
#grub-install --force /dev/sda9
#head -c512 /dev/sda9 | hexdump -C
Comment 29 Roman Savochenko 2011-01-25 13:46:58 MSK
(В ответ на комментарий №28)
> Я уже говорил что не надо ничего пробовать из chroot Branch 5.1, там нерабочий
> grub2. Если вы уже говорите про Сизифный grub то приведите, пожалуйста вывод
> следующих команд, выполненных в установленной (строго не инсталлятор и не
> rescue):
Я и делал на:
- chroot установленной системы 6.0 beta из Branch 5.1
- из установленной системы, после загрузки с помощью lilo.
> #rpm -q grub2
> #head -c512 /dev/sda9 | hexdump -C
> #grub-install --force /dev/sda9
> #head -c512 /dev/sda9 | hexdump -C
Попробую.
Comment 30 Roman Savochenko 2011-01-25 16:09:52 MSK
(В ответ на комментарий №28)
> #rpm -q grub2
> #head -c512 /dev/sda9 | hexdump -C
> #grub-install --force /dev/sda9
> #head -c512 /dev/sda9 | hexdump -C

#rpm -q grub2
grub2-1.98-alt21.20100804

#head -c512 /dev/sda8 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

#grub-install --force /dev/sda8
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.

#head -c512 /dev/sda8 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200
Comment 31 Vitaly Kuznetsov 2011-01-25 16:30:03 MSK
Если вы не ошиблись, то я не понимаю как это возможно.
Попробуйте:
grub-setup --force /dev/sda8
head -c 512 /dev/sda8 | hexdump -C
и приведите вывод cat /proc/mounts
Comment 32 Roman Savochenko 2011-01-25 16:41:33 MSK
(В ответ на комментарий №31)
> Если вы не ошиблись, то я не понимаю как это возможно.
Я так уже постоянно "ошибаюсь".
> Попробуйте:
> grub-setup --force /dev/sda8
> head -c 512 /dev/sda8 | hexdump -C
> и приведите вывод cat /proc/mounts

[root@comp-Athlon-64-818c4d /]# grub-setup --force /dev/sda8
grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea..
grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..

[root@comp-Athlon-64-818c4d /]# head -c 512 /dev/sda8 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

[root@comp-Athlon-64-818c4d /]# cat /proc/mounts
rootfs / rootfs rw 0 0
udevfs /dev tmpfs rw,relatime,size=5120k,mode=755 0 0
/dev/sda2 / ext4 rw,relatime,barrier=1,data=ordered 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
shmfs /dev/shm tmpfs rw,relatime 0 0
/dev/sda7 /mnt/sda7 ext3 rw,relatime,errors=continue,commit=5,barrier=0,data=writeback 0 0
/dev/sda8 /mnt/sda8 ext3 rw,relatime,errors=continue,commit=5,barrier=0,data=writeback 0 0
/dev/sda6 /mnt/sda6 ext3 rw,relatime,errors=continue,commit=5,barrier=0,data=writeback 0 0
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0


P.S. Обновил до grub2-1.98-alt22.20100804. Результат тот-же!
Comment 33 Vitaly Kuznetsov 2011-01-25 16:51:56 MSK
> /dev/sda2 / ext4 rw,relatime,barrier=1,data=ordered 0 0
> /dev/sda8 /mnt/sda8 ext3 rw,relatime,errors=continue,commit=5,barrier=0,data=writeback 0 0

Подождите, вы не в тот раздел устанавливаете. Устанавливать надо туда же, где у вас расположен /boot. В данной конфигурации вообще непонятно, что должно получиться.
Comment 34 Roman Savochenko 2011-01-25 23:55:06 MSK
(В ответ на комментарий №33)
> Подождите, вы не в тот раздел устанавливаете. Устанавливать надо туда же, где у
> вас расположен /boot. В данной конфигурации вообще непонятно, что должно
> получиться.
Создал /dev/sda9 и скопировал туда /dev/sda2.
Загрузчик на /dev/sda9 установился. Странно, раньше не устанавливался.
Закрываем, попробую на следующей бета, с исправленным установщиком.
Comment 35 Roman Savochenko 2011-02-15 12:38:15 MSK
На бета от 20110201 загрузка с разделов, включая и логический, работает.
Comment 36 Roman Savochenko 2011-05-17 23:17:42 MSK
Опять проблемы с GRUB на разделе.
Установил последнюю бету на раздел /dev/sda9: altlinux-6.0.0_beta-20110429-kdesktop-i586-ru-install-dvd5.iso
Успешно загрузился с GRUB2 на /dev/sda9
Обновил до сизифа.
Поставил последнее ядро std-def-2.6.38-alt4
Гружусь и вижу:
ALTLinux 6.0
GRUB 

И на этом всё!
Comment 37 Vitaly Kuznetsov 2011-05-18 10:53:17 MSK
Это новая (возможная) бага, занесите её, пожалуйста, как новую. К старой она отношения не имеет.
Comment 38 Roman Savochenko 2011-05-18 22:27:34 MSK
https://bugzilla.altlinux.org/show_bug.cgi?id=25628
Comment 39 Michael Shigorin 2013-02-27 23:06:13 MSK
См. тж. bug #28600.