Microsoft ने 2017 में WSL (Windows Subsystem for Linux) पेश किया, जिसने उपयोगकर्ताओं को Windows PC पर कमांड-लाइन इंटरफ़ेस में विभिन्न Linux कमांड और अन्य टूल चलाने की सुविधा प्रदान की (HyperV या डुअल बूट का उपयोग किए बिना)।
2019 में, Microsoft ने WSL के एक नए संस्करण की रिलीज की घोषणा की, और इसे WSL 2 नाम दिया गया। WSL का यह नया संस्करण Windows PC पर ग्राफिकल Linux ऐप्स चलाने का समर्थन करता है और बेहतर फ़ाइल I/O प्रदर्शन और तेज़ सिस्टम कॉल के साथ पूरी तरह से परिचालन Linux कर्नेल का उपयोग करता है। WSL 2 में एक और उत्कृष्ट उपलब्धि यह है कि यह Windows 10 के होम संस्करण पर समर्थित है, जबकि WSL केवल Windows 10 Pro का समर्थन करता था।

WSL सुविधा सक्षम करने की आवश्यकताएं
WSL सुविधा सक्षम करने के लिए उपयोगकर्ता के PC को निम्नलिखित आवश्यकताओं को पूरा करना होगा:
- Hyper V समर्थन
- Windows का 64-बिट संस्करण
- Windows 10 संस्करण 1903 या उच्चतर। ARM मशीन के मामले में, Windows 10 संस्करण 2004 या उच्चतर। Windows 11 मूल रूप से WSL 2 का समर्थन करता है।
यदि आपका PC इन आवश्यकताओं को पूरा नहीं करता है, तो आपको केवल WSL 1 संस्करण का उपयोग करना पड़ सकता है और आप नीचे दिए गए दिशानिर्देशों का पालन कर सकते हैं लेकिन WSL 2 से संबंधित भागों को छोड़ दें (जैसे डिफ़ॉल्ट संस्करण को WSL 2 पर सेट करना)।
यदि आपका PC WSL 2 की सिस्टम आवश्यकताओं को पूरा करता है, तो आप नीचे चर्चा किए गए दिशानिर्देशों का पालन कर सकते हैं:
PowerShell के माध्यम से WSL स्थापित करें
Microsoft ने अपने उपयोगकर्ताओं के लिए एक ही PowerShell कमांड का उपयोग करके WSL सुविधा को डिफ़ॉल्ट Ubuntu इंस्टॉलेशन के साथ इंस्टॉल करना आसान बना दिया है (जिसे बदला जा सकता है)। यह PowerShell कमांड आवश्यक WSL घटक को सक्षम करेगा, नवीनतम Linux कर्नेल को डाउनलोड और इंस्टॉल करेगा, WSL2 को डिफ़ॉल्ट के रूप में सेट करेगा, और Ubuntu इंस्टॉल करेगा। इसलिए, WSL को एक कमांड के साथ सेट अप करने के लिए नीचे दिए गए चरणों का पालन करें (यह कमांड केवल Windows 10 2004 या उससे ऊपर पर समर्थित है):
- Windows पर राइट-क्लिक करें और PowerShell (Admin) चुनें।
- अब निम्नलिखित निष्पादित करें:
wsl --install

- सभी घटकों की स्थापना प्रक्रिया पूरी होने तक प्रतीक्षा करें और फिर अपने PC को रिबूट करें।
- रिबूट पर, आप Ubuntu वितरण को अपनी आवश्यकताओं के अनुसार सेट कर सकते हैं (बाद में चर्चा की गई) और आप Linux के चमत्कारों का पता लगाने के लिए तैयार हैं।
आप Windows स्टार्ट मेनू में Ubuntu ऐप का उपयोग कर सकते हैं या विभिन्न Ubuntu सुविधाओं का पता लगाने के लिए Windows Terminal ऐप का उपयोग कर सकते हैं।
PowerShell कमांड के माध्यम से गैर-डिफ़ॉल्ट Linux डिस्ट्रो स्थापित करें
क्या होगा यदि कोई उपयोगकर्ता डिफ़ॉल्ट Ubuntu के अलावा कोई अलग वितरण स्थापित करना चाहता है? तो चिंता न करें, यहां एक सरल प्रक्रिया है:
- Windows PowerShell (Admin) खोलें और WSL के लिए उपलब्ध Linux डिस्ट्रो की सूची जांचने के लिए निम्नलिखित निष्पादित करें:
wsl --list --online
या
wsl -l -o

- अब, उपलब्ध Linux डिस्ट्रो की सूची जांचें और पता लगाएं कि कौन सा आपकी आवश्यकताओं को पूरा करता है। आमतौर पर, निम्नलिखित उपलब्ध के रूप में दिखाए जा सकते हैं:
Ubuntu Debian kali-linux opensuse-42 SLES-12
- फिर, आवश्यक Linux डिस्ट्रो को इंस्टॉल करने के लिए निम्न कमांड निष्पादित करें (सुनिश्चित करें कि <Distribution Name> को डिस्ट्रो नाम से बदलें:
wsl --install -d <Distribution Name>
उदाहरण के लिए, Debian इंस्टॉल करने के लिए, आप कमांड का उपयोग कर सकते हैं:
wsl --install -d Debian

- अब, इंस्टॉलेशन पूरा होने तक प्रतीक्षा करें और अपना सिस्टम पुनरारंभ करें।
पुनरारंभ पर, Linux डिस्ट्रो को अपनी आवश्यकताओं के अनुसार सेट करें (जैसा कि बाद में चर्चा की गई)।
कस्टम Linux डिस्ट्रो स्थापित करें
ऐसे उपयोगकर्ता हो सकते हैं जिन्हें Microsoft Store में उपलब्ध नहीं होने वाले Linux डिस्ट्रो का उपयोग करने की आवश्यकता हो और वे उपयोगकर्ता WSL के साथ उपयोग करने के लिए किसी भी Linux वितरण को आयात करने के लिए आधिकारिक Microsoft संदर्भ पृष्ठ का उपयोग कर सकते हैं क्योंकि इसकी चर्चा यहां इस लेख के दायरे में नहीं है।
WSL में एकाधिक Linux डिस्ट्रो स्थापित करें
यदि कोई उपयोगकर्ता एकाधिक Linux डिस्ट्रो का उपयोग करना चाहता है, तो वह (पहले से चर्चा की गई) निम्न कमांड का उपयोग करके PowerShell में ऐसा कर सकता है (डिस्ट्रो नाम के साथ <Distribution Name> को बदलना न भूलें, जैसे Debian)
wsl --install -d <Distribution Name>
यदि एकाधिक डिस्ट्रो इंस्टॉल हैं, तो उपयोगकर्ता PowerShell (Admin) में निम्न में से किसी एक को निष्पादित करके WSL में इंस्टॉल किए गए WSL डिस्ट्रो की जांच कर सकता है:
wsl -l -v
या
wsl --list --all

ध्यान रखें कि यदि आप bash में WSL कमांड निष्पादित करने का प्रयास कर रहे हैं, तो WSL के अंत में .exe दर्ज करना सुनिश्चित करें, उदाहरण के लिए, bash के भीतर से Linux वितरण इंस्टॉल करने के लिए, निम्न निष्पादित करें:
wsl.exe --install -d <Distribution Name>
सर्वर पर WSL स्थापित करें
यदि आप सर्वर मशीन पर WSL इंस्टॉल कर रहे हैं, तो आप WSL के आधिकारिक Microsoft Windows Server इंस्टॉलेशन गाइड का संदर्भ ले सकते हैं।
VM-आधारित Windows में WSL इंस्टॉल करना
यदि कोई उपयोगकर्ता VM-आधारित Windows में WSL सुविधा इंस्टॉल कर रहा है, तो वह होस्ट के वर्चुअलाइज़ेशन फ़्लैग को VM में उजागर करने के लिए होस्ट के PowerShell (Admin) में निम्न निष्पादित कर सकता है:
Set-VMProcessor -VMName MyWSL -ExposeVirtualizationExtensions $true
Linux वितरण और WSL संस्करण की स्थापना की पुष्टि करें
अब, यह पुष्टि करने के लिए कि Linux वितरण सफलतापूर्वक इंस्टॉल हैं और WSL संस्करण WSL 2 पर सेट है, उपयोगकर्ता PowerShell (Admin) में निम्न को एक-एक करके निष्पादित कर सकता है:
wsl.exe --list --all wsl --list --verbose

WSL स्थापित करने के लिए GUI विधि का उपयोग करें
कई Windows उपयोगकर्ता एप्लिकेशन/उपयोगिताओं को स्थापित करने के लिए कमांड-लाइन विधि पसंद नहीं करते हैं। साथ ही, WSL संस्करण 1 को पहले चर्चा की गई एकल PowerShell कमांड का उपयोग करके स्थापित नहीं किया जा सकता है। इसके अलावा, Windows 10 संस्करण 1903 और 1909 वाले उपयोगकर्ता WSL इंस्टॉल विधि का उपयोग नहीं कर सकते। तो, यहां Windows PC पर WSL का उपयोग करने के लिए एक अधिक GUI-आधारित विधि है।
Windows 10 पर WSL सुविधा सक्षम करें
- Windows पर क्लिक करें, Turn Windows Features on or off खोजें और खोलें।

- अब निम्नलिखित दो को संबंधित चेकबॉक्स चेक-मार्क करके सक्षम करें:
Virtual Machine Platform Windows Subsystem for Linux

- फिर OK बटन पर क्लिक करें और सिस्टम को संबंधित फ़ाइलों को डाउनलोड/इंस्टॉल करने दें (सुनिश्चित करें कि इंटरनेट कनेक्शन उपलब्ध है)।
- एक बार हो जाने पर, अपना सिस्टम पुनरारंभ करें।
Windows Subsystem for Linux (WSL) को PowerShell (Admin) में निम्न निष्पादित करके भी सक्षम किया जा सकता है:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Virtual Machine Platform को PowerShell (Admin) में निम्न निष्पादित करके सक्षम किया जा सकता है:
Windows संस्करण 2004 या उच्चतर के लिए:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Windows संस्करण 1903 और 1909 के लिए:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
WSL के नवीनतम कर्नेल अद्यतन को डाउनलोड और इंस्टॉल करें
आवश्यक सुविधाओं को सक्षम करने के बाद, उपयोगकर्ता को WSL कर्नेल को अपडेट करना होगा।
- Microsoft से नवीनतम WSL कर्नेल अद्यतन डाउनलोड करें। ARM64 मशीन वाले उपयोगकर्ता ARM64 WSL पैकेज डाउनलोड कर सकते हैं।
- एक बार डाउनलोड हो जाने पर, डाउनलोड की गई फ़ाइल पर राइट-क्लिक करें, Run as Administrator चुनें, और WSL कर्नेल को अपडेट करने के लिए संकेतों का पालन करें।

WSL के डिफ़ॉल्ट संस्करण को WSL 2 पर सेट करें
WSL कर्नेल को अपडेट करने के बाद, उपयोगकर्ता को डिफ़ॉल्ट WSL संस्करण को 2 पर सेट करना होगा। लेकिन उससे पहले, PowerShell (Admin) में निम्न निष्पादित करके जांचें कि WSL का कौन सा संस्करण डिफ़ॉल्ट के रूप में सेट है:
wsl -l -v
यदि WSL 2 डिफ़ॉल्ट नहीं है, तो PowerShell (Admin) खोलें और निम्न निष्पादित करें:
wsl --set-default-version 2

यह Linux डिस्ट्रो के सभी नए इंस्टॉलेशन के लिए WSL को WSL 2 में बदल देगा। यदि उपयोगकर्ता ने WSL के साथ पहले से एक डिस्ट्रो इंस्टॉल किया हुआ है, तो वह उसके WSL संस्करण को 2 में बदलने के लिए निम्न निष्पादित कर सकता है (डिस्ट्रो नाम के साथ <DistributionName> को बदलना सुनिश्चित करें):
wsl --set-version <DistributionName> 2
उदाहरण के लिए:
wsl --set-version Ubuntu 2

Microsoft Store से Linux डिस्ट्रो इंस्टॉल करें
डिफ़ॉल्ट WSL संस्करण को 2 पर सेट करने के बाद, उपयोगकर्ता को Linux डिस्ट्रो इंस्टॉल करना होगा।
- Windows पर क्लिक करें, खोजें, और Microsoft Store खोलें।
- अब पसंदीदा Linux वितरण के लिए खोजें. निम्नलिखित उपलब्ध Linux डिस्ट्रो की सूची है:
Ubuntu openSUSE Leap 15.1 SUSE Linux Enterprise Server 12 SP5 Kali Linux Debian GNU/Linux Fedora Remix for WSL Pengwin Pengwin Enterprise Alpine WSL Raft (Free Trial)
- एक बार चयन हो जाने पर, वांछित Linux डिस्ट्रो खोलें और Get पर क्लिक करें।
- फिर Install पर क्लिक करें और डिस्ट्रो को इंस्टॉल होने दें (जैसे, Ubuntu)।
- बाद में, अपना सिस्टम पुनरारंभ करें और अगले चरण में चर्चा के अनुसार डिस्ट्रो को कॉन्फ़िगर करें।

इंस्टॉल के बाद Linux डिस्ट्रो कॉन्फ़िगर करें
- एक बार Linux वितरण इंस्टॉल हो जाने पर, इसे लॉन्च करें (या तो स्टार्ट मेनू से या कमांड-लाइन टूल से) और एक कमांड प्रॉम्प्ट विंडो दिखाई जाएगी।
- अब, Ubuntu के लिए एक उपयोगकर्ता नाम (लोअरकेस में) दर्ज करें (यह Windows क्रेडेंशियल से अलग हो सकता है)।
- फिर Ubuntu खाते के लिए एक पासवर्ड दर्ज करें और बाद में, पासवर्ड की पुष्टि करें।

- अब अपनी आवश्यकताओं के अनुसार विभिन्न Linux कमांड का उपयोग करें।
- Ubuntu bash से बाहर निकलने के लिए, bash में Exit निष्पादित करें।
WSL में Linux डिस्ट्रो खोलने के तरीके
Windows में इंस्टॉल किए गए Linux डिस्ट्रो को खोलने के कई तरीके हैं:
- आप Windows स्टार्ट मेनू में Linux डिस्ट्रो नाम टाइप कर सकते हैं और इसे वहां से लॉन्च कर सकते हैं।

- Windows कमांड प्रॉम्प्ट या PowerShell से डिस्ट्रो नाम (जैसे Ubuntu) टाइप करके और Enter दबाकर।
- कमांड प्रॉम्प्ट या PowerShell में WSL.exe निष्पादित करके वर्तमान शेल में Linux टर्मिनल खोलें या WSL कमांड निष्पादित करने के लिए wsl [command] का उपयोग करें। एकाधिक डिस्ट्रो के मामले में, उपयोगकर्ता निम्न निष्पादित करके डिफ़ॉल्ट डिस्ट्रो कॉन्फ़िगर कर सकता है:
wsl -s <DistributionName>
उदाहरण के लिए
wsl -s Debian
- एक विशिष्ट WSL डिस्ट्रो खोलने के लिए, उपयोगकर्ता PowerShell (Admin) में निम्न निष्पादित कर सकता है:
wsl -d <DistributionName>
- अंतिम लेकिन कम से कम नहीं और हमारा पसंदीदा: Windows Terminal।
Windows Terminal इंस्टॉल करें
Windows Terminal एक Microsoft टर्मिनल एमुलेटर है जो एकाधिक टैब का समर्थन करता है और Windows कंसोल के लिए एक प्रतिस्थापन है। Windows Terminal के साथ WSL का उपयोग बहुत आसान हो जाता है। Windows Terminal इंस्टॉल करने के लिए:
- Microsoft Store खोलें और Windows Terminal खोजें।
- अब Get पर क्लिक करें और फिर Install पर क्लिक करें।
- एक बार इंस्टॉल हो जाने पर, इसे लॉन्च करें और WSL कमांड निष्पादित करने के लिए इसका उपयोग करें।

Linux डिस्ट्रो और कर्नेल को नवीनतम बिल्ड में अपडेट करें
Linux वितरण को कॉन्फ़िगर करने के बाद, पहला कदम इसे अपडेट करना होना चाहिए क्योंकि Microsoft इन डिस्ट्रो को ऑटो-अपडेट नहीं करता है। ऐसा करने के लिए, Linux bash में निम्न निष्पादित करें:
sudo apt update && sudo apt upgrade

WSL कर्नेल को अपडेट करने के लिए, PowerShell (Admin) में निम्न निष्पादित करें:
wsl –update

WSL की सामान्य स्थिति जांचने के लिए, PowerShell (Admin) में निम्न निष्पादित करें:
wsl --status
सामान्य Linux पैकेज इंस्टॉल करें
एक बार डिस्ट्रो अपडेट हो जाने पर, उपयोगकर्ता WSL में विभिन्न Linux पैकेज इंस्टॉल करना चाह सकता है। उपयोगकर्ता APT पैकेज रिपॉजिटरी का उपयोग कर सकता है और bash में निम्न निष्पादित कर सकता है (उदाहरण के लिए, htop इंस्टॉल करने के लिए):
$ sudo apt install htop

htop को bash में निम्न निष्पादित करके लॉन्च किया जा सकता है:
$ htop
Kali-Linux के लिए GUI Win-Kex इंस्टॉल करने के लिए, उपयोगकर्ता bash में निम्न को एक-एक करके निष्पादित कर सकता है:
sudo apt update sudo apt install -y kali-win-kex
एक बार इंस्टॉल हो जाने पर, आप Win-Kex को विभिन्न विकल्पों में चला सकते हैं। विवरण आधिकारिक Kali दस्तावेज़ीकरण में पाया जा सकता है।
WSL और Windows फ़ाइल सिस्टम
Windows में Linux फ़ाइलें कहाँ स्थित हैं? एक स्वाभाविक प्रश्न उपयोगकर्ता के मन में आता है। WSL का फ़ाइल सिस्टम निम्न स्थान पर स्थापित है (निर्देशिका में फ़ाइलों को न बदलें या हटाएं):
%LOCALAPPDATA%\Lxss\
उपयोग के दौरान, उपयोगकर्ता को होस्ट के फ़ाइल सिस्टम को WSL में एक्सेस करना पड़ सकता है। ऐसा करने के लिए, bash में निम्न निष्पादित करें:
/mnt/c/

WSL1 सुविधा सक्षम करें
कभी-कभी ऐसा हो सकता है कि उपयोगकर्ता को WSL2 के बजाय WSL1 इंस्टॉल करने की आवश्यकता हो और ऐसा करने के लिए, बस ऊपर दिए गए चरणों का पालन करें, बस WSL भागों को छोड़ दें। डिफ़ॉल्ट WSL को बदलने के लिए, उपयोगकर्ता PowerShell (Admin) में निम्न निष्पादित कर सकता है:
wsl --set-default-version 1
इसके बाद, उपयोगकर्ता अपनी आवश्यकताओं को पूरा करने के लिए एक नया Linux डिस्ट्रो इंस्टॉल कर सकता है (जैसा कि पहले चर्चा की गई)।
यदि WSL संस्करण को 1 में बदला नहीं जा सकता है, तो PowerShell (Admin) में निम्न निष्पादित करें:
New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force
फिर, अपना सिस्टम रिबूट करें और रिबूट पर, Virtual Machine Platform को अक्षम करें। इसके बाद, आपका सिस्टम WSL 1 का उपयोग करने के लिए कॉन्फ़िगर किया गया है।
सिस्टम से WSL और Linux डिस्ट्रो हटाएं
यदि आप WSL से काम पूरा कर चुके हैं और इसे सिस्टम से हटाना चाहते हैं, तो ऐसा करने की एक सरल प्रक्रिया है:
- Windows पर राइट-क्लिक करें और Apps & Features खोलें।
- अब Linux डिस्ट्रो (जैसे Ubuntu) का विस्तार करें और Uninstall पर क्लिक करें।

- फिर, डिस्ट्रो को अनइंस्टॉल करने के लिए पुष्टि करें और अपना PC रिबूट करें।
- रिबूट पर, Virtual Machine Platform और Windows Subsystem for Linux को अक्षम करें (जैसा कि पहले चर्चा की गई) Turn Windows Features on or off में।

- अब अपना PC रिबूट करें और रिबूट पर, WSL PC से हटा दिया जाता है।
तो, बस इतना ही, हम आशा करते हैं कि इस लेख ने अपना उद्देश्य पूरा किया है और WSL के मूल विचारों को स्पष्ट किया है।