Увидел такой момент. Было: # grub-entries 0 ALT p9 starter kit 1>0 Дополнительные параметры для ALT p9 starter kit>ALT p9 starter kit, vmlinuz 1>1 Дополнительные параметры для ALT p9 starter kit>ALT p9 starter kit, vmlinuz (recovery mode) 1>2 Дополнительные параметры для ALT p9 starter kit>ALT p9 starter kit, 4.19.79-std-def-alt1 1>3 Дополнительные параметры для ALT p9 starter kit>ALT p9 starter kit, 4.9.196-std-def-alt0.M80P.1 1>4 Дополнительные параметры для ALT p9 starter kit>ALT p9 starter kit, 4.9.161-std-def-alt0.M80P.1 2 Memtest86+-5.01 После grub-mkconfig -o /boot/grub/grub.cfg стало: # grub-entries 0 ALT p9 starter kit 1>0 Advanced options for ALT p9 starter kit>ALT p9 starter kit, vmlinuz 1>1 Advanced options for ALT p9 starter kit>ALT p9 starter kit, vmlinuz (recovery mode) 1>2 Advanced options for ALT p9 starter kit>ALT p9 starter kit, 4.19.79-std-def-alt1 1>3 Advanced options for ALT p9 starter kit>ALT p9 starter kit, 4.9.196-std-def-alt0.M80P.1 1>4 Advanced options for ALT p9 starter kit>ALT p9 starter kit, 4.9.161-std-def-alt0.M80P.1 2 Memtest86+-5.01 Учитывая, что значение может быть использовано в saved_entry в /boot/grub/grubenv хочется blocker поставить. Так и придётся за нечитабельные метки с uuid завязываться...
Спасибо за отчет. Посмотрю. На других дистрибутивах не пробовали?
(In reply to comment #1) > Спасибо за отчет. Посмотрю. На других дистрибутивах не пробовали? В других не пробовал. На самом деле баг больше для того пока, чтобы на него ссылку сделать, так как непонятно, что делать, если подумать. Локализация загрузочного меню нужна по идее, так что и изменения будут в зависимости от локали при генерации. Разве что допиливать Grub до варианта, когда локализация будет только при отображении меню, а не в конфиге.
(Ответ для Sergey Y. Afonin на комментарий #2) > В других не пробовал. На kworkstation 9.0 beta не воспроизводится. Чтобы добиться описанного поведения приходится принудительно делать LC_ALL=C update-grub Соответственно, возможно, в starter kit'ах просто нужно синхронизировать локализацию между установщиком и целевой системой.
В каком стартерките проблема? В стартерките и регулярке lxde такой проблемы нет, проверил.
(Ответ для Антон Мидюков на комментарий #4) > В каком стартерките проблема? В стартерките и регулярке lxde такой проблемы > нет, проверил. Дошло. Если переключиться в tty, то у root LANG=POSIX, соответственно, update-grub сделает на english всё. А в дистрибутивах у нас в соседней tty у root какой язык?
(Ответ для Sergey Y. Afonin на комментарий #0) > Учитывая, что значение может быть использовано в saved_entry в > /boot/grub/grubenv хочется blocker поставить. Так и придётся за > нечитабельные метки с uuid завязываться... Да нормально grub на такие перемены реагирует. Ругается при запуске на полсекунды, но выбирает пункт правильный всё равно.
(Ответ для Антон Мидюков на комментарий #5) > Дошло. Если переключиться в tty, то у root LANG=POSIX, соответственно, > update-grub сделает на english всё. > > А в дистрибутивах у нас в соседней tty у root какой язык? в kworkstation 9.0 beta тоже на соседней tty у root LANG=POSIX
(Ответ для Антон Мидюков на комментарий #6) > (Ответ для Sergey Y. Afonin на комментарий #0) > > Учитывая, что значение может быть использовано в saved_entry в > > /boot/grub/grubenv хочется blocker поставить. Так и придётся за > > нечитабельные метки с uuid завязываться... > > Да нормально grub на такие перемены реагирует. Ругается при запуске на > полсекунды, но выбирает пункт правильный всё равно. Поддерживаю. Тем более, что по пунктам перестановок нет: [root@localhost ~]# diff --width=80 -y grub_entries.ru grub_entries.en 0 ALT Workstation K 9.0 BETA 0 ALT Workstation K 9.0 BETA 1>0 Дополнительные параметры для | 1>0 Advanced options for ALT Work 1>1 Дополнительные параметры для | 1>1 Advanced options for ALT Work 1>2 Дополнительные параметры для | 1>2 Advanced options for ALT Work 1>3 Дополнительные параметры для | 1>3 Advanced options for ALT Work 2 Windows 7 (на /dev/sda1) | 2 Windows 7 (on /dev/sda1) 3 ALT Workstation K 8.3 (Centa | 3 ALT Workstation K 8.3 (Centa 4>0 Дополнительные параметры для | 4>0 Advanced options for ALT Work 4>1 Дополнительные параметры для | 4>1 Advanced options for ALT Work 4>2 Дополнительные параметры для | 4>2 Advanced options for ALT Work 4>3 Дополнительные параметры для | 4>3 Advanced options for ALT Work 4>4 Дополнительные параметры для | 4>4 Advanced options for ALT Work 4>5 Дополнительные параметры для | 4>5 Advanced options for ALT Work 4>6 Дополнительные параметры для | 4>6 Advanced options for ALT Work 4>7 Дополнительные параметры для | 4>7 Advanced options for ALT Work 4>8 Дополнительные параметры для | 4>8 Advanced options for ALT Work 4>9 Дополнительные параметры для | 4>9 Advanced options for ALT Work 4>10 Дополнительные параметры для | 4>10 Advanced options for ALT Work 4>11 Дополнительные параметры для | 4>11 Advanced options for ALT Work 5 Debian GNU/Linux 9 (stretch) | 5 Debian GNU/Linux 9 (stretch) 6>0 Дополнительные параметры для | 6>0 Advanced options for Debian G 6>1 Дополнительные параметры для | 6>1 Advanced options for Debian G 6>2 Дополнительные параметры для | 6>2 Advanced options for Debian G 6>3 Дополнительные параметры для | 6>3 Advanced options for Debian G 6>4 Дополнительные параметры для | 6>4 Advanced options for Debian G 7 Windows 7 (на /dev/sdb1) | 7 Windows 7 (on /dev/sdb1) 8 Memtest86+-5.01 8 Memtest86+-5.01 а в /boot/grub/grubenv saved_entry хранится в виде числового указателя: [root@localhost ~]# cat /boot/grub/grubenv # GRUB Environment Block saved_entry=1>1 Таким образом нарушения порядка загрузки при любом языке пунктов меню не будет
(Ответ для Sergey Y. Afonin на комментарий #2) > (In reply to comment #1) > > > Спасибо за отчет. Посмотрю. На других дистрибутивах не пробовали? > > В других не пробовал. На самом деле баг больше для того пока, чтобы на него > ссылку сделать, так как непонятно, что делать, если подумать. Локализация > загрузочного меню нужна по идее, так что и изменения будут в зависимости от > локали при генерации. Разве что допиливать Grub до варианта, когда > локализация будет только при отображении меню, а не в конфиге. Могу предложить в update-grub внести кусочек из alterator-grub: #!/bin/sh -e . /etc/sysconfig/grub2 + if [ -s /etc/sysconfig/i18n ]; then + . /etc/sysconfig/i18n + fi [ -n "$GRUB_AUTOUPDATE_CFGNAME" ] || GRUB_AUTOUPDATE_CFGNAME="/boot/grub/grub.cfg" exec grub-mkconfig -o "$GRUB_AUTOUPDATE_CFGNAME" "$@" Тогда на консоли root update-grub будет давать локализованный конфиг, а "grub-mkconfig -o /boot/grub/grub.cfg" в POSIX: [root@localhost ~]# update-grub Генерируется файл настройки grub ? Найдена тема: /boot/grub/themes/branding-xalt-kworkstation/theme.txt Found background image: /boot/grub/themes/branding-xalt-kworkstation/grub.png Найден образ linux: /boot/vmlinuz Найден образ initrd: /boot/initrd.img Найден образ linux: /boot/vmlinuz-std-def skipping symlink: /boot/vmlinuz-std-def Найден образ linux: /boot/vmlinuz-4.19.102-std-def-alt1 Найден образ initrd: /boot/initrd-4.19.102-std-def-alt1.img Найден образ linux: /boot/vmlinuz-un-def skipping symlink: /boot/vmlinuz-un-def Найден образ linux: /boot/vmlinuz-5.4.17-un-def-alt1 Найден образ initrd: /boot/initrd-5.4.17-un-def-alt1.img Найден Windows 7 на /dev/sda1 Найден ALT Workstation K 8.3 (Centaurea Ruthenica) на /dev/sda5 Найден Debian GNU/Linux 9 (stretch) на /dev/sda6 Найден Windows 7 на /dev/sdb1 Found memtest image: memtest-5.01.bin завершено [root@localhost ~]# grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found theme: /boot/grub/themes/branding-xalt-kworkstation/theme.txt Found background image: /boot/grub/themes/branding-xalt-kworkstation/grub.png Found linux image: /boot/vmlinuz Found initrd image: /boot/initrd.img Found linux image: /boot/vmlinuz-std-def skipping symlink: /boot/vmlinuz-std-def Found linux image: /boot/vmlinuz-4.19.102-std-def-alt1 Found initrd image: /boot/initrd-4.19.102-std-def-alt1.img Found linux image: /boot/vmlinuz-un-def skipping symlink: /boot/vmlinuz-un-def Found linux image: /boot/vmlinuz-5.4.17-un-def-alt1 Found initrd image: /boot/initrd-5.4.17-un-def-alt1.img Found Windows 7 on /dev/sda1 Found ALT Workstation K 8.3 (Centaurea Ruthenica) on /dev/sda5 Found Debian GNU/Linux 9 (stretch) on /dev/sda6 Found Windows 7 on /dev/sdb1 Found memtest image: memtest-5.01.bin done
(Ответ для nickel@altlinux.org на комментарий #9) > Могу предложить в update-grub внести кусочек из alterator-grub: > > #!/bin/sh -e > > . /etc/sysconfig/grub2 > + if [ -s /etc/sysconfig/i18n ]; then > + . /etc/sysconfig/i18n > + fi > > [ -n "$GRUB_AUTOUPDATE_CFGNAME" ] || > GRUB_AUTOUPDATE_CFGNAME="/boot/grub/grub.cfg" > > exec grub-mkconfig -o "$GRUB_AUTOUPDATE_CFGNAME" "$@" > > Тогда на консоли root update-grub будет давать локализованный конфиг, а > "grub-mkconfig -o /boot/grub/grub.cfg" в POSIX: А при обновлении ядра у нас update-grub выполняется? Если так, то хороший вариант.
(Ответ для Антон Мидюков на комментарий #10) > (Ответ для nickel@altlinux.org на комментарий #9) > > Могу предложить в update-grub внести кусочек из alterator-grub: > > > > #!/bin/sh -e > > > > . /etc/sysconfig/grub2 > > + if [ -s /etc/sysconfig/i18n ]; then > > + . /etc/sysconfig/i18n > > + fi > > > > [ -n "$GRUB_AUTOUPDATE_CFGNAME" ] || > > GRUB_AUTOUPDATE_CFGNAME="/boot/grub/grub.cfg" > > > > exec grub-mkconfig -o "$GRUB_AUTOUPDATE_CFGNAME" "$@" > > > > Тогда на консоли root update-grub будет давать локализованный конфиг, а > > "grub-mkconfig -o /boot/grub/grub.cfg" в POSIX: > > А при обновлении ядра у нас update-grub выполняется? Если так, то хороший > вариант. Судя по всему, выполняется "grub-mkconfig -o /boot/grub/grub.cfg" напрямую. update-grub в процессе обновления ядра не участвует.
(In reply to nickel@altlinux.org from comment #8) > а в /boot/grub/grubenv saved_entry хранится в виде числового указателя: > > [root@localhost ~]# cat /boot/grub/grubenv > # GRUB Environment Block > saved_entry=1>1 Вообще-то нет. Тут хранится то, что записали. И число тут использовать плохо: Допустим тут 1>4 (из первого сообщения), и тут раз, и удаляется "4.19.79-std-def-alt1".