Dê uma olhada no diretório /sys/ . Em particular, /sys/block/ contém links simbólicos para bloquear dispositivos em /sys/devices/ .
/sys/block/sdX/removable parece que será 1 para um dispositivo removível e 0 para o contrário. Isso lhe dá uma verificação básica para remoção.
Não sei se há uma maneira melhor de verificar se é um dispositivo USB, mas
readlink /sys/block/sde vai cuspir algo como ../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1.2/6-1.2:1.0/host7/target7:0:0/7:0:0:0/block/sde . Verificar se isso contém uma pasta usb* pode funcionar como uma simples verificação.
Você pode obter outros detalhes do dispositivo, como fornecedor e modelo, em /sys/block/sdX/device/ , que também podem ser úteis.