如何检测 USB 设备是否可在 udev 中启动?

bom*_*lue 6 boot usb udev

我正在尝试编写一个 udev 规则,如果 USB 设备可启动,则不挂载插入我的系统的 USB 设备,但我不知道如何在 udev 中指定设备是否可在规则中启动。那可能吗?如果是这样,什么需要进入我的规则?

明确地说,通过可引导,我的意思是设备有一个可以在启动时引导的操作系统。

use*_*.dz 2

udev向分区节点(叶节点)添加一些环境变量,包括 MBR 表的分区条目标志。可启动分区应该有ID_PART_ENTRY_FLAGS=0x80.

尝试此规则,您将看到所有环境变量(来源: 在 udev 脚本中将 ATTR{idVendor} 作为参数传递):

KERNEL="sd[a-z][1-9]", RUN+="/bin/sh -c 'echo == >> /home/username/Desktop/usb-storage.txt; env >> /home/username/Desktop/usb-storage.txt'"
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 14.04 中适用于我的规则:

ACTION=="add", KERNEL=="sd[a-z][1-9]", ENV{ID_PART_ENTRY_FLAGS}=="0x80", RUN+="/bin/sh -c 'echo 0 > /sys%p/../../../../../../../authorized'"
Run Code Online (Sandbox Code Playgroud)