Best way to enumerate all drive

What’s the best way to enumerate drives on Linux, including all removeable drives? I am after the drive patch and the drive type, and ideally it’s link to /dev if possible.

Currently I am passing the output of the ‘mount’ command, but results are not always predictable so wondering if there is a native method.

When I try the below it doesn’t list optical drives or USBs which are mounted (despite the documentation saying it should)

Dim drv As FolderItem

For i As Integer = 0 to drv.LastDriveIndex
     MessagesBox(drv.DriveAt(i).Name)
Next