| Summary: | grub-mkconfig не видит ещё две OS Linux на втором диске. | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Горев Андрей <nekapitan2009> |
| Component: | grub | Assignee: | Николай Костригин <nickel> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P3 | CC: | klark, nickel, placeholder, rider |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
| Bug Depends on: | 37224 | ||
| Bug Blocks: | |||
|
Description
Горев Андрей
2019-04-18 12:16:51 MSK
Спасибо за отчет. Можно еще вывод #fdisk -l /dev/sd* и #lsblk lsblk -f По результатам изысканий:
grub-mkconfig действительно не видит GNU/Linux-систем на соседнем (по отношению к системной root партиции) физическом диске из-за проблем с os-prober, которые, в свою очередь, видимо, вызваны взаимодействием с device-mapper.
тестировалось на вот такой конфигурации:
$ lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 ntfs System Reserved 52D464CCD464B43F
├─sda2 ntfs 3EF871C9F8717FC7
├─sda3 ext4 09d325c7-5528-470b-b5b5-70d1c7ba0629
├─sda4
├─sda5 ext4 e142009a-5f53-4a6e-838f-f16799b56f28
├─sda6 ext4 b9f2e6dd-c6e6-45ea-837b-b8ba9b0b1611
└─sda7 swap cb1f4962-da18-46e8-9932-b5786f76c48c
sdb
├─sdb1 ntfs System Reserved 52D464AAD446B43F
├─sdb2 ntfs 3EF839C8FF727FC7
├─sdb3 ext4 ec3ee769-2fab-4208-b3d1-68d0650c0a90 155,1M 27% /boot
├─sdb4
└─sdb5 ext4 cd8a024f-62e8-4ae0-8a18-e5893937d989 18,1G 35% /
при этом нормальный вывод grub-entries:
# grub-entries
0 ALT Workstation K 9.0 BETA
1>0 Advanced options for ALT Workstation K 9.0 BETA>ALT Workstation K 9.0 BETA, vmlinuz
1>1 Advanced options for ALT Workstation K 9.0 BETA>ALT Workstation K 9.0 BETA, vmlinuz (recovery mode)
1>2 Advanced options for ALT Workstation K 9.0 BETA>ALT Workstation K 9.0 BETA, 4.19.72-std-def-alt1
1>3 Advanced options for ALT Workstation K 9.0 BETA>ALT Workstation K 9.0 BETA, 5.2.11-un-def-alt1
1>4 Advanced options for ALT Workstation K 9.0 BETA>ALT Workstation K 9.0 BETA, 5.0.8-un-def-alt1
2 Windows 7 (loader) (on /dev/sda1)
3 ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)
4>0 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3 (on /dev/sda5)
4>1 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3, vmlinuz (on /dev/sda5)
4>2 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3, vmlinuz (recovery mode) (on /dev/sda5)
4>3 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3, 4.19.35-un-def-alt0.M80P.1 (on /dev/sda5)
4>4 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3, 4.19.16-un-def-alt0.M80P.1 (on /dev/sda5)
4>5 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 9.0 BETA (Centaurea Ruthenica) (на /dev/sdb5) (on /dev/sda5)
4>6 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3 (Centaurea Ruthenica) (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
4>7 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3 (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
4>8 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3, vmlinuz (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
4>9 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3, vmlinuz (recovery mode) (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
4>10 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 9.0 BETA (Centaurea Ruthenica) (на /dev/sdb5) (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
4>11 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3 (Centaurea Ruthenica) (на /dev/sda5) (на /dev/sdb5) (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
4>12 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3 (на /dev/sda5) (на /dev/sdb5) (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
4>13 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3, vmlinuz (на /dev/sda5) (на /dev/sdb5) (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
4>14 Advanced options for ALT Workstation K 8.3 (Centaurea Ruthenica) (on /dev/sda5)>ALT Workstation K 8.3, vmlinuz (recovery mode) (на /dev/sda5) (на /dev/sdb5) (на /dev/sda5) (на /dev/sdb5) (on /dev/sda5)
5 Debian GNU/Linux (9.4) (on /dev/sda6)
6>0 Advanced options for Debian GNU/Linux (9.4) (on /dev/sda6)>Debian GNU/Linux (on /dev/sda6)
6>1 Advanced options for Debian GNU/Linux (9.4) (on /dev/sda6)>Debian GNU/Linux, with Linux 4.9.0-8-amd64 (on /dev/sda6)
6>2 Advanced options for Debian GNU/Linux (9.4) (on /dev/sda6)>Debian GNU/Linux, with Linux 4.9.0-8-amd64 (recovery mode) (on /dev/sda6)
6>3 Advanced options for Debian GNU/Linux (9.4) (on /dev/sda6)>Debian GNU/Linux, with Linux 4.9.0-6-amd64 (on /dev/sda6)
6>4 Advanced options for Debian GNU/Linux (9.4) (on /dev/sda6)>Debian GNU/Linux, with Linux 4.9.0-6-amd64 (recovery mode) (on /dev/sda6)
7 Windows 7 (loader) (on /dev/sdb1)
8 Memtest86+-5.01
а в состоянии, когда бага проявляется, полностью отсутствуют упоминания о
ALT Workstation K 8.3 и Debian.
Вывод grub-mkconfig содержит упоминания об установленных системах, но в grub.cfg данные не попадают.
# update-grub
Генерируется файл настройки grub …
Найден образ linux: /boot/vmlinuz
Найден образ initrd: /boot/initrd.img
Найден образ linux: /boot/vmlinuz-std-def
skipping symlink: /boot/vmlinuz-std-def
Найден образ linux: /boot/vmlinuz-4.19.72-std-def-alt1
Найден образ initrd: /boot/initrd-4.19.72-std-def-alt1.img
Найден образ linux: /boot/vmlinuz-un-def
skipping symlink: /boot/vmlinuz-un-def
Найден образ linux: /boot/vmlinuz-5.2.11-un-def-alt1
Найден образ initrd: /boot/initrd-5.2.11-un-def-alt1.img
Найден образ linux: /boot/vmlinuz-5.0.8-un-def-alt1
Найден образ initrd: /boot/initrd-5.0.8-un-def-alt1.img
*device-mapper: remove ioctl on osprober-linux-sda5 failed: Устройство или ресурс занято
Command failed.*
*device-mapper: remove ioctl on osprober-linux-sda6 failed: Устройство или ресурс занято
Command failed.*
Найден 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
Видно неотключенные партиции osprober*, которые запуском blkdeactivate можно отключить.
После этого несколько повторных запусков update-grub могут привести (с переменным успехом) к появлению записей об одной из двух (!) Linux-систем на соседнем диске в grub.cfg.
# lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 ntfs System Reserved 52D464CCD464B43F
├─sda2 ntfs 3EF871C9F8717FC7
├─sda3 ext4 09d325c7-5528-470b-b5b5-70d1c7ba0629
├─sda4
├─sda5 ext4 e142009a-5f53-4a6e-838f-f16799b56f28
│ └─osprober-linux-sda5
│ ext4 e142009a-5f53-4a6e-838f-f16799b56f28
├─sda6 ext4 b9f2e6dd-c6e6-45ea-837b-b8ba9b0b1611
│ └─osprober-linux-sda6
│ ext4 b9f2e6dd-c6e6-45ea-837b-b8ba9b0b1611
└─sda7 swap cb1f4962-da18-46e8-9932-b5786f76c48c
sdb
├─sdb1 ntfs System Reserved 52D464AAD446B43F
├─sdb2 ntfs 3EF839C8FF727FC7
├─sdb3 ext4 ec3ee769-2fab-4208-b3d1-68d0650c0a90 155,1M 27% /boot
├─sdb4
└─sdb5 ext4 cd8a024f-62e8-4ae0-8a18-e5893937d989 18,1G 35% /
sr0 iso9660 Debian 9.4.0 amd64 1 2018-03-10-11-41-22-00
Ошибка не проявляется, если использовать grub2.02-alt15+ совместно с os-prober-1.70 вместо 1.74.
Еще было замечено, что ошибка не проявляется в связке grub2.02-alt15 + os-prober-1.74 если используется ядро std-def 4.19 и проявляется на ядрах un-def 5.{0,2}. Это не очень вяжется с тем, что у топикстартера ядро вообще 3.10.32-std-def-alt1.
Горев Андрей, прошу проверить решение с откатом версии os-prober до 1.70 на Вашей конфигурации.
Чтобы не потерялась история:
14.09.2019 15:25, Горев Андрей пишет:
Команды grub-entries в ALTLinux 8.2 не нашёл. В дистрибутиве тоже нет - проверить не смог.
update-grub сотворил нормально. Все OS видны с обоих дисков. Версии grub, os-prober и ядра:
grub-pc-2.02-alt14
os-prober-1.70-alt1
4.9.173-std-def-alt0.M80P.1
Стоит самое последнее из дистрибутива ALTLinux 8.2. То есть для std-def должно быть всё тип-топ.
Да, действительно, команда grub-entries еще не бэкпортирована в p8 (есть в grub начиная релиза alt15, исправлена в alt16). По сути - это фильтр, выводящий только структуру загрузочных записей из файла /boot/grub/grub.cfg Спасибо, что проверили. grub-2.02-alt24 -> sisyphus: Thu Feb 20 2020 Nikolai Kostrigin <nickel@altlinux> 2.02-alt24 - introduce compatibility with os-prober 1.77 (closes: #36624) + remove grub-2.00-debian-uefi-os-prober patch + add alt-os-prober-compat patch + spec: add libfuse-devel to BR to support grub-mount feature - spec: replace deprecated PreReq with Requires(pre) for efibootmgr |