Summary: | После обновления grub, система не загружается, выводя ошибку "Error: file not found" | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Mike <amike> | ||||
Component: | grub2-pc | Assignee: | Michael Shigorin <mike> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | blocker | ||||||
Priority: | P3 | CC: | aen, boyarsh, cas, crux, real.altlinux.org, rider, sbolshakov, vitty | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
URL: | http://www.altlinux.org/Grub#.D0.9A.D0.B0.D0.BA_.D1.83.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.B8.D1.82.D1.8C_GRUB.3F | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 27685 | ||||||
Attachments: |
|
Description
Mike
2012-11-02 18:28:34 MSK
Это более чем на одной машине проявляется? Т.е. выключать машину до исправления этой баги категорически не рекомендуется? Если так, то важность надо сменить с major на critical, IMHO. Если это проявляется более чем на одной машине, то это полный блокер, конечно же. Пока это замечено ровно на одной машине, потому я убрал blocker. (посоветовавшись) Не, собственно _обновления_ до 2.00 это уже никак не касается. (In reply to comment #2) > Если это проявляется более чем на одной машине, > то это полный блокер, конечно же. Даже если только на одной из наблюдаемых, то может вылезти на N у людей. Потому и просил в devel@ по возможности тестировать заранее. Оргвыводы: сборкой grub2-pc и выкатыванием тестового таска следовало озадачиться до начала чтения про EFI, чтобы окошко на тестирование было минимум в неделю. "Пока это замечено ровно на одной машине" На моей тоже замечено, благо, на другом харде был другой ALT, восстановился откатыванием grub2-pc на предыдущую версию. (В ответ на комментарий №5) > "Пока это замечено ровно на одной машине" > > На моей тоже замечено, благо, на другом харде был другой ALT, восстановился > откатыванием grub2-pc на предыдущую версию. Поднял до blocker Проверьте http://git.altlinux.org/tasks/83618/ , пожалуйста. (In reply to comment #5) > На моей тоже замечено О! А тогда расскажи, используешь ли LVM и/или RAID (2 amike: ты бы тоже уточнил), помимо проверки сборки из task #83618. Пожалуйста, перед попытками grub-install /dev/sdX вручную обязательно запусти grub-autoupdate и если будет ругаться на GRUB_AUTOUPDATE_DEVICE -- прицепи свой /etc/sysconfig/grub2 или скопируй сюда `grep AUTO` по нему же. "А тогда расскажи, используешь ли LVM и/или RAID" Нет. "перед попытками grub-install" Не использую. А теперь и grub2-pc поставил на холд. Буду ждать сообщений, что бага исчезла. sysconfig-то покажи хоть. В смысле ls /etc/sysconfig/ ? acpid harddisk keyboard sshd anacronjobs harddisks klogd static-routes autofs hddtemp limits static-routes~ bluetooth hsqldb limits.d syslogd bridge i18n mdadm syslog-ng clock i18n~ mouse system clock.rpmnew i18n.rpmnew mpi-selector transmission-daemon clock.rpmsave i18n.rpmsave network usb console init network~ uwsgi consolefont installkernel network.rpmnew uwsgi~ consolefont.rpmnew installkernel~ network.rpmsave wpa_supplicant desktop installkernel.rpmnew network-scripts wpa_supplicant~ dhcpd ip6tables ntpd xfs ebtables ip6tables_modules openvpn xinetd ethtool ip6tables_params portmap.rpmsave xinitrc ethtool~ iptables postgresql xrandr framebuffer iptables~ qemu-kvm xserver grub2 iptables_modules rawdevices xserver~ grub2~ iptables_params rpcbind xserver.rpmnew grub2.bak ipw3945d samba grub2.rpmnew irqbalance sendmail halt kernel squid Не, в смысле
> прицепи свой /etc/sysconfig/grub2 или скопируй сюда `grep AUTO` по нему же.
Но раз там есть /etc/sysconfig/grub2.rpmnew, то хорошо бы и его приложить. И `fdisk -l`, если не жалко.
Пока не получается понять, на чём, кроме слишком большого /boot/grub/i386-pc/core.img при первом разделе с 63-го сектора, может взорваться автообновление.
Также и просьба уточнить -- какие именно симптомы у тебя наблюдаются, в точности описанные amike@ или "что-то похожее"?
Created attachment 5621 [details]
/etc/sysconfig/grub2.rpmnew
> sudo grep AUTO /etc/sysconfig/grub2 #GRUB_AUTOUPDATE_DEVICE='/dev/sda ' #GRUB_AUTOUPDATE_FORCE='no' GRUB_AUTOUPDATE_CFG=true GRUB_AUTOUPDATE_CFGNAME=/boot/grub/grub.cfg > fdisk -l Disk /dev/sda: 80.0 GB, 80026361856 bytes, 156301488 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x324299af Устр-во Загр Начало Конец Блоки Id Система /dev/sda1 * 4096575 156296384 76099905 f W95 расшир. (LBA) /dev/sda2 63 3068414 1534176 83 Linux /dev/sda3 3068415 4096574 514080 83 Linux /dev/sda5 4096638 8193149 2048256 82 Linux своп / Solaris /dev/sda6 8193213 9253439 530113+ 83 Linux /dev/sda7 9253503 50219189 20482843+ 83 Linux /dev/sda8 50219253 58412339 4096543+ 83 Linux /dev/sda9 58412403 66605489 4096543+ 83 Linux /dev/sda10 66605553 156296384 44845416 83 Linux Пункты таблицы разделов расположены не в дисковом порядке Disk /dev/sdb: 320.1 GB, 320072933376 bytes, 625142448 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x4fb6aec1 Устр-во Загр Начало Конец Блоки Id Система /dev/sdb1 * 63 12594959 6297448+ 82 Linux своп / Solaris /dev/sdb2 12594960 348160679 167782860 83 Linux /dev/sdb3 348160680 351309419 1574370 83 Linux /dev/sdb4 351309420 625137344 136913962+ 5 Расширенный /dev/sdb5 351309483 352353644 522081 83 Linux /dev/sdb6 352353708 353397869 522081 83 Linux /dev/sdb7 353397933 395343584 20972826 83 Linux /dev/sdb8 395343648 403729514 4192933+ 83 Linux /dev/sdb9 403729578 625137344 110703883+ 83 Linux Disk /dev/sdc: 160.0 GB, 160041885696 bytes, 312581808 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000e0a39 Устр-во Загр Начало Конец Блоки Id Система /dev/sdc1 * 63 4192964 2096451 83 Linux /dev/sdc2 4192965 46138679 20972857+ 83 Linux /dev/sdc3 46138680 54524609 4192965 82 Linux своп / Solaris /dev/sdc4 54524610 312576704 129026047+ 5 Расширенный /dev/sdc5 54524673 62910539 4192933+ 83 Linux /dev/sdc6 62910603 71296469 4192933+ 83 Linux /dev/sdc7 71296533 72340694 522081 83 Linux /dev/sdc8 72340758 312576704 120117973+ 83 Linux "какие именно симптомы у тебя наблюдаются" Просто груб высказывает приветствие, 4 одинаковых сообщения об ошибке (заметить, что там, не получается, ибо очень быстро исчезает), затем пустой экран с сообщением о превышении допустимой частоты. (In reply to comment #14) > #GRUB_AUTOUPDATE_DEVICE='/dev/sda ' Во, спасибо. Эта заремареная запись -- из упакованного файла по умолчанию, а вот почему не была добавлена разремареная (возможно, при обновлении с grub-0.9x) -- придётся понять. Насколько понимаю по bug #24114, кроме alterator-grub и $EDITOR эту строчку туда добавить некому (обдумываю добавление триггером либо проверку файл-триггером). > /dev/sda2 63 3068414 1534176 83 Linux > /dev/sdb1 * 63 12594959 6297448+ 82 Linux своп / Solaris > /dev/sdc1 * 63 4192964 2096451 83 Linux Т.е. на всех дисках 63-й сектор уже занят, ага. > Просто груб высказывает приветствие, 4 одинаковых сообщения об ошибке > (заметить, что там, не получается, ибо очень быстро исчезает), затем пустой > экран с сообщением о превышении допустимой частоты. Значит, то же самое. BTW можешь рассказать историю загрузчиков на этой машинке -- т.е. с какого образа был установлен этот корень и с каким загрузчиком, и если образ версии давнее 6.0 -- как именно был установлен сам загрузчик? "BTW можешь рассказать историю загрузчиков на этой машинке -- т.е. с какого образа был установлен этот корень и с каким загрузчиком, и если образ версии давнее 6.0 -- как именно был установлен сам загрузчик?" Дык это... не помню уже, дело было более 4 лет назад. Ставил ALT 4.0, а дальше уже и не вспомнить. Я даже не помню, что там изначально ставилось: lilo или grub. В 4.0 как раз lilo -- я вот и пытаюсь понять, как на этих хостах появился и был настроен grub. Потому как если сугубо вручную, то разумным вариантом будет предупреждать и не пытаться самодеятельничать; что и сделано в 2.00-alt3 (прошу тестировать http://git.altlinux.org/tasks/83727/, завтра-послезавтра пойдёт в сизиф). Соответственно добавь, пожалуйста, вручную в /etc/sysconfig/grub2 строчки GRUB_AUTOUPDATE_DEVICE='/dev/sda ' GRUB_AUTOUPDATE_FORCE='no' и выполни grub-mkconfig -o /boot/grub/grub.cfg (позаимствовал в -alt3 из дебиана однострочный update-grub с этим вызовом для удобства). 2 amike: ты тоже, плюс расскажи об истории загрузчика и как он вообще без этой переменной выжил (хотя это относительно понятно, см. тж. bug #24114). "GRUB_AUTOUPDATE_DEVICE='/dev/sda '" А пробел обязательно? (In reply to comment #18) > А пробел обязательно? Насколько понимаю, нет -- но привёл ровно в том виде, в котором добавляет alterator-grub. "я вот и пытаюсь понять, как на этих хостах появился и был настроен grub" Очень просто: apt-get install grub lilo- Это ещё до grub2 было. А вот какие ещё были телодвижения, уже не вспомнить, но, кажется, MBR руками ставился, хотя могу и ошибаться... В пакет добавлены предупреждалки, на вики добавлены уточнения процедуры ручной замены загрузчика, это всё проверено на стендах и минимум трёх живых людях -- считаю вопрос в разумной мере исчерпанным. Если вдруг у кого возникнет точная формулировка условий, при которых можно автоматизировать добавление GRUB_AUTOUPDATE_DEVICE -- переоткрывайте/пишите. После сегодняшнего обновления и перезагрузки в меню grub был только один пункт: memtest Посмотрел grub2.spec %post pc %_sbindir/grub-autoupdate || { echo "** WARNING: grub-autoupdate failed, NEXT BOOT WILL LIKELY FAIL NOW" echo "** WARNING: please run it by hand, record the output offline," echo "** WARNING: make sure you have bootable rescue CD/flash media handy" echo "** WARNING: and try \`grub-install /dev/sdX' manually" } >&2 Попробовал запустить команду в консоли: $ sudo /usr/sbin/grub-autoupdate; echo $? WARNING: GRUB_AUTOUPDATE_DEVICE not set in /etc/sysconfig/grub2 WARNING: run grub-install /dev/sdX if needed 0 Наверно по этой причине я не видел никаких предупреждений при обновлении. (In reply to comment #22) > $ sudo /usr/sbin/grub-autoupdate; echo $? > WARNING: GRUB_AUTOUPDATE_DEVICE not set in /etc/sysconfig/grub2 > WARNING: run grub-install /dev/sdX if needed > 0 Это нормально, см. окрестности второго exit 0 в /usr/sbin/grub-autoupdate -- ненулевой статус оставлен для сбоев grub-install. > Наверно по этой причине я не видел никаких предупреждений при обновлении. 1) а этих двух big fat warning тоже не было? 2) там ещё триггер лежит -- он тоже промолчал? Дело в том, что автоматизировать прописывание GRUB_AUTOUPDATE_DEVICE я не хочу по причине чреватости такой самодеятельности, а если кто-то вручную переезжал на GRUB по тогда ещё не полному описанию (эту фичу сделали несколько позже, см. bug #24114) -- придётся единовременно довершить начатое также вручную. Страничка http://www.altlinux.org/Grub была соответственно дополнена. Т.е. переоткрывать эту багу можно, но хорошо бы с соображениями по желаемому поведению: не banner(1) же выводить с учётом того, что переезд на grub осуществлялся исключительно руками, а инсталер GRUB_AUTOUPDATE_DEVICE пишет. > > Наверно по этой причине я не видел никаких предупреждений при обновлении.
> 1) а этих двух big fat warning тоже не было?
> 2) там ещё триггер лежит -- он тоже промолчал?
файл-триггер промолчал.
судя по коду файл-триггера первый запуск egrep вычитывает весь stdin и для второго egrep'а уже ничего не достаётся
Н-да, и впрямь глупость в триггере сморозил, спасибо. После добивания -efi намерен вернуться к остаточным вопросам по -pc; учту. Учтено в 2.00-alt5, ещё раз спасибо. (В ответ на комментарий №26) > Учтено в 2.00-alt5, ещё раз спасибо. И Вам спасибо. |