Có cách nào để cài đặt Windows subsystem cho Linux trên Win10 (v1709) mà không cần sử dụng Store không?


50

Ứng dụng Microsoft Store bị vô hiệu hóa bởi Chính sách nhóm của trường đại học của tôi. Tôi có quyền quản trị viên trên máy tính của mình và tôi đã tự hỏi liệu có cách nào để cài đặt Windows subsystem cho Linux (WSL) trực tiếp không? Hoặc có thể thông qua Chocolatey hoặc một số phương pháp dòng lệnh khác?

Lưu ý rằng kể từ phiên bản 1709 (Nâng cấp của Fall Creator), chỉ bật Chế độ nhà phát triển là không đủ.

Câu trả lời:


63

Thông tin: Tôi đã thử điều này trên máy ảo với Win10 Pro (v1709 & 1803) với Chính sách nhóm chứng khoán (nghĩa là với bản cài đặt mới).

Đó là: tắt Cửa hàng gpedit.msckhông tạo ra sự khác biệt ...


Theo "Hướng dẫn cài đặt Windows Server" của Microsoft :

Lưu ý rằng câu trả lời này chỉ hiển thị các bước cho Debian. Tuy nhiên, mọi thứ đều giống nhau đối với Ubuntu, SLES, openSUSE và Kali - sự khác biệt duy nhất sẽ là tên của EXE (và URL bạn sử dụng).

  1. Kích hoạt Windows Subsystem for Linux.

    • Qua Windows FeaturesGUI: vd Win+ I->OptionalFeatures.exe
    • Với PowerShell (với tư cách quản trị viên) : Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux.
  2. Tải xuống gói Linux.

    • Chọn bản phân phối của bạn. Chỉ cần sử dụng một trong các URL sau:
      • 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
      • mở https://aka.ms/wsl-opensuse-42
      • SLES: https://aka.ms/wsl-sles-12
      • Kali: https://aka.ms/wsl-kali-linux
    • Qua PowerShell, chạy Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile ~/Debian.zip -UseBasicParsing.
      • Nếu bạn không cần thanh tiến trình, hãy thêm $ProgressPreference = 'SilentlyContinue';vào phía trước lệnh.
      • Lưu ý rằng ~/Debian.zipcó thể được thay đổi thành bất kỳ đường dẫn và tên nào bạn muốn.
    • Bạn cũng có thể tải xuống "mỗi manus" - đưa URL vào trình duyệt của bạn (hoặc trình quản lý tải xuống) và bạn cũng có thể lấy nó theo cách này.
  3. Giải nén tệp lưu trữ đã tải xuống và đặt nó vào đường dẫn đích của nó.
    • Lưu ý rằng bạn có thể sử dụng bất kỳ đường dẫn nào - có ~\IHateUbuntu\SLES_WSLthể là nó C:\Ubuntu, v.v. Tuy nhiên, nó phải nằm trên ổ đĩa hệ thống của bạn (thường C:\) Cảm ơn, @Matt Wenham !
    • Qua PowerShell: Expand-Archive <ARCHIVE> <ITS_NEW_PATH>
    • Thông qua GUI của Trình khám phá tệp
    • Hoặc thông qua bất kỳ công cụ nén nào, chẳng hạn như 7-Zip.
  4. Chạy Debian.exe, đó là trong thư mục giải nén.
    • Đối với các bản phát hành khác, bạn chỉ cần tìm EXE chính xác.
    • Điều này bây giờ sẽ "cài đặt" bản phân phối của bạn.
  5. Đặt tên người dùng và mật khẩu của bạn.
    • Nếu lỗi 0x80070005xuất hiện, bạn cần chạy EXE với tư cách quản trị viên. Cảm ơn, @March Ho !
  6. Nó được khuyến cáo để cập nhật tất cả phần mềm lúc mới ra đời.
    • Trong Debian & Ubuntu, điều này được thực hiện bằng cách chạy sudo apt update && sudo apt upgrade.
  7. (Tùy chọn) Đặt EXE của bạn vào Menu Bắt đầu.
    • Đơn giản chỉ cần đặt một liên kết cứng của Debian.exevào C:\ProgramData\Microsoft\Windows\Start Menu\Programs.
  8. (Tùy chọn) Lặp lại cho nhiều bản phân phối mà bạn muốn có.

Bạn tốt để đi bây giờ. Chạy Debian.exebất cứ khi nào bạn muốn WSL chạy.


3
Nếu bạn gặp lỗi 0x80070005, bạn cần chạy tệp exe với tư cách quản trị viên.
Hồ tháng 3 ngày

Bạn có tình cờ biết nếu có thể cài đặt những thứ này cho tất cả người dùng cùng một lúc không?
Andrew Savinykh

2
Hướng dẫn hàng đầu. Cảm ơn. FYI: Nếu bạn giống như tôi và lần đầu tiên giải nén distro ở một vị trí ngớ ngẩn ... Bạn sẽ tìm thấy wslconfig /listwslconfig /unregisterlà bạn bè của bạn ...
spechter

1
Tôi tin rằng bản phân phối nên được trích xuất vào ổ đĩa hệ thống của bạn, như được đề cập ở đây: docs.microsoft.com/en-us/windows/wsl/ Kẻ
Matt Wenham

1
Lưu ý: các 0x80070005lỗi xuất hiện vì rất nhiều lý do. Nếu bạn muốn tìm cách giải quyết, hãy xem tại đây: github.com/microsoft/WSL/issues/3020
Bewc

15

Đây là một quy trình ngắn, áp dụng cho bản cập nhật Windows 10 Fall Creators trở lên.

  1. Bật tính năng "Hệ thống con Windows cho Linux" từ OptionalFeatures.exevà khởi động lại PC. Từ Hướng dẫn cài đặt Windows Server .
  2. Tải xuống bất kỳ một trong các tệp sau (với bất kỳ trình duyệt hoặc bất kỳ trình quản lý tải xuống nào):

  3. Mở gói Appx với 7ZIP . Chỉ trích xuất tệp thực thi (ví dụ Ubuntu.exe) và install.tar.gz trong bất kỳ ổ đĩa hoặc bất kỳ thư mục nào. Nhấp đúp chuột vào tập tin thực thi đó và nó sẽ được cài đặt.

Ghi chú :: Bây giờ bạn có thể cài đặt bất kỳ bản phân phối GNU / Linux nào bằng cách sử dụng tarball RootFS được nén (chỉ .tar.gz) được cung cấp trong các trang phân phối hoặc từ hình ảnh docker.


3

Bạn có thể (1) tải xuống các trình cài đặt từ Windows Store hoặc (2) tải xuống tệp phân phối và cài đặt nó bằng các công cụ như lxRun Offerline hoặc WSL Distrolauncher .

  • Bạn có thể cài đặt Ubuntu 18 hoặc nhiều bản phân phối khác bằng tùy chọn thứ hai.

Tải xuống trình cài đặt từ Windows Store

Bạn có thể tải xuống các trình cài đặt từ Windows Store bằng Powershell . Chẳng hạn, bạn có thể tải xuống phiên bản Ubuntu 16 bằng lệnh sau

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

Trong lệnh trên, tập tin đầu ra là Ubuntu.appx. Nó phải được đặt tên theo cách đó. Bạn có thể chạy ứng dụng đó để cài đặt Ubuntu.

PS> Ubuntu.appx

Sử dụng LxRun Offerline

Đầu tiên, bạn phải tải xuống một số tập tin phân phối. Có rất nhiều tệp phân phối có sẵn trong wiki lxRun Offerline .

Chẳng hạn, để cài đặt cùng Ubuntu 16 từ Microsoft Windows Store, bạn có thể tải xuống tệp tại

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

Sau đó, bạn có thể cài đặt bản phân phối linux bằng lxRun Offerline

# 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

Để chạy phân phối, bạn có thể sử dụng cùng lxRun Offerline

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

Sử dụng một DistroLauncher

Bạn có thể sử dụng một số DistroLauncher. Có nhiều phiên bản dựa trên ví dụ của Microsoft để tạo các bản phân phối linux tùy chỉnh cho WSL. Chẳng hạn, bạn có thể sử dụng phiên bản Yuk7 .

Bạn phải tải xuống một tệp phân phối và launcher.exe. Để sử dụng cùng một tệp phân phối được đề cập ở trên, bạn phải đổi tên tệp phân phối thành rootfs.tar.gzvà trình khởi chạy thành tên phân phối mà bạn muốn. Sau đó, bạn phải chạy launcher với tư cách Quản trị viên (Tôi gặp lỗi khi chạy nó như một người dùng bình thường)

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

Lần đầu tiên bạn chạy launcher, nó sẽ cài đặt và chạy bản phân phối. Lần sau, nó chạy bản phân phối linux.


Sau khi cài đặt, bạn có thể quản lý các bản phân phối bằng cách sử dụng wslconfighoặc các lxrunofflinelệnh.

LƯU Ý: Ngoài các tệp phân phối được đề cập ở trên, bạn có thể tạo một tệp mới dựa trên các bản phân phối linux khác. Bạn có thể thử các hướng dẫn có trong dự án WSLInstall . Bạn có thể cần các bước bổ sung sau khi cài đặt để khởi động linux mới một cách chính xác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.