udev에서 USB 장치가 부팅 가능한지 어떻게 감지합니까?

udev에서 USB 장치가 부팅 가능한지 어떻게 감지합니까?

시스템에 연결된 USB 장치가 부팅 가능한 경우 마운트되지 않도록 udev 규칙을 작성하려고 하는데 해당 장치가 규칙에서 부팅 가능한지 여부를 udev에서 지정하는 방법을 모르겠습니다. 그게 가능합니까? 그렇다면 내 규칙에는 무엇이 포함되어야 합니까?

명확히 말하면 부팅 가능이란 장치에 부팅 시 시작할 수 있는 운영 체제가 있다는 의미입니다.

답변1

udevMBR 테이블의 파티션 항목 플래그를 포함하여 일부 환경 변수를 파티션 노드(리프 노드)에 추가합니다.부팅 가능한 파티션가 있어야 합니다 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'"

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'"

관련 정보