اجرای لینوکس در داخل ویندوز چند دهه پیش غیرقابل تصور بود. خوشبختانه پیشرفتهای فناوری این امر را ممکن ساخته است. اکنون میتوانید لینوکس را در ویندوز یا برعکس اجرا کنید.
بوت دوگانه روش ایدهآلی برای اجرای هر دو سیستم در کنار یکدیگر است. در این پیکربندی، فقط یک سیستم در یک زمان اجرا میشود و از مزایای یک محیط فیزیکی ساده بهرهمند میشود. اگرچه این روش راحت است، اما همیشه راهحل جادویی نیست و گاهی اوقات، مشکلات بوت میتواند به دلایل مختلف در هر دو سیستم عامل رخ دهد.
خوشبختانه، میتوانید از شر استرس راهاندازی دوگانه خلاص شوید و لینوکس را در داخل ویندوز اجرا کنید. بیایید روشهای مختلف اجرای دستورات لینوکس را در سیستم ویندوز بررسی کنیم.
اجرای دستورات لینوکس با استفاده از WSL (زیرسیستم ویندوز برای لینوکس) #
WSL ابزاری مفید است که تجربه لینوکس را در محیط ویندوز ارائه میدهد. به لطف ادغام چشمگیر آن با ویندوز، شما را تا حد امکان به اجرای لینوکس روی سختافزار فیزیکی نزدیک میکند. گنجاندن هسته لینوکس در آن، تغییر دهنده واقعی بازی است و چیزی است که آن را از سایر ابزارهایی که در ادامه به آنها خواهیم پرداخت، متمایز میکند. ارائه یک محیط کامل لینوکس اساساً با تمام ابزارهای GNU/Linux ارائه میشود و انعطافپذیری لازم برای اجرای تعداد نامحدودی از وظایف را فراهم میکند.
WSL 2 معماری فعلی خانواده WSL است. این معماری در سال ۲۰۲۰ عرضه شد و همان چیزی است که پس از انتشار این بررسی دریافت خواهید کرد. این معماری از مجازیسازی به معنای سنتی آن استفاده نمیکند، بلکه یک ماشین مجازی سبک را اجرا میکند که شامل یک هسته واقعی لینوکس است و یک تجربه تقریباً بومی لینوکس را ارائه میدهد.
نسخه قبلی آن، WSL 1، عملکرد ضعیفتری داشت و با مشکلات عملکردی مواجه بود. این نسخه فراخوانیهای سیستم لینوکس را به فراخوانیهای سیستم ویندوز ترجمه میکرد که منجر به مشکلات سازگاری سیستم فایل میشد، که یک مانع بزرگ در اکثر گردشهای کاری محسوب میشود. فقدان یک هسته کامل لینوکس به این معنی است که یک محیط لینوکس واقعی را در خود جای نمیدهد و در نتیجه محدودیتهای عملکردی ایجاد میکند.
برای نصب WSL 2، مطمئن شوید که ویندوز ۱۰ نسخه ۲۰۰۴ و بالاتر (بیلد ۱۹۰۴۱ و بالاتر) یا ویندوز ۱۱ را اجرا میکنید. علاوه بر این، مطمئن شوید که ویژگیهای «Hyper-V» و «Virtual machine platform» برای ایجاد ماشینهای مجازی فعال هستند. برای انجام این کار، به «Turn Windows features on or off» بروید و گزینههای «Hyper-V» و «Virtual machine platform» را برای نصب تمام اجزای مجازیسازی بررسی کنید. پس از نصب، سیستم خود را مجدداً راهاندازی کنید تا نصب کامل شود.
وقتی سیستم روشن شد، با کلیک روی دکمه ویندوز، Windows PowerShell را اجرا کنید. عبارت “PowerShell” را جستجو کنید، سپس “Run as administrator” را انتخاب کنید.

پس از اجرا، دستور زیر را اجرا کنید:
wsl --install

این دستور، WSL نسخه ۲ و اوبونتو را به عنوان سیستم عامل پیشفرض نصب میکند. صبور باشید، زیرا این کار کمی طول میکشد. پس از اتمام نصب، کامپیوتر خود را مجدداً راهاندازی کنید تا تغییرات اعمال شوند. برای راهاندازی مجدد سیستم از طریق PowerShell، دستور زیر را اجرا کنید:
Restart-Computer
پس از راهاندازی مجدد، WSL دانلود و نصب اوبونتو را ادامه خواهد داد.

در نهایت، WSL یک نمونه جدید از اوبونتو را ارائه میدهد. این ممکن است مدتی طول بکشد.

همزمان، رابط کاربری گرافیکی WSL به همراه گزینههای منو در نوار کناری سمت چپ نمایش داده میشود که میتوانید برای نمایش اطلاعات بیشتر در مورد WSL روی آنها کلیک کنید.

شما میتوانید WSL را از PowerShell به عنوان مدیر سیستم به صورت زیر اجرا کنید:
wsl.exe -d ubuntu
برای راهاندازی اولیه، شما نیاز به وارد کردن نام کاربری و رمز عبور یونیکس دارید. پس از وارد کردن اطلاعات، به محیط رابط خط فرمان (CLI) آخرین نسخه اوبونتو هدایت خواهید شد.

برای خروج از محیط shell، دستور زیر را اجرا کنید:
exit
برای راهاندازیهای بعدی WSL، با استفاده از نوار جستجوی ویندوز، عبارت Ubuntu را جستجو کنید و روی اولین گزینه با عنوان Ubuntu App کلیک کنید .

این یک پوسته ترمینال باز میکند که محیط لینوکس را فراهم میکند.

نکته
همانطور که قبلاً گفته شد، WSL به طور پیشفرض اوبونتو را نصب و اجرا میکند. میتوانید با استفاده از دستور زیر، توزیع دیگری را نصب کنید:
wsl --install -d <distribution>
برای مثال، برای نصب WSL با Debian به عنوان سیستم عامل پیشفرض، دستور زیر را اجرا کنید:
wsl --install -d Debian
علاوه بر این، میتوانید با مشخص کردن نسخه یک نسخه خاص، آن را نصب کنید. برای مثال، برای نصب اوبونتو ۲۴.۰۴، دستور زیر را اجرا کنید:
wsl --install -d Ubuntu-24.04
برای لیست کردن تمام توزیعهای لینوکس پشتیبانیشده با استفاده از دستور:
wsl --list --online

برای بررسی نسخه WSL، دستور زیر را اجرا کنید:
wsl --version
مزایا #
- رایگان. هیچ هزینهای برای اجرای آن لازم نیست.
- نصب و راهاندازی آسان و سریع. فقط به چند مرحله نیاز دارد.
- از چندین توزیع لینوکس پشتیبانی میکند .
- سبک و با مصرف منابع متوسط.
- عالی برای اجرای وظایف ساده، مانند اسکریپتنویسی Bash، برنامهنویسی و اجرای ابزارهای CLI.
- ادغام عالی با ویندوز. میتوانید از طریق WSL به فایلهای ویندوز از لینوکس دسترسی داشته باشید.
- پشتیبانی عالی از برنامههای لینوکس با رابط کاربری گرافیکی.
محدودیتها #
- دسترسی محدود به سختافزار. WSL فاقد پشتیبانی پیشفرض از سختافزارهایی مانند دستگاههای USB و وبکم است. برای اشتراکگذاری دستگاههای USB متصل با نمونه مجازی خود، به برنامههای اضافی مانند USBIPD نیاز دارید.
- افزایش مصرف برق از آنجایی که WSL یک ماشین مجازی لینوکس سبک را اجرا میکند.
- توزیعهایی مانند AlmaLinux و Fedora میتوانند وقتی VHD خیلی بزرگ میشود، فضای قابل توجهی از هارد دیسک را اشغال کنند.
- در حالی که WSL 1 میتواند از پیکربندی LAN IP استفاده کند، WSL 2 به طور پیشفرض از NAT استفاده میکند. اگر قصد دارید نمونه شما بخشی از زیرشبکه LAN شما باشد، پیکربندی اضافی لازم است.
- کندتر از توزیعهای مرسوم لینوکس، به خصوص هنگام اجرای حجم کاری سنگین.
اجرای دستورات لینوکس با استفاده از برنامه Git Bash #
Git Bash یکی دیگر از برنامههای کاربردی جذاب برای اجرای دستورات لینوکس روی سیستم ویندوز است . این برنامه ابزاری برای تعامل با Git، یک سیستم کنترل نسخه، فراهم میکند و در نتیجه شکاف بین ماهیت یونیکسمحور Git و ویندوز را کاهش میدهد.
علاوه بر ارائه مجموعهای از دستورات Git برای کنترل نسخه، Git Bash یک Bash shell نیز برای اجرای دستورات لینوکس ارائه میدهد . این ابزار برخلاف WSL یا ماشین مجازی، لایه شبیهسازی ارائه نمیدهد. در عوض، روی MSYS2 اجرا میشود، یک لایه سازگاری حداقلی POSIX که به ابزارها و برنامههای UNIX اجازه میدهد تا روی ویندوز اجرا شوند.
برای نصب Git Bash، به صفحه دانلود Git Bash مراجعه کنید و فایل نصب .exe را دریافت کنید. نصبکننده را اجرا کنید و گزینههای پیشفرض را برای یک تجربه CLI بینقص انتخاب کنید. با جستجوی آن در نوار جستجو، آن را اجرا کنید.

رابط کاربری به این شکل است.

مزایا #
- نصب سریع و آسان. فقط یک یا دو دقیقه طول میکشد.
- سریع و سبک با استفاده کم از منابع.
- متنباز و رایگان برای استفاده.
- کل مجموعه Git CLI را برای اجرای تمام وظایف کنترل نسخه فراهم میکند.
- پشتیبانی از پروتکلهای SCP و SSH برای ایجاد ارتباطات امن از راه دور.
- مستقیماً روی ویندوز اجرا میشود؛ از این رو، هیچ مجازیسازی یا پیکربندی اضافی لازم نیست.
- به شما امکان میدهد دستورات پایه لینوکس/یونیکس مانند touch، mkdir، rmdir، pwd، ls، cat، date، grep و بسیاری دیگر را اجرا کنید. از این رو، ابزاری عالی برای زبانآموزان و علاقهمندان به CLI است.
- یک گزینه قابل حمل که از طریق فلش مموری USB اجرا میشود نیز موجود است. در این حالت، نیازی به نصب نیست.
محدودیتها #
- برخی از ابزارهای دستوری لینوکس، مانند مدیران بسته (dnf، apt، yum)، ابزارهای سیستمی (top، htop و lsof) و کامپایلر GCC، وجود ندارند.
- از مسیرهای ویندوز برای پیمایش استفاده میکند. برای پیمایش، باید به جای اسلش رو به جلو ‘/’، از بکاسلش ” استفاده کنید، که مختص لینوکس است.
- هنگام مدیریت مخازن عظیم، کندتر از گیت بومی است.
- عدم پشتیبانی کامل از رابط کاربری گرافیکی. برخلاف WSL، نمیتوانید برنامههای دسکتاپ را اجرا کنید.
- برخی ابزارها، مانند پینگ، هنگام استفاده در محیط لینوکس بومی، رفتار متفاوتی از خود نشان میدهند.
- این برای محیطهای توسعه پیچیده مانند اسکریپتنویسی bash یا پشتههای نرمافزاری کامل ایدهآل نیست زیرا برخی از ابزارهای لینوکس یا وجود ندارند یا به طور متفاوتی اجرا میشوند. WSL گزینه مناسبتری است.
اجرای دستورات لینوکس با استفاده از برنامه Cygwin #
برخلاف WSL، Cygwin هسته لینوکس را ارائه نمیدهد. این یک لایه ترجمه است که مجموعهای گسترده از ابزارهای کامپایل شده گنو/لینوکس را ارائه میدهد. با این حال، یک نکته وجود دارد – نصب پیشفرض همه ابزارها را در اختیار شما قرار نمیدهد. شما فقط مجموعهای حداقلی از ابزارهای Bash مانند pwd، ls، mkdir، rmdir، gzip و کتابخانههای اصلی را دریافت میکنید. خوشبختانه، نصبکننده انعطافپذیری لازم برای انتخاب از ابزارهای پیشرفته مانند GCC، Make، Python3، pkg-config، CMake و کتابخانههای توسعه را ارائه میدهد.
این ابزار به دلیل پشتیبانی عالی از زبانهای برنامهنویسی، از جمله PHP، Java، Python و JavaScript، ابزاری محبوب برای توسعهدهندگان است.
در اینجا لیست کاملی از تمام بستههای ارائه شده توسط Cygwin آمده است.
برای نصب Cygwin، به صفحه نصب مراجعه کنید، فایل اجرایی را دانلود و اجرا کنید .

مزایا #
- رایگان و متنباز. هیچ هزینهای برای استفاده از آن لازم نیست.
- به صورت بومی روی ویندوز اجرا میشود؛ از این رو، نیازی به مجازیسازی ندارد.
- طیف گستردهای از ابزارها و کتابخانههای گنو/لینوکس را در حین نصب ارائه میدهد. میتوانید همه یا برخی از بستهها را نصب کنید.
- یک لایه سازگاری POSIX ارائه میدهد که به برنامههای مبتنی بر یونیکس اجازه میدهد تا به طور یکپارچه روی ویندوز اجرا شوند.
- قابلیت تنظیم بالا. به شما این امکان را میدهد که ابزارهایی را که ترجیح میدهید در طول نصب گنجانده شوند، انتخاب کنید.
- یک انجمن آنلاین فعال با مستندات فراوان.
- برای پورت کردن برنامههای لینوکس مناسب است.
محدودیتها #
- سربار منابع گاهی اوقات میتواند باعث عملکرد کندتر در مقایسه با WSL یا یک محیط لینوکس بومی شود.
- انتخاب نصب همه بستهها در حین نصب، زمان زیادی میبرد و اغلب به فضای دیسک قابل توجهی نیاز دارد.
- فاقد ابزارهای مدیریت بسته بومی لینوکس مانند apt، dnf و pacman است.
- جایگزین کاملی برای محیط لینوکس نیست. فقط یک لایه شبیهسازی POSIX است و برخی از دستورات لینوکسمحور در آن کار نمیکنند.
- ادغام محدود ویندوز.
اجرای دستورات لینوکس با استفاده از ماشین مجازی #
در نهایت، میتوانید یک ماشین مجازی ایجاد کنید و لینوکس را روی رایانه ویندوزی خود اجرا کنید. در این روش، ابتدا یک هایپروایزر روی ویندوز نصب میشود. این هایپروایزر یک لایه مجازیسازی ایجاد میکند که روی رایانه فیزیکی شما قرار میگیرد و امکان اشتراکگذاری منابع را بین ماشینهای مجازی فراهم میکند. پس از نصب، کاربر میتواند بسته به ظرفیت منابع سختافزار اصلی، ماشینهای مجازی ایجاد کند.
لایه هایپروایزر بین سختافزار زیرین و ماشینهای مجازی قرار دارد و منابع سختافزاری مانند حافظه، پردازنده و فضای دیسک را انتزاع کرده و آنها را در اختیار ماشینهای مجازی قرار میدهد. ماشینهای مجازی منابع سختافزاری زیرین را به اشتراک میگذارند اما به طور مستقل اجرا میشوند. شما میتوانید یک ماشین مجازی را از یک فایل ISO از توزیع لینوکس مورد نظر خود یا یک فایل ایمیج هارد دیسک از پیش ساخته شده ایجاد کنید.
هایپروایزرها به طور کلی به دو دسته تقسیم میشوند.
هایپروایزرهای نوع ۱ مستقیماً روی کامپیوترهای بدون سختافزار نصب میشوند، در حالی که هایپروایزرهای نوع ۲ بر روی یک سیستم عامل از قبل نصب شده مستقر میشوند. در این زمینه، میتوانید از یک هایپروایزر نوع ۲ مانند Oracle VirtualBox یا VMware Workstation روی رایانه ویندوزی خود استفاده کنید و ماشینهای مجازی را آماده کنید.

مزایا #
- شما یک محیط کامل لینوکس با تمام ابزارها و امکانات دریافت میکنید. ماشین مجازی لینوکس دقیقاً مانند یک سیستم عامل لینوکس بومی روی سختافزار خام اجرا میشود.
- شما میتوانید چندین ماشین مجازی ایجاد کنید و آنها را همزمان اجرا کنید، مشروط بر اینکه منابع سختافزاری کافی داشته باشید.
- از هر دو رابط کاربری گرافیکی (GUI) و رابط خط فرمان (CLI) پشتیبانی میکند. میتوانید یک رابط کاربری گرافیکی دسکتاپ را به طور یکپارچه اجرا کنید، درست همانطور که یک سرور مینیمال یا بدون سربار (headless) را اجرا میکنید.
- تقریباً از همه توزیعهای سیستم عامل لینوکس پشتیبانی میکند. میتوانید نمونههای مجازی از توزیعهای محبوب مانند اوبونتو، دبیان، فدورا، راکی و آلما لینوکس و سایر موارد کمتر محبوب مانند اسلکس، پاپی لینوکس، کرانچبنگ++ و سولوس را اجرا کنید.
- ایدهآل برای اهداف یادگیری. میتوانید اجرای دستورات را تمرین کنید و با برنامههای مختلف بدون تأثیر بر محیط ویندوز آزمایش کنید.
- انعطافپذیری در پیکربندی شبکه. برخلاف سایر گزینهها که فقط از NAT پشتیبانی میکنند، میتوانید شبکه NAT، پل ارتباطی یا شبکه فقط میزبان را برای ماشینهای مجازی پیکربندی کنید.
- منابع قابل تنظیم. شما به راحتی میتوانید منابعی مانند هستههای CPU و RAM را در صورت نیاز افزایش یا کاهش دهید.
محدودیتها #
- سربار مجازیسازی. ماشینهای مجازی منابع یکسانی را با میزبان (سیستم عامل ویندوز) به اشتراک میگذارند که منجر به اتمام منابع میشود.
- مجازیسازی میتواند عملکرد سیستم عامل میزبان را در صورت تخصیص بیش از حد منابع یا اجرای همزمان چندین ماشین مجازی، کاهش دهد. به عنوان یک توصیه، اطمینان حاصل کنید که منابع کافی برای تطبیق با ماشین مجازی دارید و به اندازه کافی برای عملکرد روان سیستم میزبان، منابع در نظر گرفتهاید.
- مصرف بالای برق در لپتاپها
- زمان بوت طولانیتر در مقایسه با WSL و Git Bash.
- هارد دیسکهای مجازی میتوانند به صورت تصاعدی رشد کنند و به سرعت فضای دیسک را اشغال کنند و منجر به محدودیتهای ذخیرهسازی در سیستمعامل ویندوز شوند.
- محدودیتهای USB و دستگاههای جانبی. همه دستگاههای USB به طور یکپارچه با ماشینهای مجازی کار نمیکنند. ممکن است پیکربندی اضافی مورد نیاز باشد.
- زمان بوت طولانیتر – در مقایسه با WSL یا Git Bash، زمان بیشتری برای شروع نیاز دارد.
سرورهای اختصاصی ویندوز برای حجم کاری سازمانی #
سرورهای اختصاصی ویندوز را با گزینههای سختافزاری انعطافپذیر، نرمافزارهای دارای مجوز، دسترسی کامل مدیریتی و پشتیبانی تخصصی ۲۴ ساعته برای حجم کاری قابل اعتماد سازمانی مستقر کنید.
نتیجه گیری #
ما روشهای مختلفی را برای اجرای دستورات لینوکس روی ویندوز بررسی کردهایم. WSL، Git Bash و Cygwin اساساً سبک هستند و نصب آنها سریع است. با این حال، آنها فاقد برخی ابزارها و امکانات ضروری لینوکس/یونیکس هستند. در همین حال، یک ماشین مجازی یک تجربه کامل لینوکس را برای هر دو نمونه GUI و CLI ارائه میدهد، اما برای اجرا به منابع بیشتری از سختافزار زیرین نیاز دارد.
