我的新笔记本电脑有内置读卡器。与以前的笔记本电脑不同,读卡器显示为标准 USB 磁盘 (/dev/sdb),而不是专用 PCIe 设备 (/dev/mmcblk)。因此,GRUB 在运行时似乎会扫描它update-grub
,这会产生错误,因为读卡器中没有卡:
$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
/dev/sdb: open failed: No medium found
/dev/sdb: open failed: No medium found
/dev/sdb: open failed: No medium found
/dev/sdb: open failed: No medium found
/dev/sdb: open failed: No medium found
/dev/sdb: open failed: No medium found
...
这不是什么问题,但看到这些不必要的垃圾信息确实很烦人。我尝试过将 添加GRUB_DISABLE_OS_PROBER=true
到/etc/default/grub
和/etc/grub.d/30_os-prober
,以及chmod -x /etc/grub.d/30_os-prober
,但每次它仍然会检查/dev/sdb
,所以我不确定调用在哪里。
我的这台笔记本电脑上只有 Ubuntu,而且只有一个 SSD,因此无需扫描任何其他磁盘。我安装了 19.10,本月升级到 20.04。我可以禁用扫描吗?
答案1
我想总结一下bug1834259mook765 提到。
对我有用的是:
我在根磁盘上使用 lvm2(我不确定如果不使用 lvm 是否可以工作)。
正如在bug1834259我在 的设备部分添加了一个全局过滤器/etc/lvm/lvm.conf
。
首先查找/dev/disk/by-id
要添加的过滤器。
# ls -l /dev/disk/by-id/
total 0
...
lrwxrwxrwx 1 root root 9 Aug 8 17:23 usb-Generic_STORAGE_DEVICE_00001-0:0 -> ../../sdb
lrwxrwxrwx 1 root root 9 Aug 8 17:23 usb-Generic_STORAGE_DEVICE_00001-0:1 -> ../../sdc
lrwxrwxrwx 1 root root 9 Aug 8 17:23 usb-Generic_STORAGE_DEVICE_00001-0:2 -> ../../sdd
lrwxrwxrwx 1 root root 9 Aug 8 17:23 usb-Generic_STORAGE_DEVICE_00001-0:3 -> ../../sde
就我而言,usb-Generic 指向读卡器设备。
为了过滤掉这些设备,我的全局过滤器如下所示:
global_filter = [ "r|/dev/disk/by-id/usb-Generic.*|" ]
请注意,这是 之间的正则表达式|
。r
开头的 表示“删除”。
可能还有更聪明的解决方案,但这对我来说有效。