BACKUP/RESTORE appears to be the obvious choice. First restore a full backup of the database on the VM with NORECOVERY. Then apply log backups regularly still with /NORECOVERY. At the cutover, but the source database in restricted mode and take a last log backup and then restore it with RECOVERY.
You will also need a plan for how the clients should start talking to the new server.