Alguém sabe por que a Microsoft escolheu montar o diretório WSL /mnt/c
em vez de /c
?
Eu vi um tutorial online sobre como mudar para /c
, mas temo que essa mudança possa travar alguma coisa.
Alguém sabe por que a Microsoft escolheu montar o diretório WSL /mnt/c
em vez de /c
?
Eu vi um tutorial online sobre como mudar para /c
, mas temo que essa mudança possa travar alguma coisa.
A localização de vários pontos de montagem é de domínio do FHS . Existem algumas opções disponíveis para montar um volume permanente, como a unidade C do Windows. Vamos analisá-los para entender a lógica por trás da decisão da Microsoft.
No
/media/c
Este teria sido meu primeiro pensamento, já que
/media/*
é onde estou pessoalmente acostumado a montar unidades permanentemente instaladas, como discos rígidos internos e SSDs em minhas máquinas Linux.A ESF diz:
Então, de acordo com a especificação, não é bem o que queremos. Embora eu não tenha certeza se é tecnicamente possível desmontar
c
do WSL, certamente não é removível no sentido tradicional da palavra.Vários navegadores de arquivos da GUI também mostrarão os volumes montados na barra lateral. Isso geralmente não deve ser uma grande preocupação com a WSL, mas é bom considerar mesmo assim.
Prós:
Contras:
No
/mnt/c
Esta é claramente a opção que a Microsoft escolheu. Mas por que? Olhando para a especificação novamente, vemos:
Hum. Isso também não se encaixa em nosso caso de uso. Normalmente, ao usar
/mnt
, é ele/mnt
mesmo que é montado, em vez de um subdiretório - mas como isso só deve ser feito temporariamente e manualmente por um administrador, o administrador ainda pode montar onde quiser dentro de seu próprio critério/mnt
. Certamente, não é para ser montado automaticamente pelo sistema. Em suma, esta parece ser uma má escolha da parte da Microsoft.Prós:
Contras:
/mnt
No
/c
Isso pode parecer uma escolha intuitiva e óbvia. Ele espelha a metáfora do Windows do nome da unidade sendo a primeira parte de cada caminho e é fácil de digitar e lembrar. Mas o FHS não gosta de diretórios arbitrários em
/
.Prós:
Contras:
Resumo
Onde montar drives permanentes é uma questão de longa data entre os usuários de sistemas * nix. Infelizmente, não parece haver um grande consenso no momento. Minha opinião pessoal é que a Microsoft tomou a decisão errada e
/media/c
teria sido melhor, embora/c
também fosse uma opção válida. É possível, porém, que devido à falta de acordo, ele tenha sido simplesmente escolhido aleatoriamente por um desenvolvedor e nunca alterado. Seja qual for o caso, a resposta para o motivo pelo qual o WSL é montadoC:
é/mnt/c
que "simplesmente".Como a outra resposta atual aqui demonstra (e muito bem), pode ser mais uma questão de opinião do que qualquer coisa. Como as perguntas baseadas em opinião são, para ser justo, fora do tópico aqui, abordarei a outra parte da sua pergunta (implícita):
Embora eu não o encoraje necessariamente, não me preocupo com a possibilidade de quebrar alguma coisa, pelo menos não no sentido tradicional.
O método para alterá-lo é mencionado diretamente nos [documentos WSL]( https://learn.microsoft.com/en-us/windows/wsl/wsl-config#automount-settings . Basta
sudo -e /etc/wsl.conf
adicionar:Saia da distribuição do WSL, execute
wsl --shutdown
(ouwsl --terminate <distro>
) no PowerShell (como um usuário comum não administrador) e reinicie.Agora você deve ver
/c
(e quaisquer outras unidades do Windows no nível raiz). Observe que os pontos de montagem pré-existentes em/mnt
(como/mnt/c
) ainda existirão, mas estarão vazios. Você podesudo rmdir /mnt/c
(etc.) para cada unidade.Eu tenho algumas razões bastante benignas para recomendar que você mantenha as montarias em
/mnt
:Todo mundo está fazendo isso ;-)
Se você estiver seguindo as instruções do WSL (como outra resposta do Stack), eles normalmente assumirão que o local é
/mnt/c
Algum código pode assumir erroneamente
/mnt/c
Há uma pequena chance de que algum código de terceiros
/mnt/c
também assuma. Não que haja muito código WSL de terceiros que você provavelmente executará.Todo mundo está fazendo isso (redux)
Quando você postar uma pergunta no futuro, se alterar o ponto de montagem para
/c
, encorajo você a fazer referência a esse fato em sua pergunta (supondo que você esteja trabalhando com esse caminho). Caso contrário, é apenas mais um detalhe que provavelmente terá de ser resolvido por quem espera responder.Mas, novamente, isso significa apenas que manter o padrão da WSL é o "caminho de menor resistência". Ainda não espero que nada "quebre" se você fizer isso.