Respondo 2) primeiro: Se você configurar a VM para conter 2 discos virtuais, poderá colocar o sistema operacional e os componentes atualizáveis em um disco e todos os dados do usuário no outro disco. Para atualizar, preservando os dados do usuário, envie uma atualização do disco do sistema operacional.
Como para 1): Se você seguir minha sugestão para 2, você quer procurar um formato em que os discos virtuais sejam facilmente substituíveis individualmente. Você poderia conseguir isso usando qemu / kvm com, por exemplo, qcow2 imagens, mas provavelmente existem outros formatos, alguns dos quais podem ser mais fáceis de serem iniciados para usuários do que o qemu / kvm. Se você usar uma nuvem como o OpenNebula para executar as VMs em vez de pedir aos usuários que iniciem as VMs com qemu-kvm com 1), isso será muito viável.