Here’s what I do to auto mount an internal sd card. I assume it would work the same for usb devices but I haven’t tried. Also I don’t know how to attach a drive to more than one app vm at a time. If I really need to I can manually switch the drive to another appvm.
in dom 0
qvm-block attach --persistent vault dom0:mmcblk0p1
use qvm-usb if using a usb drive. Also substitute Appvm of your choice and the drive your using. I choose my Vault vm because I use it to decrypt the drive and I think using a vm with no internet improves security.
I set up vault to auto mount the drive with a key file putting this command in /rw/config/rc.local in my vault vm
cryptsetup -d /home/user/Documents/luks-keys/mybackup_key luksOpen /dev/xvdi xvdi_crypt
In qubes 4.1 when a drive is decrypted but not mounted the drive becomes available to be mounted on a different app vm than it was decrypted with.
my qubes shows a drive vault:dm-0
From there I attach the new drive to personal
qvm-block attach --persistent personal vault:dm-0
last I mount the drive putting this command in /rw/config/rc.local on personal
mount /dev/xvdi /home/user/SDCard
The vault vm has to be started before personal for personal to be able to start. I just have my vault vm start at boot.