# WSL (Windows Subsystem for Linux): அது என்ன, Windows-இல் நிறுவுவது எப்படி

URL: https://skillaria.top/ta/guides/linux/wsl-windows-subsystem-for-linux

WSL (Windows Subsystem for Linux) என்பது Windows 10 மற்றும் Windows 11-இல் உள்ள உள்ளமைந்த அம்சம்; தனி மெய்நிகர் இயந்திரமோ இரட்டை துவக்கமோ இல்லாமல் உண்மையான Linux விநியோகத்தை இயக்குகிறது. PowerShell-ஐ நிர்வாகியாகத் திறந்து wsl --install என ஒரே கட்டளையால் நிறுவப்படுகிறது; இயல்பாக WSL 2 மற்றும் Ubuntu வருகிறது, அதில் ஒரு இலகுவான மெய்நிகர் இயந்திரத்துக்குள் உண்மையான Linux கர்னல் இயங்குகிறது.

Windows Subsystem for Linux (WSL, Windows-க்கான Linux துணை அமைப்பு) Windows 10 மற்றும் Windows 11-இல் உள்ள ஒரு கூறு; இது Windows-க்குள்ளேயே Linux விநியோகத்தை இயக்க அனுமதிக்கிறது: bash முனையம், `apt`, `ssh`, `grep`, Docker மற்றும் எந்தக் கட்டளை வரி கருவிகளும். VirtualBox நிறுவவோ வட்டைப் பிரித்து இரண்டாவது அமைப்பை வைக்கவோ தேவையில்லை; Ubuntu ஒரு சாதாரண முனைய சாளரமாக சில வினாடிகளில் திறக்கும். கீழே WSL 1 மற்றும் WSL 2 வேறுபாடு, துணை அமைப்பை நிறுவும் முறை, கோப்புகள், VS Code மற்றும் வரைகலை பயன்பாடுகளுடன் வேலை செய்வது, பொதுவான பிழைகளைச் சரி செய்வது ஆகியவற்றை விளக்குகிறோம்.

## Linux மற்றும் Windows-இல் WSL என்றால் என்ன

சுருக்கமாகச் சொன்னால், WSL என்பது Windows-ஐ விட்டு வெளியேறாமலேயே முழுமையான Linux சூழலைப் பெறும் வழி. Ubuntu, Debian, openSUSE, Kali, AlmaLinux போன்ற ஒரு விநியோகத்தை கட்டளை வரியிலிருந்தோ Microsoft Store-இலிருந்தோ நிறுவி, சர்வரில் செய்வது போலவே பயன்படுத்தலாம்: பயனர்கள், அனுமதிகள், தொகுப்புகள், சேவைகள்.

WSL செய்யாதவற்றைப் புரிந்துகொள்வதும் முக்கியம். இது Cygwin போன்ற emulator அல்ல; போர்ட் செய்யப்பட்ட கருவிகளின் தொகுப்பும் அல்ல: WSL 2-இல் Microsoft உருவாக்கிய உண்மையான Linux கர்னல் இயங்குகிறது. அதனால் Linux இயங்கக்கூடிய கோப்புகள் மறுபடி தொகுக்காமல் இயங்கும்; WSL-இல் பெற்ற திறன்கள் நேரடியாக உண்மையான சர்வருக்கு மாற்றப்படும்.

இந்தத் துணை அமைப்புக்கான வழக்கமான பணிகள்:

- தனி கணினி இல்லாமல் Linux மற்றும் கட்டளை வரியைக் கற்றல்;
- production சர்வர் Linux-இல் இயங்கும் இணையத் திட்டங்களின் மேம்பாடு (Python, Node.js, PHP, Go);
- Docker Desktop — அது WSL 2-ஐ backend ஆகப் பயன்படுத்துகிறது;
- SSH வழியாக சர்வர்களுடன் இணைதல், bash ஸ்கிரிப்ட்கள், பழக்கமான சூழலில் git.

## WSL 1 மற்றும் WSL 2: வேறுபாடு என்ன

துணை அமைப்புக்கு இரண்டு கட்டமைப்புகள் உண்டு. WSL 1 Linux அமைப்பு அழைப்புகளை (system calls) Windows கர்னல் அழைப்புகளாக மொழிபெயர்க்கிறது; அங்கு தனி Linux கர்னல் இல்லை. WSL 2 Hyper-V அடிப்படையிலான இலகுவான மெய்நிகர் இயந்திரத்துக்குள் உண்மையான Linux கர்னலை இயக்குகிறது; அது சில வினாடிகளில் தொடங்கி நினைவகத்தைத் தானே நிர்வகிக்கிறது.

| அளவுகோல் | WSL 1 | WSL 2 |
| --- | --- | --- |

| கர்னல் | இல்லை, அமைப்பு அழைப்பு மொழிபெயர்ப்பு | உண்மையான Linux கர்னல் |

| அமைப்பு அழைப்பு இணக்கம் | பகுதியளவு | முழுமையானது |

| Docker, systemd | இல்லை | ஆம் |

| Linux கோப்புகளின் வேகம் (`~/`) | குறைவு | அதிகம் |

| Windows கோப்புகளின் வேகம் (`/mnt/c`) | அதிகம் | தெளிவாகக் குறைவு |

| மெய்நிகராக்கம் (virtualization) தேவை | இல்லை | ஆம் |

| பிணையம் | Windows உடன் பகிரப்பட்டது | தனி மெய்நிகர் பிணையம் (இயல்பாக NAT) |

பெரும்பாலான சூழ்நிலைகளில் WSL 2-ஐத் தேர்ந்தெடுங்கள்; அதுவே இயல்பானது. மெய்நிகராக்கத்தை இயக்க முடியாவிட்டால் (உதாரணமாக Windows ஏற்கெனவே ஒரு மெய்நிகர் இயந்திரத்துக்குள் இயங்கினால், உள்ளமைந்த மெய்நிகராக்கம் இல்லாமல்), அல்லது திட்டம் Windows வட்டில் இருக்க வேண்டியதாகவும் அதனுடன் தொடர்ந்து வேலை செய்ய வேண்டியதாகவும் இருந்தால் மட்டுமே WSL 1 பொருள் தரும்.

## Windows 10 மற்றும் 11-இல் WSL-ஐ நிறுவுவது எப்படி

Windows 11 மற்றும் Windows 10 பதிப்பு 2004 அல்லது அதற்குப் பிந்தையது (build 19041+) ஆகியவற்றில் நிறுவல் ஒரே கட்டளையில் முடியும். PowerShell அல்லது «Terminal» ஐ நிர்வாகியாகத் திறந்து இதை இயக்குங்கள்:

```
wsl --install
```

இந்தக் கட்டளை தேவையான Windows கூறுகளை இயக்குகிறது, WSL 2 கர்னலைப் பதிவிறக்குகிறது, Ubuntu-ஐ நிறுவுகிறது. மறுதுவக்கத்துக்குப் பிறகு விநியோகச் சாளரம் திறக்கும்: Linux பயனர் பெயரும் கடவுச்சொல்லும் தேர்ந்தெடுங்கள். அவை Windows கணக்கிலிருந்து தனியானவை; `sudo`-க்கு இந்தக் கடவுச்சொல் தேவைப்படும்.

```
Enter new UNIX username: alex
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
```

ஒரு புதிய சர்வரில் செய்வது போல உடனே தொகுப்புகளைப் புதுப்பியுங்கள்:

```
sudo apt update && sudo apt upgrade -y
```

### விநியோகத்தைத் தேர்ந்தெடுப்பது

இயல்பாக Ubuntu நிறுவப்படும்; ஆனால் வேறொரு விநியோகத்தையும் தேர்ந்தெடுக்கலாம். கிடைக்கும் பட்டியல்:

```
wsl --list --online
```

அந்தப் பட்டியலிலுள்ள பெயரின் மூலம் ஒரு குறிப்பிட்ட விநியோகத்தை நிறுவுதல்:

```
wsl --install -d Debian
```

WSL ஏற்கெனவே நிறுவப்பட்டிருந்தால் கட்டளை புதிய விநியோகத்தை மட்டும் சேர்க்கும். ஒரே நேரத்தில் பல அமைப்புகளை வைத்திருக்கலாம்; உதாரணமாக வேலைக்கு Ubuntu, பரிசோதனைகளுக்கு Kali.

### பதிப்பைச் சரிபார்த்தல்: wsl -l -v

நிறுவப்பட்ட விநியோகங்கள், அவற்றின் நிலை மற்றும் WSL பதிப்பைக் காண:

```
wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
  Debian    Stopped         2
```

நட்சத்திரக்குறி இயல்பு விநியோகத்தைக் குறிக்கிறது; அது `wsl` என்று அளவுருக்கள் இல்லாமல் இயக்கும்போது திறக்கும். அதை மாற்ற: `wsl --set-default Debian`.

### WSL 1-ஐ WSL 2-க்கு மாற்றுவது எப்படி

புதிய நிறுவல்களுக்கான பதிப்பு இந்தக் கட்டளையால் அமைக்கப்படுகிறது:

```
wsl --set-default-version 2
```

ஏற்கெனவே நிறுவப்பட்ட விநியோகம் தனியாக மாற்றப்பட வேண்டும் (தரவு பாதுகாக்கப்படும்; ஆனால் சில நிமிடங்கள் ஆகலாம்):

```
wsl --set-version Ubuntu 2
```

மீண்டும் மாற்ற: `wsl --set-version Ubuntu 1`.

### பயனுள்ள WSL மேலாண்மைக் கட்டளைகள்

| கட்டளை | என்ன செய்கிறது |
| --- | --- |

| `wsl` | இயல்பு விநியோகத்தைத் திறக்கிறது |

| `wsl -d Debian` | குறிப்பிட்ட விநியோகத்தைத் திறக்கிறது |

| `wsl --shutdown` | எல்லா விநியோகங்களையும் WSL 2 மெய்நிகர் இயந்திரத்தையும் நிறுத்துகிறது |

| `wsl --terminate Ubuntu` | ஒரு விநியோகத்தை மட்டும் நிறுத்துகிறது |

| `wsl --update` | WSL மற்றும் கர்னலைப் புதுப்பிக்கிறது |

| `wsl --status` | இயல்பு பதிப்பு மற்றும் பொதுவான நிலை |

| `wsl --export Ubuntu ubuntu.tar` | விநியோகத்தை ஆவணக் கோப்பாக காப்புப் பிரதி எடுக்கிறது |

| `wsl --import Ubuntu2 D:\wsl\u2 ubuntu.tar` | விநியோகத்தை மீட்டெடுக்க அல்லது நகலெடுக்க |

| `wsl --unregister Ubuntu` | விநியோகத்தை அதன் எல்லா தரவுகளுடன் நீக்குகிறது |

`--unregister` குறித்து கவனமாக இருங்கள்: விநியோகத்துக்குள் உள்ள கோப்புகள் குப்பைத்தொட்டி இல்லாமல் நீக்கப்படும். அதற்கு முன் `--export` செய்யுங்கள்.

## Windows மற்றும் Linux இடையே கோப்புகள்

Windows இயக்கிகள் WSL-க்குள் `/mnt` கோப்புறையில் தானாக ஏற்றப்படுகின்றன: C: இயக்கி `/mnt/c` ஆகவும், D: இயக்கி `/mnt/d` ஆகவும் தெரியும்.

```
cd /mnt/c/Users/alex/Downloads
ls -l
cp report.csv ~/projects/
```

எதிர்த்திசையில், Linux கோப்புகள் File Explorer-இல் `\\wsl$\Ubuntu` பிணையப் பாதை வழியாகத் தெரியும் (Windows 11-இல் `\\wsl.localhost\Ubuntu` ஆகவும்), மற்றும் பக்கப்பட்டியில் «Linux» பிரிவிலும். தற்போதைய Linux கோப்புறையை Explorer-இல் விரைவாகத் திறக்க:

```
explorer.exe .
```

WSL-இலிருந்து Windows நிரல்களை இயக்கலாம் (`notepad.exe`, `code`); PowerShell-இலிருந்து முன்னொட்டுடன் Linux கட்டளைகளை இயக்கலாம்: `wsl ls -la`. இரு அமைப்புகளுக்கிடையே பாதைகளை மாற்ற `wslpath` கருவி உள்ளது:

```
wslpath 'C:\Users\alex'
/mnt/c/Users/alex
```

WSL 2-இன் செயல்திறனுக்கான முக்கிய விதி: திட்டங்களை Linux கோப்பு முறைமையில் (`~/projects`) வையுங்கள்; `/mnt/c`-இல் அல்ல. Windows இயக்கிகளை அணுகுவது பிணைய நெறிமுறை வழியாகச் செல்கிறது; பெரிய திட்டத்தில் `git status` அல்லது `npm install` போன்ற செயல்பாடுகள் அங்கே பல மடங்கு மெதுவாக இருக்கும்.

## VS Code மற்றும் WSL

Visual Studio Code WSL-ஐ ஒரு தொலைதூர இயந்திரம் போல பயன்படுத்த முடியும்: இடைமுகம் Windows-இலேயே இருக்கும்; முனையம், நீட்சிகள் (extensions), மொழிபெயர்ப்பிகள், பிழைத்திருத்தி (debugger) Linux-க்குள் இயங்கும். இதற்கு Microsoft-இன் WSL நீட்சி தேவை. பின்னர் விநியோக முனையத்தில் திட்டக் கோப்புறைக்குச் சென்று இயக்குங்கள்:

```
cd ~/projects/site
code .
```

முதல் தொடக்கத்தில் VS Code சேவையக பகுதியை Linux-இல் தானாக நிறுவும். கீழ் இடது மூலையில் «WSL: Ubuntu» குறிகாட்டி தோன்றும்; அதாவது உள்ளமைந்த முனையத்தில் நீங்கள் இயக்கும் அனைத்தும் Linux-இல் இயங்குகின்றன. Python அல்லது ESLint போன்ற நீட்சிகளை «WSL-இல்» நிறுவ வேண்டும்; VS Code அதற்கான பொத்தானைக் காட்டும்.

## WSL-இல் வரைகலை பயன்பாடுகள் (WSLg)

Windows 11-லும், Windows 10-இல் நவீன WSL பதிப்புகளிலும் WSLg உண்டு: X சேவையகத்தை அமைக்காமலேயே Linux வரைகலை பயன்பாடுகளுக்கு ஆதரவு. நிரலை வழக்கம்போல நிறுவுங்கள்; அதன் சாளரம் Windows சாளரங்களுடன் தோன்றும், குறுக்குவழி «Start» மெனுவில் இருக்கும்.

```
sudo apt install gedit -y
gedit ~/.bashrc &
```

WSLg X11 மற்றும் Wayland, ஒலி, கிளிப்போர்டு ஆகியவற்றை ஆதரிக்கிறது. ஆனாலும் அன்றாட வேலைக்கு முழு Linux டெஸ்க்டாப்புக்கு இது மாற்றல்ல: WSL தனித்தனி பயன்பாடுகளுக்காக வடிவமைக்கப்பட்டது; GNOME அல்லது KDE முழுவதையும் இயக்குவதற்காக அல்ல.

## systemd மற்றும் WSL 2 வளங்கள்

WSL 2-இன் நவீன பதிப்புகள் systemd-ஐ ஆதரிக்கின்றன: புதிய Ubuntu நிறுவல்களில் அது இயல்பாக இயக்கப்பட்டிருக்கும். இல்லையென்றால் விநியோகத்துக்குள் `/etc/wsl.conf` கோப்பில் சேர்க்கவும்:

```
[boot]
systemd=true
```

பின்னர் PowerShell-இலிருந்து துணை அமைப்பை மறுதொடக்கம் செய்யுங்கள்: `wsl --shutdown`. அதன் பின் `systemctl` மற்றும் nginx அல்லது PostgreSQL போன்ற சேவைகள் வேலை செய்யும்.

WSL 2 மெய்நிகர் இயந்திரம் எவ்வளவு நினைவகமும் செயலிகளும் பயன்படுத்தலாம் என்பதை Windows பக்கத்திலுள்ள `%UserProfile%\.wslconfig` கோப்பில் கட்டுப்படுத்தலாம்:

```
[wsl2]
memory=4GB
processors=2
```

அமைப்புகள் `wsl --shutdown`-க்குப் பிறகு நடைமுறைக்கு வரும்.

## WSL நிறுவலில் பொதுவான பிழைகள்

### பிழை 0x80370102

முழு செய்தி: «மெய்நிகர் இயந்திரத்தைத் தொடங்க முடியவில்லை, தேவையான கூறு நிறுவப்படவில்லை» (WslRegisterDistribution failed with error: 0x80370102). காரணம் பெரும்பாலும் ஒன்றுதான்: WSL 2-ஆல் மெய்நிகர் இயந்திரத்தைத் தொடங்க முடியவில்லை. வரிசையாகச் சரிபார்க்கவும்:

1. BIOS/UEFI-இல் வன்பொருள் மெய்நிகராக்கம் இயக்கப்பட்டுள்ளதா: Intel VT-x (Intel Virtualization Technology) அல்லது AMD-V (SVM Mode)? நிலையை Task Manager → Performance → CPU → «Virtualization: Enabled» என்பதில் காணலாம்.
2. «Virtual Machine Platform» கூறு இயக்கப்பட்டுள்ளதா?
3. துவக்க ஏற்றியில் hypervisor முடக்கப்பட்டுள்ளதா?

கூறுகளை நிர்வாகியாக PowerShell-இலிருந்து இயக்குங்கள்:

```
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
bcdedit /set hypervisorlaunchtype auto
```

பின்னர் கணினியை மறுதொடக்கம் செய்யுங்கள். நீங்கள் ஒரு மெய்நிகர் இயந்திரத்தின் உள்ளே வேலை செய்தால், ஹோஸ்டில் உள்ளமைந்த மெய்நிகராக்கத்தை அனுமதிக்க வேண்டும்; அல்லது WSL 1-ஐப் பயன்படுத்துங்கள்.

### மற்ற பொதுவான சிக்கல்கள்

- **0x800701bc**: WSL 2 கர்னல் புதுப்பிக்கப்படவில்லை. `wsl --update` இயக்குங்கள்.
- **`wsl --install` உதவிச் செய்தியை மட்டும் காட்டுகிறது**: WSL ஏற்கெனவே நிறுவப்பட்டுள்ளது; `wsl --install -d Ubuntu` மூலம் ஒரு விநியோகத்தைச் சேர்க்கவும்.
- **VPN இயங்கும்போது WSL-இல் இணையம் இல்லை**: VPN கிளையன்ட் மெய்நிகர் பிணையத்தின் பாதைகளை இடைமறிக்கிறது. Windows 11-இல் `.wslconfig` கோப்பின் `[wsl2]` பிரிவில் `networkingMode=mirrored` உதவும்.
- **WSL அதிக இடத்தை எடுக்கிறது**: `ext4.vhdx` மெய்நிகர் வட்டு பெருகும்; ஆனால் கோப்புகளை நீக்கிய பிறகு தானாகச் சுருங்காது. கைமுறையாகச் சுருக்கலாம் அல்லது `--export`/`--import` மூலம் மாற்றலாம்.
- **Linux கடவுச்சொல் மறந்துவிட்டது**: PowerShell-இலிருந்து root ஆக நுழையுங்கள்: `wsl -u root`, பின்னர் `passwd alex`.

## WSL, மெய்நிகர் இயந்திரம் அல்லது இரட்டை துவக்கம்

Windows கணினியில் Linux பெற WSL மட்டுமே வழி அல்ல. தேர்வு பணியைப் பொறுத்தது.

| தேர்வு | நன்மைகள் | குறைகள் | எப்போது தேர்ந்தெடுக்கலாம் |
| --- | --- | --- | --- |

| WSL 2 | சில வினாடிகளில் தொடக்கம், பகிரப்பட்ட கோப்புகள், VS Code, Docker | முழு டெஸ்க்டாப் இல்லை; பிணையம் மற்றும் வட்டுகளில் சிறப்பியல்புகள் | மேம்பாடு, கட்டளை வரி கற்றல், ஸ்கிரிப்ட்கள் |

| மெய்நிகர் இயந்திரம் (VirtualBox, Hyper-V, VMware) | முழு தனிமைப்படுத்தல், ஸ்னாப்ஷாட்கள், எந்த விநியோகமும் டெஸ்க்டாப்பும், தனி பிணைய அட்டை | கனமானது; வளங்கள் முன்கூட்டியே ஒதுக்கப்படும் | சர்வர் சோதனைச் சூழல், பிணையம், துவக்கம் மற்றும் வட்டுப் பிரிவினை பரிசோதனைகள் |

| இரட்டை துவக்கம் (Dual boot) | வன்பொருளின் முழு சக்தி, நேரடி வரைகலை மற்றும் இயக்கிகள் | மாற மறுதொடக்கம்; வட்டுப் பிரிவினையில் ஆபத்து | Linux முதன்மை அமைப்பாக, Linux-இல் விளையாட்டுகள் மற்றும் GPU பணிகள் |

Linux-ஐ முதலிலிருந்து கற்க WSL பொதுவாகப் போதும்: கோப்புகள், அனுமதிகள், செயல்முறைகள், தொகுப்புகள், bash ஸ்கிரிப்ட்கள் மற்றும் SSH சர்வரில் போலவே செயல்படும். துவக்க ஏற்றி, இயற்பியல் வட்டுப் பிரிவினை, பிணைய இடைமுகங்கள், ஹோஸ்ட் அளவிலான firewall போன்ற WSL-இல் வேறுவிதமாக அமைந்தவற்றை அடையும்போதுதான் மெய்நிகர் இயந்திரம் தேவைப்படும்.

## சுருக்கம்

Windows Subsystem for Linux ஒரே கட்டளையான `wsl --install` மூலம் Windows-க்குள் உண்மையான Linux-ஐத் தருகிறது. WSL 2-ஐத் தேர்ந்தெடுங்கள், `wsl -l -v` மூலம் பதிப்புகளைச் சரிபார்க்கவும், திட்டங்களை `/mnt/c`-இல் அல்ல `~/`-இல் வைத்திருங்கள், VS Code-ஐ WSL நீட்சியுடன் இணையுங்கள். நிறுவல் 0x80370102 பிழையுடன் தோல்வியடைந்தால் BIOS-இல் மெய்நிகராக்கத்தையும் «Virtual Machine Platform» கூறையும் இயக்குங்கள். இந்த அமைப்பில் Linux பாடநெறியின் நடைமுறைப் பயிற்சி தொடங்குகிறது.

## FAQ

**WSL இலவசமா?**

ஆம். WSL Windows 10 மற்றும் Windows 11-இன் எல்லாப் பதிப்புகளிலும் வருகிறது, Home பதிப்பிலும் கூட; Linux விநியோகங்களும் இலவசம்.

**WSL-இல் Docker இயக்க முடியுமா?**

முடியும், ஆனால் WSL 2-இல் மட்டும். WSL 2 backend உடன் Docker Desktop நிறுவலாம், அல்லது சாதாரண Ubuntu சர்வரில் போலவே விநியோகத்துக்குள் Docker Engine நேரடியாக நிறுவலாம்.

**WSL விநியோகத்தின் கோப்புகள் உண்மையில் எங்கே சேமிக்கப்படுகின்றன?**

WSL 2-இல் அவை Windows பயனர் சுயவிவரத்தில் உள்ள ext4.vhdx மெய்நிகர் வட்டில் இருக்கும். அதை நேரடியாகத் திறக்க வேண்டியதில்லை; Explorer-இல் \\wsl$\ பாதையைப் பயன்படுத்துங்கள்.

**WSL-ஐ முழுமையாக நீக்குவது எப்படி?**

விநியோகங்களை wsl --unregister  மூலம் நீக்குங்கள்; பின்னர் Settings → Apps → «Installed apps» பிரிவில் «Windows Subsystem for Linux» பயன்பாட்டை நீக்குங்கள்; தேவைப்பட்டால் Windows கூறுகளை முடக்குங்கள்.

**WSL-ஐ வேறு வட்டுக்கு மாற்ற முடியுமா?**

முடியும்: wsl --export Ubuntu ubuntu.tar, பின்னர் wsl --unregister Ubuntu, பின்னர் wsl --import Ubuntu D:\wsl\ubuntu ubuntu.tar. புதிய பதிப்புகளில் wsl --manage Ubuntu --move கட்டளையும் உண்டு.


---
Source: Skillaria.Top (https://skillaria.top)
