Isso soa como uma falta de comunicação. Talvez a máquina host e a máquina virtual usem distribuições diferentes.
Como você descreve, na maioria dos casos, você encontrará problemas de compatibilidade pré-compilados entre os kernels de distribuição e distribuições diferentes. Pode ser que ele tenha sido compilado usando um glibc diferente ou tenha a versão incorreta dos utilitários de terra do usuário. As variáveis são numerosas e tediosas.
Se alguém prestou atenção especial aos detalhes ou simplesmente teve sorte, eles podem ter tido sucesso em encontrar um kernel de distribuição pré-compilado que seja compatível entre si.
Eu acho que eles poderiam ter tecnicamente usado o código-fonte do pacote e compilado em uma distribuição diferente. No entanto, se a distribuição tiver um conjunto de recursos desejado e você não puder localizar um pacote pré-compilado para sua distribuição, ele poderá ser compilado da fonte principal do kernel.