Minha resposta aqui , copiada abaixo, provavelmente é aplicável a você também e explica por que a atualização do kernel e o kernel module (storvsc) corrigiu seu problema. Veja como obter uma máquina Ubuntu 12.04 em execução no Hyper-V:
Copiado da minha resposta aqui: link
A maneira mais fácil de fazer o Ubuntu 12.04 rodar bem no Hyper-V na plataforma 2012 seria baixar a imagem do Windows Azure Cloud - infelizmente, como verifico hoje (10 de julho de 2013), as imagens não estão disponíveis na Armazenamento de imagens do Ubuntu Cloud Images . Eu fiz uma pergunta no site de respostas que você pode seguir para ver se eles restauram as imagens da nuvem.
Dito isso, vamos discutir por que você tem um problema: o 12.04.2 tem um kernel antigo sem a integração mais recente do Hyper-V (módulos do kernel) que foi incluída no 12.10 e também no 13.04. A cura é obter um kernel mais novo. Como eu disse anteriormente, a maneira mais fácil de obter a imagem certa é criar uma imagem para o Windows Azure - a nuvem pública do Azure e seu servidor Hyper-V privado executam essencialmente o mesmo hipervisor. As instruções aplicáveis ao Azure são aplicáveis a você.
Para executar na plataforma Azure, também conhecida como hipervisor do Hyper-V 2012, a Microsoft recomenda na sua lista de endossou distribuições do Linux que você segue uma série de etapas para atualizar as distribuições 12.04.x para usar um kernel e módulos de kernel portados pelo backport. Você não precisa instalar o walinuxagent ou reconfigurar o GRUB, que é necessário apenas para o Windows Azure . As instruções completas são reproduzidas aqui com o Walinuxagent e Instruções do GRUB removidas:
-
sudo sed -i "s,archive.ubuntu.com,azure.archive.ubuntu.com,g" /etc/apt/sources.list
Esta etapa atualiza os espelhos para apontar para um espelho hospedado do Azure.
-
sudo apt-add-repository ‘http://archive.canonical.com/ubuntu precise-backports main’
Esta etapa adiciona o repositório necessário para obter as alterações do kernel e do agente.
-
sudo apt-get update
-
sudo apt-get install linux-backports-modules-hv-precise-virtual
Esta etapa adiciona o kernel de atualização e os módulos associados.
-
sudo apt-get install hv-kvp-daemon-init
Esta etapa adiciona o agente atualizado.NOTA: Eu removi o walinuxagent deste comando. Não é necessário para nuvens privadas, mas é para o Windows Azure. Essa atualização, no entanto, instala a troca de par de valores-chave, que pode ser usada para sincronização de horário e outras coisas, mas não estou totalmente certo.
- Esta etapa foi removida no que se refere à modificação do GRUB para ser executada com mais eficiência no Windows Azure.
- (recomendado)
sudo apt-get dist-upgrade
-
sudo reboot
Uma nota final: estas instruções adicionam um novo repositório às suas máquinas Ubuntu e você deve estar ciente do efeito que isso tem. Certifique-se de que o primeiro comando seja executado corretamente (eu não testei na semana passada) para substituir archive.ubuntu.com
por azure.archive.ubuntu.com
. Eu mesmo executei estes passos, mas não posso dizer que eles funcionarão no futuro. Esteja ciente de que o objetivo da primeira etapa é apontar a distribuição do Ubuntu para usar um novo conjunto de repositórios padrão projetados para oferecer suporte ao backport para o Windows Azure e o hipervisor do Hyper-V 2012.