Os principais riscos do desenvolvimento de módulos do kernel são que você pode travar seu sistema com muito mais facilidade do que com código regular, e você provavelmente descobrirá que às vezes cria módulos que não podem ser descarregados, o que significa que você terá que reinicializar recarregá-los depois de corrigir o que está errado.
Sim, uma VM é adequada para esse tipo de desenvolvimento e é o que eu uso quando estou trabalhando em módulos do kernel. A VM isola muito bem o ambiente de teste do seu sistema em execução.
Se você for tirar e restaurar snapshots, você deve manter seu código-fonte registrado em um repositório de controle de versão fora da VM para que você não perca acidentalmente seu código mais recente ao descartar o estado atual da VM.