Fiz isso em uma circunstância de alto desempenho e consegui um desempenho quase suficiente para o desempenho nativo dos aplicativos que estávamos executando. Isso não é tanto um 'aqui está como fazê-lo', mas dois exemplos de onde eu fiz isso e obtive um desempenho adequado e resolvi um problema.
Para Ciência de Dados e Desenvolvimento de Software
Minhas estações de trabalho atuais (um laptop e minha estação de trabalho) têm o Windows 10 e o Ubuntu instalados lado a lado em duas partições separadas. Ao inicializar minha máquina, posso selecionar o Windows ou o Ubuntu e inicializar em qualquer sistema operacional. No Ubuntu, eu uso o VirtualBox para inicializar a partição nativa do Windows e executá-la como qualquer outra máquina virtual ( veja aqui ).
Tudo funciona: arrastar e soltar, área de transferência compartilhada e compartilhamento de arquivos. Eu corro constantemente planilhas grandes e multithread do Excel (não atire - eu não as construí!) Na minha máquina virtual e tudo é muito complicado.
Para trabalhos geofísicos, geológicos e de engenharia
Alguns anos atrás, eu criei uma configuração semelhante usando o CentOS e o Windows 7. Isso foi para que meus colegas pudessem executar simulações geofísicas caras e com alto desempenho no Linux, enquanto ainda conseguiam acessar o software de mapeamento 2D e 3D com grande demanda de desempenho no Windows 7 (junto com o Outlook e o restante do pacote Microsoft). Experimentamos o VirtualBox, mas com dinheiro para gastar, resolvemos o problema usando o VMware Workstation e a GPU (o custo foi trivial em comparação aos salários e licenciamento de software). Para nossos aplicativos, alcançamos desempenho suficiente o suficiente para o desempenho nativo no Windows e todos ficaram muito felizes com a instalação.
Essas eram máquinas bastante escassas para o seu tempo (por volta de 2010): Quadro 4000, Xeons de núcleo quádruplo duplo e 32 GB de memória. A parte mais árdua da montagem dessas configurações (tanto quanto me lembro) era algo a ver com um controlador RAID de hardware. Eu mantive cerca de uma dúzia de máquinas usando essa configuração e nunca tivemos um único problema durante a vida útil do projeto em que essas máquinas foram compradas (~ 2 anos). Este foi um resultado fantástico para nós, porque se uma única máquina estivesse inoperante, digamos, uma semana, isso nos custaria mais em perda de produtividade do que a própria estação de trabalho!
Conclusão
Você pode obter um desempenho muito bom usando a opção de inicialização dupla descrita acima. Eu fiz isso usando o VirtualBox e o VMware de diferentes ocasiões, usando uma combinação nas distribuições Linux (Mint, Ubuntu e CentOS) e versões do Windows (7, 10), e sempre obtive desempenho adequado para minhas necessidades.
A outra vantagem dessa configuração é que você pode destruir a partição e deixar o Windows ou Linux para trás se a) suas circunstâncias mudarem ou b) essa configuração não for adequada para suas necessidades. Se o desempenho não for suficiente, você também tem a possibilidade de simplesmente inicializar diretamente no sistema operacional, onde você precisa de um pouco mais de desempenho.
Finalmente, uma nota sobre o licenciamento: Se você inicializar o Windows nativamente ele vai ver um hardware diferente e interrogar sobre licenças. Esse é um problema menor do Windows 10, que simplesmente o incomoda quando você se dá bem com seu trabalho. Não me lembro como resolvemos isso para essas estações de trabalho geofísicas; Lembro que tínhamos uma licença por volume e possivelmente alguma ajuda de um representante da Microsoft.
Epílogo: Remote X e VirtualGL
Também configurei estações de trabalho usando o VirtualGL e um cluster de GPU para simulações de petróleo de alto desempenho. Até fiz isso na AWS, mas não o recomendo por vários motivos: custo, desempenho e conveniência.