زمانی که ویندوز کند میشود، نصب مجدد آن اغلب بهنظر میرسد امنترین گزینه باشد. این کار وعدهٔ شروعی تازه را میدهد، بهطوری که سیستم شما دقیقاً همانگونه که در اولین روز کار میکرد، عمل کند. در اکثر موارد مشکلات عملکرد از ذخیرهسازی شلوغ ناشی میشود، نه از یک سیستمعامل خراب. هر روز، فعالیتها کتابخانههای عکسی عظیم، پوشههای پروژه، سرویسهای همگامسازی و دادههای برنامهها را ایجاد میکند. وقتی تمام اینها بر روی همان درایوی که ویندوز دارد ذخیره شوند، فشار اضافی بر آن درایو وارد میشود.
زمانی که ویندوز کند میشود، نصب دوباره آن اغلب بهعنوان ایمنترین گزینه بهنظر میرسد. این گزینه یک شروع تازه را وعده میدهد، بهطوری که سیستم شما همانند روز اول اجرا میشود. اغلب مشکلات عملکرد ناشی از حافظهٔ پر شلوغ است نه یک سیستمعامل معیوب. هر روز فعالیتها باعث انباشت کتابخانههای بزرگ عکس، پوشههای پروژه، خدمات همگامسازی و دادههای برنامهها میشود. هنگامی که همه اینها بر روی همان درایوی که ویندوز روی آن نصب است ذخیره میشوند، بار اضافی بر آن درایو وارد میشود.
چگونه symlinkها این مشکل را حل میکنند
سیستم مسیرها را میبیند، نه پوشهها

بهجای نصب دوباره ویندوز، میتوانید سنگینترین پوشهها را به درایوی دیگر منتقل کنید و سیستم را دقیقاً همانجا بگذارید. لینکهای سمبولیک یا symlinkها به ویندوز اجازه میدهند که مسیرهای اصلی را استفاده کند در حالی که دادهها بر روی درایوی متفاوت ذخیره شدهاند.
انتقال پوشهها به درایوی دیگر بهنظر ساده میآید، اما مشکلات زمانی شروع میشود که برنامهها دیگر نتوانند آنها را پیدا کنند. اکثر برنامهها به مسیرهای ثابت فایل وابسته هستند و وقتی این مسیرها تغییر میکنند، نرمافزار دادهها را گمشده تصور میکند. لانچرهای بازی برای نصب مجدد درخواست میکنند، در حالی که نرمافزارهای ویرایشی پروژههای خالی را باز میکنند و برنامههای رسانهای کتابخانههای خود را از دست میدهند.
ویندوز یک راهحل داخلی برای این دارد: لینکهای سمبولیک. این لینکها باعث میشوند پوشهای همانجا در مکان اصلیاش ظاهر شود، حتی اگر فایلها اکنون بر روی درایوی دیگر قرار داشته باشند. وقتی برنامهای آن پوشه را باز میکند، ویندوز بهصورت خودکار به مکان جدید ارجاع میدهد بدون آنکه در اکسپلورر تغییری دیده شود. از دید برنامه، هیچ تغییری رخ نداده است. مسیر همانند قبل بهنظر میرسد، بنابراین برنامه آن را مانند پوشهٔ اصلی در نظر میگیرد.

همچنین اینجا است که symlinkها با میانبرها متفاوت هستند. یک میانبر فقط یک اشارهگر است که شما را به مکان دیگری میبرد. یک symlink درون ساختار فایلسیستم قرار میگیرد. ویندوز آن را مانند یک پوشه واقعی در نظر میگیرد. زمانی که برنامهای پوشهای را از طریق یک symlink باز میکند، ویندوز درخواست را بهصورت خودکار به مکان واقعی میفرستد. در اکثر موارد، برنامه هرگز مسیر جدید را نمیبیند. بهگونهای که همچنان کار میکند گویی پوشه هرگز جابهجا نشده است.
این رفتار همان چیزی است که symlinkها را در این وضعیت مؤثر میسازد. میتوان تمام پوشهها را به درایوی دیگر منتقل کرد در حالی که هر برنامه همچنان آنها را به همان شیوه قبلی استفاده میکند. درایوی سیستم دیگر پر نمیشود؛ دادهها بر روی دیسک دیگری ذخیره میشوند و ویندوز بهصورت عادی کار خود را ادامه میدهد.
راهاندازی mklink بهصورت ایمن
تغییر مسیر پوشهها بهصورت صحیح
زمانی که میدانید یک symlink چه کاری انجام میدهد، تنظیم آن عمدتاً بهدستورات صحیح یک فرمان واحد بستگی دارد. ویندوز ابزاری داخلی به نام mklink دارد که از طریق خط فرمان (Command Prompt) استفاده میشود. میتوانید آن را به یک پوشهٔ کامل یا یک فایل واحد اشاره کنید، بسته به اینکه میخواهید چه چیزی را منتقل کنید.
اولاً، پوشه را به درایویی که میخواهید دادهها در آن باشند منتقل کنید. بهعنوان مثال، اگر پوشهای به نام Projects بر روی درایو C است، آن را به درایو D منتقل کنید. پس از انتقال، C:\Projects خالی خواهد شد. آن پوشهٔ خالی را حذف کنید تا symlink بتواند همان مسیر را دوباره استفاده کند. سپس خط فرمان را بهعنوان مدیر (Administrator) باز کنید و دستور زیر را اجرا کنید:
mklink /D "old folder path" "new folder path"
مسیر اول مکان اصلی است که برنامهها هنوز برای پوشه بهدنبال آن میگردند. مسیر دوم مکان جدیدی است که فایلها در آن قرار دارند. بهعنوان مثال میتوانید اجرا کنید:
mklink /D "C:\Projects" "D:\Projects"
پس از اجرای این فرمان، ویندوز یک پوشهٔ ویژه در C:\Projects ایجاد میکند. وقتی آن را در File Explorer باز میکنید، همان فایلهایی که قبلاً منتقل کردهاید را میبینید، اما آنها هنوز در D:\Projects ذخیره شدهاند. ویرایش یک سند، تغییر نام یک زیرپوشه یا ذخیرهٔ چیزی جدید، مستقیم به پوشهٔ D نوشته میشود. اگر لینک را در C:\Projects حذف کنید، دادههای موجود در D همانجا میمانند.
میتوانید همین کار را برای فایلهای تکتایی انجام دهید. در این حالت، سوئیچ /D را حذف کنید و نام دقیق فایلها را وارد کنید.
mklink "C:\Notes\summary.txt" "D:\Archive\summary.txt"
در اینجا، C:\Notes\summary.txt مانند یک فایل عادی بهنظر میرسد، اما هر تغییری به D:\Archive\summary.txt بر روی درایو بایگانی میرود. این وقتی مفید است که یک برنامه بر اینکه فایل را از مسیر خاصی بخواند اصرار دارد، اما شما میخواهید آن فایل را در جای دیگری نگه دارید. خود symlinkها تقریباً هیچ فضایی استفاده نمیکنند. آنها دادههای شما را تکثیر نمیکنند. بلکه مانند پلی عمل میکنند که مسیر قدیمی را به مسیر جدید وصل میکند، بنابراین تمام ذخیرهسازی واقعی همچنان از درایو جدید تأمین میشود.
حذف symlink فقط لینک در مسیر قدیمی را برداشتهاست. دادهٔ واقعی بر روی درایو جدید بههمینجا میماند. وقتی لینک را حذف میکنید، فقط اشارهگر را حذف میکنید، نه فایل یا پوشهٔ هدف واقعی. اما وقتی فایلها را از طریق symlink حذف میکنید، در واقع فایلهای واقعی در پوشهٔ هدف را حذف میکنید، دقیقاً همانطور که اگر مستقیماً از مکانشان در درایو جدید حذف میکردید.
حافظهٔ واقعی مشکل بود
نصب دوباره ویندوز اغلب یک راهحل واقعی نیست. بسیاری از کندیها ناشی از پر بودن درایو سیستم هستند، بنابراین انتقال پوشههای سنگین به مکان دیگر میتواند به روانی عملکرد سیستم کمک کند. قبل از پاککردن کامپیوتر خود، متوقف شوید و بررسی کنید که دادهها دقیقاً در کجا ذخیره هستند. ممکن است متوجه شوید که جابجایی مشکل به سادگی بازسازی سیستم است.