Bug 40004

Summary: Skipped removable
Product: Sisyphus Reporter: Anton Shevtsov <shevtsov.anton>
Component: grub-commonAssignee: Николай Костригин <nickel>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: lav, nickel, placeholder, rider
Version: unstable   
Hardware: x86_64   
OS: Linux   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=94023

Description Anton Shevtsov 2021-04-27 20:29:53 MSK
Столкнулся с тем, что grub-mkconfig постоянно пропускал раздел с виндой и с другим сизифом на другом винте..

выглядит это вот так

grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-std-def
skipping symlink: /boot/vmlinuz-std-def
Found linux image: /boot/vmlinuz
Found initrd image: /boot/initrd.img
Found linux image: /boot/vmlinuz-5.10.32-std-def-alt1
Found initrd image: /boot/initrd-5.10.32-std-def-alt1.img
Found linux image: /boot/vmlinuz-5.4.109-std-def-alt1
Found initrd image: /boot/initrd-5.4.109-std-def-alt1.img
Found linux image: /boot/vmlinuz-5.4.108-std-def-alt1
Found initrd image: /boot/initrd-5.4.108-std-def-alt1.img
Found linux image: /boot/vmlinuz-un-def
skipping symlink: /boot/vmlinuz-un-def
Found linux image: /boot/vmlinuz-5.4.105-std-def-alt1
Found initrd image: /boot/initrd-5.4.105-std-def-alt1.img
Found linux image: /boot/vmlinuz-5.10.20-un-def-alt1
Found initrd image: /boot/initrd-5.10.20-un-def-alt1.img
Skipped Microsoft Windows XP Professional RU on removable /dev/sda1.
Skipped ALT Sisyphus Sisyphus on removable /dev/sda3.
Found memtest image: /boot/memtest-5.31b.bin
done

оказалось, что в /etc/grub.d/30_os-prober
есть условие 


DEVICE_KDNAME="${DEVICE_KDNAME##*/}"
  echo ${DEVICE_KDNAME}
  if [ "x$(cat /sys/block/${DEVICE_KDNAME}/removable)" = "x1" ]; then
    echo "Skipped ${LONGNAME} on removable ${DEVICE}." >&2
    continue
  fi

так вот содежимое файла /sys/block/${DEVICE_KDNAME}/removable для любого диска у меня равно 1, таким образом скипается все.. для себя решил исправлением 

 if [ "x$(cat /sys/block/${DEVICE_KDNAME}/removable)" = "x0" ]; then

что совершенно не верно, но грузить винду иногда надо..
Comment 1 Anton Farygin 2021-04-27 21:23:49 MSK
Интересна причина, по которой removable для любого диска равно 1. Нельзя ли это поизучать на этой машине ?
Comment 2 Anton Shevtsov 2021-04-27 21:31:25 MSK
(Ответ для Anton Farygin на комментарий #1)
> Интересна причина, по которой removable для любого диска равно 1. Нельзя ли
> это поизучать на этой машине ?

Скажите, что сделать 

ls -1l /sys/block/sd*

lrwxrwxrwx 1 root root 0 апр 27 23:20 /sys/block/sda -> ../devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 апр 27 23:21 /sys/block/sdb -> ../devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 апр 27 23:21 /sys/block/sdc -> ../devices/pci0000:00/0000:00:1d.7/usb3/3-3/3-3:1.0/host7/target7:0:0/7:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 апр 27 23:21 /sys/block/sdd -> ../devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1:1.0/host6/target6:0:0/6:0:0:0/block/sdd
lrwxrwxrwx 1 root root 0 апр 27 23:21 /sys/block/sde -> ../devices/pci0000:00/0000:00:1d.7/usb3/3-3/3-3:1.0/host7/target7:0:0/7:0:0:1/block/sde
lrwxrwxrwx 1 root root 0 апр 27 23:21 /sys/block/sdf -> ../devices/pci0000:00/0000:00:1d.7/usb3/3-3/3-3:1.0/host7/target7:0:0/7:0:0:2/block/sdf
lrwxrwxrwx 1 root root 0 апр 27 23:21 /sys/block/sdg -> ../devices/pci0000:00/0000:00:1d.7/usb3/3-3/3-3:1.0/host7/target7:0:0/7:0:0:3/block/sdg

cat /sys/block/sd{a,b,c,d,e,f,g}/removable 
1
1
1
1
1
1
1

sda - обычный sata терабайтник Disk model: ST31000524AS 
sdb - sata ssd китайский
остальные от картридера слоты
Comment 3 Anton Farygin 2021-04-27 21:43:45 MSK
ну народ пишет в сети, что на некоторых BIOS'ах некоторые внутренние SATA порты помечаются как hotplug. Можно выключить в BIOS или попробовать другой SATA порт.

Т.е. - это аппаратная ошибка, с ней ничего в grub сделать не получится, а добавлять записи для removable устройств плохая идея.