I have CDs for Age of Empire III and I would like to play it in a Windows 10 VM. Is this possible? I know how to insert virtual CDs (i.e., ISO files) into a VirtualBox VM (via the "Storage" settings), but physical CDs are a different story. The best solution I can think of is to add where I've mounted the CDs on my Linux system to the system via shared folders.
Yes you can, but you need to have DVD passthrough active.
Go to VirtualBox's Machine > Settings > Storage > Enable Passthrough for the DVD drive.
To allow an external DVD drive to be recognized by a VirtualBox Virtual Machine (VM) it must be configured in such a way that "passthrough" is enabled. Enabling Passthrough allows the underlying operating system to pass the required commands through to the device that is connected to the Virtual Machine as opposed to the host operating system instance.
You should be able to use optical drive directly from VM. If it's Virtualbox then just in devices you have option to mount physical drive. Just the same as you can install os in VM without iso image.
The is no option with the GUI to do it but on the command line, you can create a pseudo disk image (vmdk) that refers to a physical disk.
If you attach that disk to your VM, you should be able to directly access it, e.g.:
VBoxManage internalcommands createrawvmdk -filename /home/user/vbdisks/cd.vmdk -rawdisk /dev/sdc VBoxManage storageattach VMname --storagectl "IDE Controller" --port 0 --device 1 --type dvd --medium /home/user/vbdisks/cd.vmdk
Beware not accessing any r/w disk with more than one OS, but with a read-only media like a CD or DVD, there should be no issue.
As SessionR answered, there is a much simpler alternative option for CD/DVD, just check the live CD/DVD checkbox and the physical drive will be accessible: