معمای همیشگی : چرا درایو اصلی ویندوز C است؟
تقریباً همهی ما وقتی از کامپیوترهای ویندوزی استفاده کردهایم احتمالاً متوجه شدهایم که دیسک اصلی سیستم بهطور پیشفرض با برچسب «:C» مشخص میشود. شاید از خودتان پرسیده باشید پس چه بر سر «:A» و «:B» آمده است، بالاخره حروف الفبای انگلیسی با C شروع نمیشود! این نامگذاری عجیب دلیل مشخصی دارد و به روزهای آغازین رایانش شخصی برمیگردد.
در دوران فلاپیدیسکها و سیستمعاملهای اولیهای مثل CP/M و MS-DOS، حروف «:A» و «:B» به درایوهای فلاپی اختصاص داشتند. همین باعث شد اولین هارددیسک بهصورت خودکار با حرف «:C» شناخته شود. فلاپی دیسکها در آن زمان غالب بودند و تا مدتها پس از ظهور هارددیسکها نیز استفاده میشدند. در نتیجه، حرف C بهعنوان درایو پیشفرض باقی ماند و این سنت تا امروز ادامه دارد.
چکیده متنی و پادکست
حرف :C که امروز بهعنوان درایو اصلی ویندوز شناخته میشود، میراثی از روزگار فلاپیدرایوهاست؛ زمانی که :A و :B برای فلاپیها رزرو شده بودند و اولین هارددیسک بهطور طبیعی نام :C را گرفت. با گسترش رایانههای شخصی در دهههای ۸۰ و ۹۰، این نامگذاری به یک استاندارد تبدیل شد و به مرور در فرهنگ کاربران و نرمافزارها ریشه دواند. ویندوز برای حفظ سازگاری عقبرو و جلوگیری از شکستن نرمافزارهای قدیمی، این سنت را تا امروز ادامه داده و همچنان درایو اصلی خود را با :C آغاز میکند؛ عادتی که حالا بیش از آنکه یک ضرورت فنی باشد، بخشی از تاریخ و حافظهی جمعی دنیای رایانه است.
ریشههای :A: و :B؛ همهچیز به CP/M و MS-DOS برمیگردد
استفاده از حروف برای مشخصکردن درایوها به نخستین سیستمعاملهای میکروکامپیوترها بر پایهی پردازندههای Intel 8080/85 برمیگردد. CP/M، که در اواخر دههی ۱۹۷۰ یکی از سیستمعاملهای محبوب بود و در اصل برای ماشینهای ۸ بیتی با حداکثر ۶۴ کیلوبایت حافظه ساخته شد، از اولین سیستمهایی بود که برای شناسایی دستگاههای ذخیرهسازی از حروف درایو استفاده کرد.
اولین بار سیستمعامل CP/M برای نامگذاری درایوها از حروف استفاده کرد
در CP/M (و سیستمهایی که از آن تأثیر گرفتند)، A به اولین درایو فلاپی و B به دومی اختصاص داشت و همین ترتیب ادامه پیدا میکرد.
یکی از بزرگترین پروژههایی که تحتتأثیر این قرارداد قرار گرفت، سیستمعامل MS-DOS مایکروسافت بود. این سیستمعامل که در دههی ۱۹۸۰ عرضه شد، در اصل یک نسخهی کپی ۱۶ بیتی الهامگرفته از CP/M بود. از همان آغاز دوران پیسیهای IBM، همه میدانستند که A و B به فلاپیدرایوها تعلق دارند. این سنت در تمام نسخههای ویندوز ادامه پیدا کرد و هنوز هم باقیمانده است.
البته همهی کامپیوترهای شخصی اولیه از این روش نامگذاری استفاده نمیکردند. بعضی شرکتها راههای دیگری برای شمارهگذاری درایوهای متصل به سیستم داشتند. بهعنوانمثال، TRS-80 ساخت شرکت Tandy Corporation، پیش از عصر DOS، اولین فلاپی را Drive 0 و دومی را Drive 1 نامگذاری میکرد. اما وقتی MS-DOS بازار را در دست گرفت، روش الفبایی عملاً به استانداردی برای کامپیوترهای سازگار با آیبیام تبدیل شد.
فلاپیدیسکها و نامگذاری درایوها
در اواخر دههی ۱۹۷۰ و اوایل دههی ۱۹۸۰، فلاپیدیسکها اصلیترین ابزار ذخیرهسازی در رایانههای شخصی بودند. پیسیهای اولیه معمولاً با یک یا دو درایو فلاپی عرضه میشدند که اینها با حروف :A و :B شناخته میشدند.
برای مثال IBM PC اصلی (معرفیشده در سال ۱۹۸۱) اغلب با دو درایو ۵٫۲۵ اینچی فروخته میشد. در چنین پیکربندی دوتایی، کاربران معمولاً سیستمعامل یا نرمافزار را از درایو A اجرا میکردند و از درایو B برای ذخیره داده یا اجرای دیسک نرمافزاری دیگری استفاده میشد.
درایوهای A و B محل اصلی اجرای سیستمعامل و ذخیرهی داده بودند
بهاینترتیب، یک درایو برنامه را بارگذاری میکرد و دیگری فایلهای کاری شما را ذخیره میکرد. این موضوع خیلی شبیه این است که امروزه از یک SSD دوم برای پوشههای کاربری استفاده کنید.
اما وقتی یک رایانه فقط یک درایو فلاپی داشت چه میشد؟ سیستمعامل همچنان مفهوم :A و :B را حفظ میکرد، و در این شرایط، :B یک درایو دوم «مجازی» بود که به همان فلاپیدرایو فیزیکی متصل میشد. وقتی نرمافزاری نیاز داشت به دیسک دوم (درایو B) دسترسی پیدا کند، DOS از کاربر میخواست دیسکها را یکییکی داخل همان درایو جابهجا کند، و در واقع با یک دستگاه، دو درایو شبیهسازی میشد.
برای اینکه تصویر واضحتری داشته باشید، هنگام کپی فایل بین دو دیسک با یک درایو، پیامهایی مثل این ظاهر میشد: «لطفاً دیسک مبدأ را در درایو A: قرار دهید… حالا دیسک مقصد را در درایو A قرار دهید».
و این کار همینطور تکرار میشد. کاربر مجبور بود دیسک بوت را بیرون بیاورد، دیسک حاوی برنامه یا داده را بگذارد و دوباره دیسک بوت را وارد کند تا به خط فرمان دسترسی داشته باشد. به همین دلیل درایو B همچنان تعریف شده بود: این امکان را به سیستمعامل و برنامهها میداد تا یک درایو تکی را بهعنوان A و B در مواقع لازم بشناسند.
ازآنجاکه فلاپیدرایوها استاندارد و بخشی حیاتی از رایانههای اولیه بودند، سختافزار سیستم و BIOS (سیستم ورودی/خروجی پایه) همواره انتظار وجود دو درایو فلاپی را داشتند. مادربوردها آدرسهای سختافزاری ثابتی برای درایوهای A و B داشتند و DOS هم بهطور پیشفرض این حروف را بر اساس همان سختافزار اختصاص میداد.
هارددیسکها وارد شدند، اما فلاپیها هنوز کنارشان بودند
با پیشرفت فناوری، هارددیسکها (یا Fixed Disks) در اوایل دههی ۱۹۸۰ به رایانههای شخصی راه پیدا کردند. IBM PC XT که در سال ۱۹۸۳ معرفی شد، نخستین مدل آیبیام بود که بهطور استاندارد یک هارد داخلی داشت. طبق قرارداد، این هارددیسک جدید با اولین حرف آزاد بعد از فلاپیها برچسبگذاری شد، یعنی C.
ازآنجاکه :A و :B برای فلاپیها کنار گذاشته شده بودند، اولین درایو هارددیسک بهطور طبیعی :C نام گرفت و این اتفاقی نبود. بایوس و سیستمعامل داس شمارهگذاری فلاپیها را پس از اضافهشدن هارد تغییر نمیدادند. در واقع، سختافزار همچنان میتوانست درایو فلاپی را روی آدرس سختافزاری ثابت بوت کند.
مادربردها همچنان انتظار داشتند دو فلاپی روی A و B نصب باشند
بنابراین سیستمعاملها باید هم از فلاپی و هم از هارد پشتیبانی میکردند، و حتی رایانههای پیشرفتهی آن دوران هم معمولاً انتظار میرفت یک یا دو فلاپیدرایو داشته باشند.
به بیان دیگر، یک رایانهی معمولی در اواخر دههی ۱۹۸۰ ممکن بود A: و B: را به فلاپیها (مثلاً یکی ۵٫۲۵ اینچی و دیگری ۳٫۵ اینچی) اختصاص دهد و C: هارددیسک باشد. در این دورهی گذار، بسیاری از سیستمها هر دو اندازه فلاپی را همزمان داشتند که بهترتیب بهعنوان A و B شناخته میشدند. سیستمعامل و سختافزار این دو را به شکل ویژهای مدیریت میکردند، اما هارددیسک با فضای ذخیرهسازی گستردهاش، بهطور پیشفرض درایو C بود.
با گذشت زمان، شیوهی اختصاص حروف به درایوها پیشرفتهتر شد. داس در دههی ۱۹۸۰ و اوایل دههی ۱۹۹۰ طوری عمل میکرد که اگر هاردی در سیستم وجود داشت، همیشه حرف «:C» را به آن اختصاص میداد.
از نسخهی اماس داس ۵.۰ (منتشرشده در سال ۱۹۹۱) به بعد، این موضوع بهطور رسمی در الگوریتم نامگذاری ثبت شد؛ به این معنا که نام C همواره به اولین هارد تعلق میگرفت، حتی اگر بیش از دو فلاپیدرایو روی سیستم نصب بود. در نسخههای قدیمیتر اما، همهی فلاپیها ابتدا شمارهگذاری میشدند و در نتیجه ممکن بود هارددیسک شما بهجای C، روی D یا حتی E قرار بگیرد.
از نسخهی MS-DOS 5.0 به بعد، درایو C همیشه به اولین هارد اختصاص داشت
این تغییر نوعی ثبات ایجاد کرد و باعث شد توسعهدهندگان نرمافزار و کاربران همیشه مطمئن باشند که C همان دیسک اصلی ذخیرهسازی رایانه است. بعدها با اضافهشدن درایوهای دیگر، مثل CD-ROM یا DVD، حروف بعدی به آنها اختصاص داده شد. برای مثال، در دههی ۱۹۹۰ که سیدیدرایوها رایج شدند، در بیشتر سیستمهایی که یک هارد داشتند، سیدی درایو بهطور پیشفرض با حرف D شناخته میشد.
در نتیجه، میتوان گفت درایو C از یک سو به شکلی «اتفاقی» بهعنوان اولین هارد شناخته شد، اما از سوی دیگر این جایگاه کاملاً «برنامهریزیشده» هم بود.
چرا ویندوز ۱۱ هنوز از «:C» استفاده میکند؟ همهچیز به راحتی کاربر برمیگردد
شاید این سؤال برایتان پیش بیاید که ما داریم از سیستمعامل مایکروسافت در دهههای ۱۹۸۰ و ۱۹۹۰ حرف میزنیم، پس چرا این موضوع هنوز در سال ۲۰۲۵ اهمیت دارد؟ منطقی بهنظر میرسد که مایکروسافت در نهایت حروف A و B را برای درایوهای اصلی بوت انتخاب میکرد، اما واقعیت این است که اصل «سازگاری با گذشته» در ویندوز باعث شد این سنت تا امروز دستنخورده باقی بماند.
موضوع فقط این نیست که ویندوز بخواهد همچنان از سختافزارهای قدیمی مثل فلاپیدرایو پشتیبانی کند؛ مسئله اصلی این است که نرمافزارها همیشه فرض کردهاند دیسک اصلی؛ جایی که سیستمعامل و برنامهها نصب میشوند؛ همان «:C» است. به همین دلیل، بسیاری از اسکریپتهای نصب، فایلهای پیکربندی و ابزارهای سیستمی در اکوسیستم DOS و ویندوز بر پایهی همین پیشفرض نوشته شدهاند.
ویندوز برای سازگاری با گذشته، C را بهعنوان درایو اصلی حفظ کرد
تغییر این قاعده بهراحتی میتوانست تعداد زیادی از نرمافزارها را از کار بیندازد، اما حفظ «:C» بهعنوان درایو اصلی باعث شد همهچیز با برنامهها و ابزارهای قدیمی همچنان سازگار بماند.
حتی امروز هم حروف A و B جایگاه ویژهای دارند و سیستمعامل با درایوهایی که این نامها را بگیرند متفاوت رفتار میکند. ویندوز تصور میکند چنین درایوهایی ممکن است هرازگاهی غیرفعال یا جابهجا شوند؛ برای همین اگر بخواهید ویندوز را روی یکی از این دو حرف نصب کنید، آن درایو در سیستم ایندکس نمیشود.
علاوه بر این، ابزار داخلی تغییر نام درایوها در ویندوز اجازه نمیدهد حروف A یا B به رسانههای جدانشدنی اختصاص داده شوند.
یکی دیگر از دلایل ماندگاری این سنت، عادت کاربران است. از ۳۰ سال پیش کاربران یادگرفتهاند که درایو سی درایو اصلی بهحساب میآید. این موضوع در هزاران کتاب، آموزش و مقاله تکرار شده و عملاً بخشی از فرهنگ کار با کامپیوتر محسوب میشود. وقتی فلاپیها از صحنه کنار رفتند، همه آنقدر به C: عادت کرده بودند که دیگر دلیلی برای تغییر این قاعده وجود نداشت. ازآنگذشته، این شیوه هیچ مشکل جدیای هم ایجاد نمیکرد.
به همین دلایل، ویندوز همچنان درایو اصلی سیستم را از C شروع میکند؛ هم بهخاطر سنت و هم بهخاطر سازگاری و بهاحتمال زیاد، این وضعیت در آینده هم ادامه خواهد داشت.
سیستمعاملهای دیگر چطور؟ هرکدام راه خودشان را دارند
درحالیکه ویندوز نامگذاری درایوها را از CP/M و DOS به ارث برد، دیگر سیستمعاملهای مدرن رویکرد کاملاً متفاوتی در سازماندهی فایلسیستمها دارند.
سیستمهای شبهیونیکس (مثل لینوکس و مکاواس) اصلاً از حروف درایو استفاده نمیکنند. در عوض، آنها یک درخت شاخهای واحد برای همه فایلها دارند و هر دستگاه ذخیرهسازی در قالب یک پوشه به این ساختار متصل (mount) میشود. در بسیاری از توزیعهای لینوکس، درایوها بهصورت نامهای کلی مثل dev/sda/ یا dev/sdb/ نمایش داده میشوند، و پارتیشنها هم به شکل dev/sda1/ یا dev/sda2/ شناخته میشوند.
این روش به لینوکس اجازه میدهد درایوها را در مکانهای مختلفی مونت کند. مثلاً ممکن است پارتیشن اصلی سیستم روی / قرار بگیرد، درحالیکه یک هارد خارجی روی پوشهی mnt/data/ سوار شود.
لینوکس و مک از حروف استفاده نمیکنند؛ همهچیز در یک درخت فایل قرار میگیرد
هیچ حرف جداگانهای برای درایوها در نظر گرفته نمیشود و غیر از همین نامگذاری sda و sdb، درایوها مثل ویندوز شمارهگذاری نمیشوند. در واقع، حتی میتوانید درایوها را بر اساس شناسه (ID) آنها مونت کنید تا مطمئن شوید همیشه همان درایو درست در جای درست قرار میگیرد. در غیر این صورت، اگر بعد از یکبار راهاندازی مجدد درایوی که قبلاً dev/sdb/ بوده تبدیل به چیز دیگری شود، مسیر مونت اشتباه خواهد شد.
در ویندوز اما چنین ساختاری وجود ندارد. هر درایو درخت فایلسیستم خودش را دارد و همهی درایوها در یک ریشهی واحد قرار نمیگیرند.
هیچکدام از این دو روش برتری مطلقی بر دیگری ندارند؛ بیشترشان حاصل تاریخچه و انتخابهای طراحی هستند. روش لینوکس انعطافپذیرتر است و بسیاری از محدودیتهای ویندوز را ندارد، درحالیکه ویندوز کار را برای کاربر بسیار ساده و سرراست کرده و هر درایو را بهعنوان یک موجودیت مستقل و واضح در بالاترین سطح نشان میدهد.
البته در نسخههای جدیدتر NTFS میتوانید درایوها را به پوشههای مشخصی مونت کنید، اما برای بیشتر کاربران ویندوز این کار منطقی و کاربردی نیست.
در macOS هم وضع مشابهی وجود دارد و دیسکهای جدید در دایرکتوری Volumes/ مونت میشوند. هیچ «C» یا «D» در کار نیست؛ درایوها صرفاً با نام واقعی خودشان شناخته میشوند. سیستمعاملهای دیگر هم هرکدام قراردادهای مخصوص خودشان را دارند. بعضی بهجای حروف از نام دستگاه یا شماره استفاده میکردند، چون ایدهی حروف درایو در اصل پدیدهای مخصوص میکروکامپیوترها بود که با CP/M و MS-DOS آغاز شد.
ویندوز روی درایو C: اجرا میشود، صرفاً بهعنوان نتیجهای از تکامل فناوری و اصل سازگاری با گذشته. همهچیز به فلاپی درایوهایی برمیگردد که سیستمعامل در ابتدا به آنها متکی بود، و وقتی هارددیسکها وارد شدند، بهسادگی حرف بعدی یعنی C: را گرفتند. امروز هم ماجرا بیشتر دربارهی بههمنزدن روال و تضمین سازگاری نرمافزارها با نسخههای جدید ویندوز است.
البته میتوانید رسانههای جداشدنی (مثل فلش) را به :A یا :B اختصاص بدهید، اما بهتر است همان حروف بعد از C را انتخاب کنید. در غیر این صورت، فلاپیدرایوها کجا باید مونت شوند؟