AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1515246
Accepted
davegravy
davegravy
Asked: 2020-01-07 21:45:51 +0800 CST2020-01-07 21:45:51 +0800 CST 2020-01-07 21:45:51 +0800 CST

Como adicionar uma segunda distro WSL2 Ubuntu (nova instalação)

  • 772

Eu tenho uma distribuição existente do Ubuntu, quero uma segunda que seja uma nova imagem do Ubuntu.

Eu suspeito que posso:

  1. exportar minha distribuição existente para tar comwsl.exe --export
  2. cancelar o registro da minha distro existente comwsl unregister
  3. desinstale o Ubuntu da Microsoft Store
  4. reinstale o Ubuntu da Microsoft Store, dando-me uma nova instalação
  5. importar do alcatrão viawsl --import

Isso deve me dar 2 distros, meu existente mais um novo. Existe uma maneira mais fácil/melhor?

Isto é para o Windows 10 Build 19035 mais recente (no momento da escrita)

windows-subsystem-for-linux
  • 5 5 respostas
  • 27074 Views

5 respostas

  • Voted
  1. Best Answer
    Biswapriyo
    2020-01-08T00:41:16+08:002020-01-08T00:41:16+08:00

    Importante: O procedimento a seguir funciona apenas no Windows 10 Build 18305 ou superior. Certifique-se de que wsl.exetem --importopção na linha de comando. Para uma versão mais antiga do Windows 10, tente este método alternativo .

    Procedimento:

    • Primeiro precisamos do tarball rootfs do Ubuntu. Abra https://cloud-images.ubuntu.com/releases/ em um navegador da web. Vá para a pasta com a versão necessária do Ubuntu.

    • Baixe o ubuntu-x.x-server-cloudimg-amd64-wsl.rootfs.tar.gzarquivo (xx usado como número da versão). Certifique-se de que o nome do arquivo tenha amd64-wsle o tipo de arquivo seja .tar.gz(GZIP tarball). Como exemplo, o link direto ficará assim:

    https://cloud-images.ubuntu.com/releases/eoan/release/ubuntu-19.10-server-cloudimg-amd64-wsl.rootfs.tar.gz
    
    • Agora vamos instalá-lo usando wsl.exea linha de comando. Abra o prompt de comando. O formato real do comando será assim:
    wsl.exe --import <Distribution Name> <Install Folder> <.TAR.GZ File Path>
    
    • Execute o comando duas vezes para instalar o Ubuntu com um nome de distribuição diferente. O nome da pasta e o nome da distribuição devem ser diferentes , caso contrário haverá um erro mostrado na saída. Aqui estão os dois exemplos:
    wsl.exe --import DistroA FolderA ubuntu-x.x-server-cloudimg-amd64-wsl.rootfs.tar.gz
    wsl.exe --import DistroB FolderB ubuntu-x.x-server-cloudimg-amd64-wsl.rootfs.tar.gz
    
    • As distribuições instaladas podem ser executadas assim wsl.exe -d DistroA.

    Notas:

    • O procedimento pode ser usado com qualquer espaço de usuário de distribuição GNU/Linux.

    • Isso não usa a Windows Store. Portanto, a Windows Store não mostra o nome nem atualiza a instalação.

    • No Windows 10 ARM64 (AArch64), use a arm64-wslimagem da nuvem para o Ubuntu.

    • Neste procedimento a pasta de instalação pode ser acessada por outros usuários na mesma máquina. Se você estiver usando uma máquina compartilhada, use as permissões adequadas.

    • Se você deseja compartilhar a instalação com outros usuários da mesma máquina, basta exportar este registro HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss. Em seguida, importe-o em outros usuários da mesma máquina.

    Leituras Adicionais:

    • Referência de comando para subsistema do Windows para Linux
    • 36
  2. yobiscus
    2020-03-09T07:39:17+08:002020-03-09T07:39:17+08:00

    A resposta de Biswapriyo funciona muito bem, mas são necessárias etapas adicionais para alterar o usuário padrão. Observe que isso requer a compilação 18980 e superior .

    Adicione o usuário não root via addusercomando:

    PS C:\Users\Username> wsl -d DistroA
    root@DESKTOP:/mnt/c/Users/Username# NEW_USER=username
    root@DESKTOP:/mnt/c/Users/Username# adduser "${NEW_USER}"
    Adding user `username' ...
    Adding new group `username' (1000) ...
    Adding new user `username' (1000) with group `username' ...
    Creating home directory `/home/username' ...
    Copying files from `/etc/skel' ...
    New password: ****
    Retype new password: ****
    passwd: password updated successfully
    Changing the user information for username
    Enter the new value, or press ENTER for the default
            Full Name []: User Name
            Room Number []:
            Work Phone []:
            Home Phone []:
            Other []:
    Is the information correct? [Y/n]
    

    Habilitar privilégios sudoer para ${NEW_USER}:

    adduser ${NEW_USER} sudo
    

    Adicione definir o usuário padrão em /etc/wsl.conf:

    tee /etc/wsl.conf <<_EOF
    [user]
    default=${NEW_USER}
    _EOF
    

    Saia do WSL via logoute, em seguida, emita o comando WSL shutdown para que as alterações entrem em vigor:

    wsl --shutdown DistroA
    

    Na próxima vez que wsl -d DistroAfor invocado, o ${NEW_USER}usuário estará ativo.

    • 28
  3. Mark
    2021-04-21T05:06:19+08:002021-04-21T05:06:19+08:00

    Talvez um pouco atrasado, mas encontrei sua postagem e tentei de uma maneira diferente.

    Eu queria 2 xa imagem Ubuntu 20.04 LTS. O primeiro foi fácil, apenas o padrão da loja do Windows. Para o segundo, instalei uma imagem do Ubuntu 18.04 LTS para a Windows Store e fiz um "do-release-upgrade" para atualizá-lo para o Ubuntu 20.04 LTS.

    • 2
  4. Adrian Castro
    2021-07-26T06:52:03+08:002021-07-26T06:52:03+08:00

    Recentemente, tive o mesmo problema, pois estou trabalhando com empresas diferentes ao mesmo tempo e precisava de um script que pudesse criar facilmente uma nova instância do WSL2 e excluí-la com a mesma facilidade.

    A exclusão por si só não é difícil, pois o comando oficial wsl --unregister <distro_name>funciona muito bem e elimina as instâncias do WSL2 perfeitamente, sem deixar rastros.

    A criação, no entanto, pode ser problemática ou até tediosa. Meu script faz exatamente isso: https://github.com/IAL32/WSL2-Create-Distro

    O exemplo a seguir cria uma instância WSL2 usando Ubuntu20.04 (Focal Fossa) usando um tarball baixado anteriormente (o exemplo usa o seguinte: https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg- amd64-wsl.rootfs.tar.gz ), cria um usuário com nome de usuário myuser e o adiciona ao grupo sudo. Ele também define a senha do usuário para aquela fornecida no pipeline e a senha para o usuário root, também fornecida no pipeline.

    .\CreateLinuxDistro.ps1 -INPUT_FILENAME .\focal-server-cloudimg-amd64-wsl.rootfs.tar.gz -OUTPUT_DIRNAME "$env:LOCALAPPDATA\Packages\ubuntu2004-test-1" -OUTPUT_DISTRONAME ubuntu2004-test-1 -CREATE_USER 1 -CREATE_USER_USERNAME myuser -ADD_USER_TO_GROUP 1 -ADD_USER_TO_GROUP_NAME sudo -SET_USER_AS_DEFAULT myuser
    

    Sob o capô, se um novo usuário for criado, ele também mudará seu shell padrão de /bin/shpara /bin/bash.

    • 2
  5. gavenkoa
    2022-06-09T06:32:45+08:002022-06-09T06:32:45+08:00

    Sugiro usar as imagens "base" do Ubuntu (menos inchadas que as imagens "nuvem"):

    • http://cdimage.ubuntu.com/ubuntu-base/releases - imagens básicas
    • https://cloud-images.ubuntu.com/releases/ - imagens em nuvem

    Você baixa o rootfs e o importa:

    wget http://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04-base-amd64.tar.gz
    wsl --import my-ubuntu c:\wsl\my-ubuntu ubuntu-base-22.04-base-amd64.tar.gz --version 2
    

    UPDATE Primeira linha de /etc/passwdou o usuário definido em /etc/wsl.conf+ passwddefine um aplicativo que inicia.

    Para solucionar problemas, você mesmo pode especificar o ponto de entrada com -e:wsl -d BaseUbuntu -e /bin/sh

    Você pode olhar dentro do arquivo rootfs para ver quais aplicativos estão em /bin/ /usr/bin. Depois de encontrar o shell, você pode executar a imagem como root:

    wsl -d my-ubuntu -u root -e /bin/sh
    

    e atualize o shell padrão com chshou outras ferramentas disponíveis.

    • 1

relate perguntas

  • Se o Windows 7 não oferece suporte a WSL, o que é "Subsistema para aplicativos baseados em UNIX"?

  • Existe uma maneira de obter acesso administrativo dos arquivos do Windows Subsystem Linux para os arquivos do Windows corretamente?

  • Por que tmux e oh-my-zsh quebram a saída de cores do git log no WSL?

  • Windows 10: Não é possível abrir arquivos .ttf dentro de um (antigo) repositório Git

  • como abrir um arquivo de escritório do WSL

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve