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 |