Puncte:1

Ubuntu pentru a migra de la mașina virtuală la WSL

drapel ve

A încercat cineva să migreze Ubuntu (în acest caz particular 21.10 în uz) de la mașina virtuală (alimentată de VirtualBox, dacă este vorba) la WSL? Migrație într-o singură gazdă.

Cât de bine ar putea funcționa sursa de imagini (v.m.), apoi restaurarea la țintă (WSL)? Stratul hardware are șanse mari să difere.

user535733 avatar
drapel cn
Nucleul Linux al mașinii virtuale și systemd init nu vor funcționa pe WSL. WSL folosește un nucleu proprietar Microsoft și init. În orice caz, faceți experimentul și spuneți-ne ce descoperiți.
NotTheDr01ds avatar
drapel vn
@user535733 Sunt pe deplin de acord că inițialul Systemd este ceva de care trebuie să fii atent. Deși este adevărat că nucleul VM-ului nu va funcționa, nu sunt sigur că aș numi nucleul WSL2 „proprietar”. Sigur, este o furcă a nucleului principal, dar (a) diferențele primare, după cunoștințele mele, sunt doar bazate pe drivere, (b) este cu sursă deschisă, (c) din câte știu eu, schimbările în el sunt adesea a contribuit înapoi în amonte
user535733 avatar
drapel cn
@NotTheDr01ds mulțumesc pentru rafinament. Am învățat ceva nou astăzi.
Puncte:2
drapel vn

În general, dacă puteți obține o rădăcină tarball a VM-ului, ar trebui (teoretic) să fie destul de simplu, deși nu l-am încercat. Principalul truc va fi obținerea rootfs.tar „doar corect”. Considerații:

  • Va trebui să includă toate sistemele de fișiere „normale” din VM, dar, desigur, puteți ignora lucruri precum /proc, /sys, /dev, etc.

  • Ar trebui să includeți --xattrs marcați în tar pentru a vă asigura că preluați orice atribute extinse. Acesta nu este implicit.

Odată ce aveți un tarball rootfs valid, importarea în WSL este ușor:

wsl --import Ubuntu2110 <director> <tarball> --versiunea 2

Primul argument (numele distribuției) poate fi orice preferi, deși aș recomanda evitarea Ubuntu deoarece acesta este numele distribuției WSL implicite și ar putea provoca un conflict.

Tind să-mi configurez „directorul” WSL:

  • Undeva ușor accesibil din PowerShell, cum ar fi ~\Documente\WSL
  • Avea ~\Documents\WSL\instances\Ubuntu2110 (și altele) pentru distribuțiile mele
  • Avea ~\Documents\WSL\images\Ubuntu2110.tar (și altele) pentru imaginile mele rootfs.

Stratul hardware are șanse mari să difere.

Nu chiar problema pe care ați putea crede. Instanțele WSL2 sunt de fapt mai multe „containere” decât VM. Acolo este un VM care rulează, dar nu îl puteți accesa. VM-ul în sine este cel care se ocupă de importul și rularea distribuțiilor/instanțelor/containerelor. Toate instanțele WSL2 partajează același spațiu kernel, hardware virtual, rețea etc., dar fiecare are propriul spațiu de nume PID, chroot etc. (pentru a exagera).


Diferențele dintre WSL și VM-ul dvs

  • Pornirea sistemului

    Cea mai mare diferență pe care o veți găsi este că VM-ul își face toată configurația prin Systemd, desigur. Acest lucru nu se va întâmpla pe WSL2, deoarece Systemd nu este acceptat. În schimb, WSL folosește propriile sale /init pentru pornirea interoperabilității cu sistemul VM și Windows.

    Asta înseamnă că, atunci când porniți instanța WSL2 din VM importată, aproape nimic va rula.

    Va trebui să porniți manual fiecare serviciu. Sau folosiți alte tehnici pentru a porni automat.

  • Alte probleme Systemd

    Deși puteți porni multe servicii în Ubuntu fără Systemd, tot mai mulți se bazează pe Systemd. Acestea pot fi problematice sub WSL. Deși există soluții pentru a rula Systemd în WSL, acestea tind să fie „hacky” în prezent.

  • Aplicații GUI

    De asemenea, amintiți-vă că WSL este în primul rând un mediu de linie de comandă. Pentru a rula aplicații GUI, va trebui să rulați fie:

    • Windows 11
    • Un server X terț în Windows
    • Sau xrdp
  • Medii desktop

    În cele din urmă, mediile desktop pot fi și mai provocatoare, dintr-o combinație a motivelor de mai sus și mai mult:

    • Unele necesită Systemd
    • Rularea aplicațiilor GUI Linux pe ecran complet în Windows poate prezenta provocări de legare a tastelor (de ex. Alt+Tab va fi interceptat de Windows și se va îndepărta de DE).
    • WSLg în Windows 11 utilizează Weston, care oferă propriul manager de ferestre

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.