VMs can be spread across disks and usually not all resources such as printers and other devices are shared.
In generally speaking, if you use VirtualBox, each VM has it respective setting, it also has a USB (tab) where you can enable the USB controller - which allows you to access the PHDs/E-HDDs connected to the host in the VM, so if you have a printer connected to USB all drivers are installed and configured and properly working in the host, you can install the same drivers in the VM and enable the USB controller and access the printer for printing from inside VM.
hmm "other devices" like? (examples) (I can access Bluetooth dongle, pen drives, my internet 3G data card, yea printer... ) let us know if you tried anything in specific and it failed, so we all know.
The first and the hardest SQL statement I have wrote- "select * from customers" - and I was happy and felt smart.