VirtualBox точно умеет. Я сам не раз пользовался этоой функцией. Но в GUI нет возможности это сделать. Это можно сделать только из коммандной строки. Вот ссылка на мануал:
www.virtualbox.org/manual/ch09.html#rawdisk
Если кратко то нужно выполнить следующую комманду:
VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk \\.\PhysicalDrive0
Вместо \\.\PhysicalDrive0 подставляем нужное устройство.
Это команда НЕ копирует данные с устройства, она всего лишь создаеёт vmdk файл который содержит в себе что-то вроде ссылки на реальное устройство.
Подученный таким образом vmdk файл подключаетм через GUI как обычный образ диска.