Quando eles chamam de "Bash no Ubuntu no Windows" eles realmente querem dizer isso - o atalho apenas executa o executável do Bash diretamente.
Se você acessar o sistema de outra forma (por SSH ou executando login
ou um gerenciador de exibição), ele lerá /etc/passwd
como de costume.
Mais simplesmente, você pode editar seu .bashrc
para falsificá-lo. Adicione:
if [ -t 1 ]
then
exec zsh
fi
até o final.
Você também pode criar novos atalhos do Windows (ou modificar os existentes) que geram outra coisa - bash.exe -c /usr/bin/zsh
deve funcionar bem o suficiente também.
Existe um erro relatado sobre isso . Eu não acho que seja uma alta prioridade (e isso não é realmente um bug), mas qualquer uma dessas soluções vai te deixar bem perto.