A little neat thing you can do with VirtualBox 5.2 is set a custom icon, but if you search the web, you'll likely run into old posts from many years ago advising it's not possible or it's undocumented. It's not something that can be done via the graphical interface yet either.
Well not anymore! In VirtualBox 5.2, you can from the terminal, and it works:
To use this niche feature, prepare a PNG graphic and run the command in your terminal:
VBoxManage modifyvm 'Name of VM' --iconfile /path/to/icon.png
(Tip: Drag and drop the file from the terminal)
This works by "embedding" the graphic into the
vbox file itself, so it's safe to move/delete the icon afterwards.
You can also go a step further and set a custom splash that appears before booting the virtual machine with a Bitmap (BMP) file that is 640x480 using this command:
VBoxManage modifyvm --bioslogoimagepath /path/to/image.bmp
(If it doesn't work, you may need to export the bitmap with different compatibility settings)