Yes, you can copy files between HVM⟺HVM & HVM⟺AppVM.
I didn't find any way in Qubes Documentation to do that.
I guess developers of Qubes didn't give this feature still.
But, I found way to do this.
First time what you have to do:
- Create a virtual disk image.
- Attach it to any VM(except dom0).
- Identify the disk image using fdisk.
- Create partition(s).
- Create filesystem in that partition.
- Detach from that VM
Every time what you have to do:
- Attach it to target VM(HVM or AppVM).
- Identify the disk image using fdisk.
- Mount that volume.
- Copy or Move whatever you want.
- Unmount that volume.
- Detach from that VM.
- Do same to another VM(HVM or AppVM) for Paste.
Commands to do:
Creating virtual disk image (in dom0 Terminal):
sudo dd if=/dev/zero of=/home/anaconda/storage.img bs=1M seek=20480 count=0
Replace 'anaconda' by your username; the number after seek is disk size in MB.
Attaching disk image to a VM (in dom0 Terminal):
For Qubes-3.2
qvm-block -A VMname dom0:/home/anaconda/storage.img
For Qubes-4.0
sudo losetup -f --show /home/anaconda/storage.img
qvm-block attach VMname dom0:loop21
Identifying disk image (in VM Terminal):
sudo fdisk -l
Creating partition (in VM Terminal):
sudo fdisk /dev/xvdi
Creating filesystem in partition (in VM Terminal):
sudo mkfs.fat /dev/xvdi1
Mounting volume (in VM Terminal):
sudo mkdir /mnt/removable
sudo mount /dev/xvdi1 /mnt/removable
Unmounting volume (in VM Terminal):
sudo umount /dev/xvdi1
Detaching disk image from VM (in dom0 Terminal):
qvm-block
qvm-block -d dom0:loop21
For Qubes-4.0 replace '-d' by 'detach'.
For video tutorial go to this link
https://m.youtube.com/watch?v=qE06DWWf97E