Điểm:1

Ubuntu di chuyển từ máy ảo sang WSL

lá cờ ve

Có ai đã cố gắng di chuyển Ubuntu (trong trường hợp cụ thể này là 21.10 đang sử dụng) từ máy ảo (được cung cấp bởi VirtualBox, nếu điều này xảy ra) sang WSL không? Di chuyển trong một máy chủ duy nhất.

Nguồn hình ảnh (v.m.) sau đó khôi phục về đích (WSL) có thể hoạt động tốt như thế nào? Lớp phần cứng có cơ hội tốt để khác biệt.

user535733 avatar
lá cờ cn
Nhân Linux và systemd init của máy ảo của bạn sẽ không hoạt động trên WSL. WSL sử dụng nhân độc quyền của Microsoft và init. Bằng mọi cách, hãy thực hiện thử nghiệm và cho chúng tôi biết những gì bạn khám phá được.
NotTheDr01ds avatar
lá cờ vn
@ user535733 Hoàn toàn đồng ý rằng Systemd init là thứ cần chú ý. Mặc dù đúng là nhân của VM sẽ không hoạt động, nhưng tôi không chắc mình có gọi nhân của WSL2 là "độc quyền" hay không. Chắc chắn, đó là một nhánh của nhân chính, nhưng (a) sự khác biệt chính, theo hiểu biết của tôi, chỉ dựa trên trình điều khiển, (b) nó có nguồn mở, (c) theo như tôi biết, những thay đổi trong đó thường xuyên đóng góp ngược dòng
user535733 avatar
lá cờ cn
@NotTheDr01ds cảm ơn vì sự sàng lọc. Tôi đã học được một cái gì đó mới ngày hôm nay.
Điểm:2
lá cờ vn

Nói chung, nếu bạn có thể có được rootfs tarball'd của VM, thì (về lý thuyết) nó sẽ khá đơn giản, mặc dù tôi chưa thử. Thủ thuật chính sẽ nhận được rootfs.tar "đúng rồi". Cân nhắc:

  • Nó sẽ cần bao gồm tất cả các hệ thống tệp "bình thường" từ VM, nhưng tất nhiên, bạn có thể bỏ qua những thứ như /proc, /sys, / nhà phát triển, vân vân.

  • Bạn nên bao gồm --xattrs gắn cờ với tar để đảm bảo bạn chọn bất kỳ thuộc tính mở rộng nào. Đây không phải là mặc định.

Khi bạn có một tarball rootfs hợp lệ, việc nhập vào WSL thật dễ dàng:

wsl --nhập Ubuntu2110 <thư mục> <tarball> --version 2

Đối số đầu tiên (tên phân phối) có thể là bất kỳ thứ gì bạn thích, mặc dù tôi khuyên bạn nên tránh Ubuntu vì đây là tên của bản phân phối WSL mặc định và có thể gây ra xung đột.

Tôi có xu hướng thiết lập "thư mục" WSL của mình:

  • Một nơi nào đó dễ dàng truy cập từ PowerShell, chẳng hạn như ~\Documents\WSL
  • ~\Documents\WSL\instance\Ubuntu2110 (và những người khác) cho bản phân phối của tôi
  • ~\Documents\WSL\images\Ubuntu2110.tar (và những thứ khác) cho hình ảnh rootfs của tôi.

Lớp phần cứng có cơ hội tốt để khác biệt.

Không thực sự là vấn đề bạn có thể nghĩ. Các phiên bản WSL2 thực sự là nhiều "vùng chứa" hơn VM. Ở đó một máy ảo đang chạy, nhưng bạn không thể truy cập vào nó. Bản thân VM là thứ xử lý việc nhập và chạy các bản phân phối/phiên bản/bộ chứa. Tất cả các phiên bản WSL2 đều chia sẻ cùng một không gian nhân, phần cứng ảo, mạng, v.v., nhưng mỗi phiên bản đều có không gian tên PID, chroot, v.v. (để tóm tắt lại).


Sự khác biệt giữa WSL và máy ảo của bạn

  • khởi động hệ thống

    Tất nhiên, sự khác biệt lớn nhất mà bạn sẽ tìm thấy là VM thực hiện tất cả cấu hình của nó thông qua Systemd. Điều đó sẽ không xảy ra trên WSL2 vì Systemd không được hỗ trợ. Thay vào đó, WSL sử dụng riêng của mình /trong đó để khởi động khả năng tương tác với hệ thống VM và Windows.

    Điều đó có nghĩa là khi bạn khởi động phiên bản WSL2 từ máy ảo đã nhập, gần như không có gì sẽ được chạy.

    Bạn sẽ cần bắt đầu từng dịch vụ theo cách thủ công. Hoặc dùng các kỹ thuật khác để bắt đầu tự động.

  • Các sự cố Systemd khác

    Mặc dù bạn có thể bắt đầu nhiều dịch vụ trong Ubuntu mà không cần Systemd, nhưng ngày càng có nhiều dịch vụ dựa vào Systemd. Đó có thể là vấn đề theo WSL. Mặc dù có các giải pháp thay thế để chạy Systemd trong WSL, nhưng hiện tại chúng có xu hướng "hacky".

  • Ứng dụng GUI

    Ngoài ra, hãy nhớ rằng WSL là chủ yếu một môi trường dòng lệnh. Để chạy các ứng dụng GUI, bạn sẽ cần chạy:

    • cửa sổ 11
    • Máy chủ X của bên thứ ba trong Windows
    • Hoặc xrdp
  • Môi trường máy tính để bàn

    Cuối cùng, môi trường máy tính để bàn có thể còn khó khăn hơn, vì sự kết hợp của các lý do trên và hơn thế nữa:

    • Một số yêu cầu Systemd
    • Chạy các ứng dụng GUI Linux toàn màn hình trong Windows có thể đưa ra các thách thức về liên kết phím (ví dụ: thay thế+Chuyển hướng sẽ bị Windows chặn và chuyển khỏi DE của bạn).
    • WSLg trong Windows 11 sử dụng Weston, cung cấp trình quản lý cửa sổ riêng

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.