Mağazayı kullanmadan Win10'da Linux için Windows Subsystem'ı (v1709) kurmanın bir yolu var mı?


50

Microsoft Mağazası uygulaması, üniversitem tarafından Grup İlkesi tarafından devre dışı bırakıldı. Bilgisayarımda yönetici haklarım var ve doğrudan Linux için Windows Subsystem'ı (WSL) kurmanın bir yolu olup olmadığını merak ediyordum. Ya da belki Chocolatey veya başka bir komut satırı yöntemi ile?

1709 (Güz Oluşturanın Yükseltilmesi) sürümünden bu yana, yalnızca Geliştirici Modunu etkinleştirmenin artık yeterli olmadığını unutmayın.

Yanıtlar:


63

Bilgi: Bunu, Win10 Pro'lu (v1709 & 1803) bir VM'de stok Grup İlkesi (yani yeni bir kurulumla olduğu gibi) denedim.

Yani: Mağazayı kapatmak, gpedit.mscbir fark yaratmadı ...


Göre Microsoft'un "Windows Server Kurulum Kılavuzu" :

Bu cevabın yalnızca Debian için adımları gösterdiğini unutmayın. Ancak, Ubuntu, SLES, openSUSE ve Kali için her şey aynıdır - tek fark EXE (ve kullandığınız URL) adına olacaktır.

  1. Etkinleştirin Windows Subsystem for Linux.

    • Via Windows FeaturesGUI: örn Win+ I->OptionalFeatures.exe
    • PowerShell ile (yönetici olarak): Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux.
  2. Linux paketini indirin.

    • Dağıtımını seç. Basitçe şu URL’lerden birini kullanın:
      • Debian: https://aka.ms/wsl-debian-gnulinux
      • Ubuntu 18.04: https://aka.ms/wsl-ubuntu-1804
      • Ubuntu 16.04: https://aka.ms/wsl-ubuntu-1604
      • openSUSE: https://aka.ms/wsl-opensuse-42
      • SLES: https://aka.ms/wsl-sles-12
      • Kali: https://aka.ms/wsl-kali-linux
    • PowerShell ile çalıştırın Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile ~/Debian.zip -UseBasicParsing.
      • İlerleme çubuğuna ihtiyacınız yoksa $ProgressPreference = 'SilentlyContinue';, komutun önüne ekleyin .
      • ~/Debian.zipİstediğiniz yol ve adla değiştirilebileceğini unutmayın .
    • Ayrıca "manus başına" indirebilirsiniz - URL'yi tarayıcınıza (veya indirme yöneticinize) besleyin ve bu şekilde de alabilirsiniz.
  3. İndirilen arşivi çıkartın ve hedef yoluna yerleştirin.
    • Herhangi bir yolu kullanabileceğinizi unutmayın - öyle ~\IHateUbuntu\SLES_WSLolsun C:\Ubuntu, vs.pp. Ancak, sisteminizin sürücüsünde olmalı (genellikle C:\) Teşekkürler, @Matt Wenham !
    • PowerShell ile: Expand-Archive <ARCHIVE> <ITS_NEW_PATH>
    • Dosya Gezgini'nin GUI'si ile
    • Veya 7-Zip gibi herhangi bir sıkıştırma aracı aracılığıyla.
  4. Debian.exeAçılan klasörün içindeki Run .
    • Diğer dağıtımlar için doğru EXE'yi bulmanız yeterlidir.
    • Bu şimdi dağıtımınızı "yükleyecektir".
  5. Kullanıcı adınızı ve şifrenizi ayarlayın.
    • Hata görülürse 0x80070005, EXE'yi yönetici olarak çalıştırmanız gerekir. Teşekkürler @March Ho !
  6. O olduğu tavsiye etmek ilk başlangıcında tüm yazılımları güncelleyin.
    • Debian & Ubuntu'da bu çalıştırılarak yapılır sudo apt update && sudo apt upgrade.
  7. (İsteğe bağlı) EXE'nizi Başlat Menüsüne yerleştirin.
    • Basitçe bir sert bağlantı koymak Debian.exeiçine C:\ProgramData\Microsoft\Windows\Start Menu\Programs.
  8. (İsteğe bağlı) İstediğiniz sayıda dağıtım için tekrarlayın.

Şimdi gitmen iyi. Run Debian.exeKaçak etmek wsl istedikleri zaman.


3
Hatayı 0x80070005alıyorsanız, exe dosyasını yönetici olarak çalıştırmanız gerekir.
Mart Ho,

Bunları aynı anda tüm kullanıcılar için kurmanın mümkün olup olmadığını biliyor musunuz ?
Andrew Savinykh

2
En iyi talimatlar. Teşekkürler. Bilginize: Eğer benim wslconfig /listwslconfig /unregister
gibiyseniz

1
Dağıtımın burada belirtildiği gibi sistem sürücünüze çıkarılması gerektiğine inanıyorum: docs.microsoft.com/en-us/windows/wsl/…
Matt Wenham

1
Not: 0x80070005Hatalar birçok nedenden dolayı ortaya çıkar. Geçici çözümler aramak istiyorsanız, buraya bakın: github.com/microsoft/WSL/issues/3020
Bewc

15

Bu kısa bir prosedürdür, Windows 10 Fall Creators güncellemesi ve üzeri için geçerlidir.

  1. "Windows Alt Sistem İçin Linux" özelliğini etkinleştirin OptionalFeatures.exeve PC'den yeniden başlatın. Gönderen Windows Server Kurulum Kılavuzu .
  2. Aşağıdaki dosyalardan birini indirin (herhangi bir tarayıcıda veya herhangi bir indirme yöneticisinde):

  3. Appx paketlerini 7ZIP ile açın . Yalnızca çalıştırılabilir dosyayı (örn. Ubuntu.exe) ve install.tar.gz dosyasını herhangi bir sürücüde veya herhangi bir klasörde çıkarın . Yürütülebilir dosyayı çift tıkladığınızda kurulacaktır.

Notlar :: Artık, dağıtım sitelerinde veya liman görüntülerinden sağlanan sıkıştırılmış RootFS tarball'larını (yalnızca .tar.gz) kullanarak herhangi bir GNU / Linux dağıtımını yükleyebilirsiniz .


3

Yükleyicileri Windows Mağazasından indirebilir veya (2) bir dağıtım dosyasını indirebilir ve lxRunOffline veya WSL Distrolauncher gibi araçları kullanarak yükleyebilirsiniz .

  • İkinci seçeneği kullanarak Ubuntu 18 veya başka birçok dağıtım kurabilirsiniz.

Yükleyiciyi Windows Mağazasından indirme

Yükleyicileri Powershell kullanarak Windows Mağazasından indirebilirsiniz . Örneğin, aşağıdaki komutu kullanarak Ubuntu 16 versiyonunu indirebilirsiniz.

PS> Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing

Yukarıdaki komutta, çıktı dosyası Ubuntu.appx. Bu şekilde adlandırılmalıdır. Ubuntu'yu kurmak için bu uygulamayı çalıştırabilirsiniz.

PS> Ubuntu.appx

LxRunOffline'ı Kullanma

İlk önce, bazı dağıtım dosyalarını indirmelisiniz. LxRunOffline wiki'de birçok dağıtım dosyası bulunmaktadır .

Örneğin, aynı Ubuntu 16'yı Microsoft Windows Mağazası'ndan yüklemek için dosyayı şu adresten indirebilirsiniz:

https://lxrunoffline.apphb.com/download/UbuntuFromMS/16

Ardından, linx dağıtımını lxRunOffline kullanarak yükleyebilirsiniz.

# lxrunoffline install -n <name> -d <folder> -f <distribution file>

C:\wsl> lxrunoffline install -n copy -d c:\wsl\copy -f 16.04.2-server-cloudimg-amd64-root.tar.gz

Dağıtımı çalıştırmak için, aynı lxRunOffline'ı kullanabilirsiniz.

C:\wsl> lxrunoffline run -n copy -w

DistroLauncher kullanma

Bazı DistroLauncher kullanabilirsiniz. WSL için özel linux dağıtımları oluşturmak üzere Microsoft örneğine dayalı birçok sürüm vardır . Örneğin, Yuk7 sürümünü kullanabilirsiniz .

Bir dağıtım dosyası ve launcher.exe. Yukarıda belirtilen aynı dağıtım dosyasını kullanmak için, dağıtım dosyasını rootfs.tar.gzve başlatıcısını istediğiniz dağıtım adına yeniden adlandırmanız gerekir . Daha sonra başlatıcıyı Yönetici olarak çalıştırmanız gerekir (normal bir kullanıcı olarak çalıştırırken hatalar alıyorum)

PS> ren launcher.exe mydistro.exe
PS> ren .\16.04.2-server-cloudimg-amd64-root.tar.gz rootfs.tar.gz
PS> .\mydistro

Başlatıcıyı ilk kez çalıştırdığınızda, dağıtımı yükler ve çalıştırır. Bir dahaki sefere, linux dağılımını çalıştırır.


Yüklemeden sonra, wslconfigveya lxrunofflinekomutlarını kullanarak dağıtımları yönetebilirsiniz .

NOT: Yukarıda belirtilen dağıtım dosyalarına ek olarak, diğer linux dağıtımlarını temel alan yeni bir dosya oluşturabilirsiniz. WSLInstall projesinde yer alan talimatları deneyebilirsiniz . Yeni linux'u doğru şekilde başlatmak için kurulumdan sonra ek adımlara ihtiyacınız olabilir .


-1

Yukarıdaki çözümlerin hiçbiri benim için çalıştı. Benim sorunum ince, pencereler hakkında hiçbir şey bilmediğim ve 1999'dan beri kullanmadığım.

Yukarıdaki cevaplar çok iyi yazılmıştır, ancak pencerelerin 20 yıl içinde ilerlememesi ilginçtir, böylece tek bir komut dosyası bu tür sorunları çözer. Biraz moral bozucu ....

Windows 10 pro ile önceden kurulmuş bir dizüstü bilgisayar makinesi edinirseniz, standart bir kullanıcı hesabı yüklemeniz gerekmez. Windows alt sisteminin Linux'unu (WSL) Yönetici olarak kurmak iyidir ancak Debian, Ubuntu veya opensuse'u uygulama mağazasından yüklemek, yeni kullanıcı adı oluşturma adımında başarısız olan tüm işletim sistemleri için 0x80070005 hatasıyla sonuçlanacaktır. Kullanıcı paketleri dizinlerini değiştiren answer.microsoft.com çözümlerinin çoğunu kullanmak, dosya izinlerini de tamamen uygun olmayan düzeltmelerdir.

Çözüm:

Yönetici hesabına ek olarak normal bir kullanıcı hesabı oluşturmak, Debian'ın yönetici olarak çalıştırılan bir güç kabuğundan yüklendikten sonra Debian'ın Windows uygulama mağazasından hemen yüklenmesini sağlar.


Anladığım kadarıyla, Windows çekirdeği kimliği doğrulanmış bir kullanıcı altında yapılması gereken belirli os çağrılarını gerektirir. Bu güvenlik için yapılır ve her zaman bir çekirdek pencere paradigması olmuştur. WSL soyutlama yalnızca SYSTEMkullanıcının altında çalışamaz .
Gabriel Fair

Tüm bilgisayarlarımın yalnızca bir hesabı var - yönetici hesabı (elbette o bilgisayarı kullanan kişi için adlandırılmış olsa da). Yine de bu konuyu hiç yaşamadım. Ayrıca: superuser.com/questions/1271682/… run the exe file as administrator işe yaramadı mı?
flolilo

Hayır, Windows 10 profesyonel altında benim için işe yaramadı. Ayrı bir kullanıcı oluşturmak zorundaydım, WSL'yi yönetici olarak ve ardından linux dağıtımını normal bir kullanıcı olarak yüklüyordum. Linux dağıtımının çalışmadığı alt dizinlerdeki izinler çalışmadı ve görebildiklerimden düzeltmek mümkün olmadı, hatta tüm alt dizinlerdeki izinleri yinelemeli olarak değiştirmek bile mümkün değildi.
Eamonn Kenny
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.