Initial ramdisk
لینکس سسٹمز میں، initrd (ابتدائی رام ڈسک) ایک عارضی روٹ فائل سسٹم کو میموری میں لوڈ کرنے کے لیے ایک اسکیم ہے، جسے لینکس اسٹارٹ اپ عمل کے حصے کے طور پر استعمال کیا جاتا ہے۔ initrd اور initramfs (INITial RAM فائل سسٹم سے) اس کو حاصل کرنے کے دو مختلف طریقوں کا حوالہ دیتے ہیں۔ دونوں عام طور پر اصلی روٹ فائل سسٹم کو نصب کرنے سے پہلے تیاری کرنے کے لیے استعمال ہوتے ہیں۔ بہت سے لینکس ڈسٹری بیوشن ایک واحد، عام لینکس دانا کی تصویر بھیجتے ہیں جسے ڈسٹری بیوشن کے ڈویلپرز خاص طور پر مختلف قسم کے ہارڈ ویئر پر بوٹ کرنے کے لیے بناتے ہیں۔ اس عام دانا امیج کے لیے ڈیوائس ڈرائیوروں کو لوڈ ایبل دانا ماڈیولز کے طور پر شامل کیا جاتا ہے کیونکہ ایک دانا میں بہت سے ڈرائیوروں کو مستحکم طور پر مرتب کرنے سے دانا امیج بہت بڑی ہو جاتی ہے، شاید محدود میموری والے کمپیوٹرز پر بوٹ کرنے کے لیے بہت بڑی ہو سکتی ہے، یا بعض صورتوں میں بوٹ ٹائم کریشز یا غیر موجود یا متضاد ہارڈ ویئر کی تحقیقات کی وجہ سے دیگر مسائل پیدا ہو سکتے ہیں۔ یہ جامد مرتب کردہ دانا نقطہ نظر دانا میموری میں ماڈیولز کو بھی چھوڑ دیتا ہے جو اب استعمال یا ضرورت نہیں ہیں، اور بوٹ کے وقت روٹ فائل سسٹم کو ماونٹ کرنے کے لیے ضروری ماڈیولز کا پتہ لگانے اور لوڈ کرنے کا مسئلہ پیدا کرتا ہے، یا اس معاملے کے لیے، یہ اندازہ لگاتا ہے کہ روٹ فائل سسٹم کہاں یا کیا ہے۔ معاملات کو مزید پیچیدہ بنانے کے لیے، روٹ فائل سسٹم سافٹ ویئر ریڈ والیوم، ایل وی ایم، این ایف ایس (ڈسک لیس ورک سٹیشنوں پر)، یا خفیہ کردہ پارٹیشن پر ہو سکتا ہے۔ ان سب کو نصب کرنے کے لیے خصوصی تیاریوں کی ضرورت ہوتی ہے۔ ایک اور پیچیدگی ہائبرنیشن کے لیے کرنل سپورٹ ہے، جو میموری کے پورے مواد کی تصویر کو سویپ پارٹیشن یا باقاعدہ فائل میں ڈمپ کر کے کمپیوٹر کو ڈسک پر معطل کر دیتا ہے، پھر پاور آف کر دیتا ہے۔ اگلے بوٹ پر، اس تصویر کو میموری میں واپس لوڈ کرنے سے پہلے قابل رسائی بنانا ہوگا۔ دانا میں بہت سے خاص معاملات کے لیے ہارڈ کوڈ ہینڈلنگ سے بچنے کے لیے، عارضی روٹ فائل سسٹم کے ساتھ ایک ابتدائی بوٹ اسٹیج-جسے اب ارلی یوزر اسپیس کہا جاتا ہے-استعمال کیا جاتا ہے۔ اس روٹ فائل سسٹم میں یوزر اسپیس ہیلپرز شامل ہو سکتے ہیں جو اصلی روٹ فائل سسٹم کو نصب کرنے کے لیے ضروری ہارڈ ویئر کا پتہ لگانے، ماڈیول لوڈنگ اور ڈیوائس کی دریافت کرتے ہیں۔ نفاذ اس ابتدائی روٹ فائل سسٹم کی تصویر (دانا کی تصویر کے ساتھ) کو لینکس بوٹ لوڈر یا کمپیوٹر کے بوٹ فرم ویئر کے ذریعے قابل رسائی جگہ پر محفوظ کیا جانا چاہیے۔ یہ خود روٹ فائل سسٹم، آپٹیکل ڈسک پر بوٹ امیج، مقامی ڈسک پر ایک چھوٹا سا پارٹیشن (ایک بوٹ پارٹیشن، عام طور پر ایکسٹ 2 یا ایف اے ٹی فائل سسٹم کا استعمال کرتے ہوئے)، یا ٹی ایف ٹی پی سرور (ان سسٹمز پر جو ایتھرنیٹ سے بوٹ کر سکتے ہیں) ہو سکتا ہے۔ بوٹ لوڈر کرنل اور ابتدائی روٹ فائل سسٹم کی تصویر کو میموری میں لوڈ کرے گا اور پھر کرنل کو شروع کرے گا، جو تصویر کے میموری ایڈریس میں گزرتا ہے۔ اس کے بوٹ سیکوینس کے اختتام پر، دانا ڈیٹا کے اپنے پہلے چند بلاکس سے تصویر کی شکل کا تعین کرنے کی کوشش کرتا ہے، جو یا تو initrd یا initramfs اسکیم کی طرف لے جا سکتا ہے۔ initrd اسکیم میں، تصویر ایک فائل سسٹم امیج (اختیاری طور پر کمپریسڈ) ہو سکتی ہے، جسے ایک خصوصی بلاک ڈیوائس () میں دستیاب کیا جاتا ہے جسے پھر ابتدائی روٹ فائل سسٹم کے طور پر نصب کیا جاتا ہے۔ اس فائل سسٹم کے ڈرائیور کو کرنل میں مستحکم طور پر مرتب کیا جانا چاہیے۔ بہت سی تقسیموں میں اصل میں کمپریسڈ ایکسٹ 2 فائل سسٹم امیجز کا استعمال کیا گیا تھا، جبکہ دیگر (بشمول ڈیبین 3.1) نے میموری محدود سسٹمز پر بوٹ کرنے کے لیے کریم ایف ایس کا استعمال کیا، کیونکہ کریم ایف ایس امیج کو ڈمپریشن کے لیے اضافی جگہ کی ضرورت کے بغیر جگہ پر نصب کیا جا سکتا ہے۔ ایک بار جب ابتدائی روٹ فائل سسٹم شروع ہو جاتا ہے، تو دانا اپنے پہلے عمل کے طور پر انجام دیتا ہے۔ جب یہ باہر نکلتا ہے، تو دانا فرض کرتا ہے کہ حقیقی روٹ فائل سسٹم نصب ہو چکا ہے اور عام یوزر اسپیس بوٹ عمل کو شروع کرنے کے لیے اسے انجام دیتا ہے۔ initramfs اسکیم میں (لینکس کرنل 2.6.13 کے بعد سے دستیاب)، تصویر cpio آرکائیو (اختیاری طور پر کمپریسڈ) ہو سکتی ہے۔ آرکائیو کو دانا کے ذریعے ٹی ایم پی ایف کی ایک خاص مثال میں کھول دیا جاتا ہے جو ابتدائی روٹ فائل سسٹم بن جاتا ہے۔ اس اسکیم کا فائدہ یہ ہے کہ دانا میں انٹرمیڈیٹ فائل سسٹم یا بلاک ڈرائیوروں کو مرتب کرنے کی ضرورت نہیں ہے۔ کچھ سسٹمز initramfs امیج بنانے کے لیے ڈراکٹ پیکیج کا استعمال کرتے ہیں۔ initramfs اسکیم میں، دانا اپنے پہلے عمل کے طور پر انجام دیتا ہے جس سے باہر نکلنے کی توقع نہیں کی جاتی ہے۔ کچھ ایپلی کیشنز کے لیے، initramfs کاسپر یوٹیلیٹی کا استعمال یونین ایف ایس کا استعمال کرتے ہوئے صرف پڑھنے والے روٹ فائل سسٹم کی تصویر پر استقامت کی پرت کو اوورلے کرنے کے لیے قابل تحریر ماحول بنانے کے لیے کر سکتا ہے۔ مثال کے طور پر، اوورلے ڈیٹا کو یو ایس بی فلیش ڈرائیو پر محفوظ کیا جا سکتا ہے، جبکہ ایک براہ راست سی ڈی پر محفوظ کردہ کمپریسڈ اسکواش ایف ایس صرف پڑھنے والی تصویر روٹ فائل سسٹم کے طور پر کام کرتی ہے۔ اس پر منحصر ہے کہ کون سے الگورتھم کو اس میں مستحکم طور پر مرتب کیا گیا تھا، دانا gzip، bzip2، LZMA، XZ، LZO، LZ4، اور zstd کے ساتھ کمپریسڈ initrd/initramfs امیجز کو کھول سکتا ہے۔ ماؤنٹ کی تیاریاں کچھ لینکس ڈسٹری بیوشن جیسے ڈیبین ایک حسب ضرورت initrd امیج تیار کریں گے جس میں صرف وہی چیز ہوتی ہے جو کچھ مخصوص کمپیوٹر کو بوٹ کرنے کے لیے ضروری ہوتی ہے، جیسے کہ ATA، SCSI اور فائل سسٹم کرنل ماڈیول۔ یہ عام طور پر روٹ فائل سسٹم کے مقام اور قسم کو سرایت کرتے ہیں۔ دیگر لینکس تقسیم (جیسے فیڈورا اور اوبنٹو) ایک زیادہ عام initrd تصویر تیار کرتے ہیں۔ یہ صرف روٹ فائل سسٹم (یا اس کے یو یو آئی ڈی) کے ڈیوائس کے نام سے شروع ہوتے ہیں اور بوٹ کے وقت باقی سب کچھ دریافت کرنا ضروری ہے۔ اس صورت میں، سافٹ ویئر کو روٹ فائل سسٹم کو نصب کرنے کے لیے کاموں کا ایک پیچیدہ جھرن انجام دینا چاہیے: کوئی بھی ہارڈ ویئر ڈرائیور جس پر بوٹ کا عمل منحصر ہے اسے لوڈ کیا جانا چاہیے۔ ایک عام انتظام یہ ہے کہ عام اسٹوریج ڈیوائسز کے لیے دانا ماڈیولز کو initrd پر پیک کیا جائے اور پھر کمپیوٹر کے پائے جانے والے ہارڈ ویئر سے مماثل ماڈیولز کو کھینچنے کے لیے ہاٹ پلگ ایجنٹ کو بلایا جائے۔ ان سسٹمز پر جو بوٹ سپلیش اسکرین دکھاتے ہیں، ویڈیو ہارڈ ویئر کو لازمی طور پر شروع کیا جانا چاہیے اور ایک یوزر اسپیس ہیلپر نے بوٹ کے عمل کے ساتھ لاک اسٹیپ میں ڈسپلے پر اینیمیشن پینٹ کرنا شروع کر دیا۔ اگر روٹ فائل سسٹم این ایف ایس پر ہے، تو اسے پھر بنیادی نیٹ ورک انٹرفیس لانا ہوگا، ڈی ایچ سی پی کلائنٹ کو مدعو کرنا ہوگا، جس کے ساتھ وہ ڈی ایچ سی پی لیز حاصل کر سکتا ہے، این ایف ایس شیئر کا نام اور این ایف ایس سرور کا پتہ لیز سے نکال سکتا ہے، اور این ایف ایس شیئر کو ماؤنٹ کرنا ہوگا۔ اگر روٹ فائل سسٹم کسی سافٹ ویئر ریڈ ڈیوائس پر ظاہر ہوتا ہے، تو یہ جاننے کا کوئی طریقہ نہیں ہے کہ ریڈ کا حجم کون سے آلات پر پھیلا ہوا ہے۔ تمام دستیاب بلاک ڈیوائسز کو اسکین کرنے اور مطلوبہ آلات کو آن لائن لانے کے لیے معیاری ایم ڈی یوٹیلیٹیز کو استعمال کیا جانا چاہیے۔ اگر روٹ فائل سسٹم منطقی حجم پر ظاہر ہوتا ہے، تو ایل وی ایم افادیت کو اسکین کرنے اور اس پر مشتمل حجم گروپ کو چالو کرنے کے لیے استعمال کیا جانا چاہیے۔ اگر روٹ فائل سسٹم کسی خفیہ کردہ بلاک ڈیوائس پر ہے، تو سافٹ ویئر کو صارف کو پاس فریز ٹائپ کرنے اور/یا ہارڈ ویئر ٹوکن (جیسے سمارٹ کارڈ یا یو ایس بی سیکیورٹی ڈونگل) داخل کرنے کے لیے ایک ہیلپر اسکرپٹ لگانے کی ضرورت ہے، اور پھر ڈیوائس میپر کے ساتھ ڈکرپشن ٹارگٹ بنائیں۔ کچھ تقسیمات ایونٹ سے چلنے والے ہاٹ پلگ ایجنٹ کا استعمال کرتے ہیں جیسے اودیو، جو مددگار پروگراموں کو ہارڈ ویئر ڈیوائسز، ڈسک پارٹیشنز اور اسٹوریج والیوم کے طور پر آن لائن آتے ہیں جو کچھ اصولوں سے میل کھاتے ہیں۔ یہ دریافت کو متوازی طور پر چلانے کی اجازت دیتا ہے، اور روٹ فائل سسٹم تک پہنچنے کے لیے بتدریج ایل وی ایم، ریڈ یا خفیہ کاری کے من مانی گھونسلوں میں داخل ہونے کی اجازت دیتا ہے۔ جب روٹ فائل سسٹم آخر کار نظر آتا ہے، تو کوئی بھی دیکھ بھال کے کام جو ماونٹڈ روٹ فائل سسٹم پر نہیں چل سکتے ہیں، روٹ فائل سسٹم کو صرف پڑھنے کے لیے نصب کیا جاتا ہے، اور کوئی بھی عمل جو جاری رہنا چاہیے (جیسے کہ سپلیش اسکرین ہیلپر اور اس کی کمانڈ ایف آئی ایف او) نئے نصب شدہ روٹ فائل سسٹم میں لہرایا جاتا ہے۔ فائنل روٹ فائل سسٹم کو آسانی سے ماونٹ نہیں کیا جا سکتا، کیونکہ اس سے ابتدائی روٹ فائل سسٹم پر موجود اسکرپٹ اور ٹولز کسی بھی حتمی صفائی کے کاموں کے لیے ناقابل رسائی ہو جائیں گے: ایک initrd پر، نئے روٹ کو عارضی ماؤنٹ پوائنٹ پر نصب کیا جاتا ہے اور pivot _ root (8) کے ساتھ اس جگہ پر گھمایا جاتا ہے (جو خاص طور پر اس مقصد کے لیے متعارف کرایا گیا تھا)۔ یہ ابتدائی روٹ فائل سسٹم کو ماؤنٹ پوائنٹ (جیسے) پر چھوڑ دیتا ہے جہاں عام بوٹ اسکرپٹ بعد میں اسے ان ماؤنٹ کر سکتے ہیں تاکہ initrd کے پاس موجود میموری کو آزاد کیا جا سکے۔ initramfs پر، ابتدائی روٹ فائل سسٹم کو گھمایا نہیں جا سکتا۔ اس کے بجائے، اسے آسانی سے خالی کر دیا جاتا ہے اور فائنل روٹ فائل سسٹم اوپر نصب ہوتا ہے۔ زیادہ تر ابتدائی روٹ فائل سسٹم شیل اسکرپٹ کے طور پر یا اس پر عمل درآمد کرتے ہیں اور اس طرح کچھ ضروری یوزر اسپیس یوٹیلیٹیز (عام طور پر بزی باکس ٹول کٹ) کے ساتھ کم سے کم شیل (عام طور پر/بن/ایش) شامل ہوتے ہیں۔ جگہ کو مزید بچانے کے لیے، شیل، یوٹیلیٹیز اور ان کی معاون لائبریریوں کو عام طور پر اسپیس آپٹیمائزیشنز کے ساتھ مرتب کیا جاتا ہے (جیسے کہ جی سی سی کے "-او ایس" فلیگ کے ساتھ) اور اس مقصد کے لیے خاص طور پر لکھی گئی سی لائبریری کے کم سے کم ورژن کے خلاف منسلک کیا جاتا ہے۔ لینکس کی تقسیم کے لیے انسٹالرز کے دیگر استعمال عام طور پر مکمل طور پر ایک initramfs سے چلتے ہیں، کیونکہ انہیں کسی بھی مستقل اسٹوریج کو ترتیب دینے سے پہلے انسٹالر انٹرفیس اور معاون ٹولز کی میزبانی کرنے کے قابل ہونا چاہیے۔ ٹینی کور لینکس اور پپی لینکس مکمل طور پر initrd سے چل سکتے ہیں۔ دوسرے آپریٹنگ سسٹمز میں مماثلت ونڈوز وسٹا کے بعد سے، ونڈوز ڈبلیو آئی ایم ڈسک امیج فائل سے بوٹ کر سکتی ہے، جس کے لیے فائل فارمیٹ شائع کیا جاتا ہے۔ یہ زپ فارمیٹ سے ملتا جلتا ہے سوائے اس کے کہ یہ ہارڈ لنکس، کٹوتی شدہ حصوں کی حمایت کرتا ہے، اور چنک بائی چنک کمپریشن کا استعمال کرتا ہے۔ اس صورت میں، پورے WIM کو ابتدائی طور پر رام میں لوڈ کیا جاتا ہے، اس کے بعد دانا شروع ہوتا ہے۔ اگلا، بھری ہوئی ڈبلیو آئی ایم ایک تفویض شدہ ڈرائیو لیٹر کے ساتھ سسٹم روٹ کے طور پر دستیاب ہے۔ ونڈوز انسٹالر اس کا استعمال کرتا ہے تاکہ یہ BOOT.WIM سے بوٹ ہو جائے، اور پھر INSTALL.WIM کو انسٹال ہونے والی ونڈوز فائلوں کے مجموعے کے طور پر استعمال کرتا ہے۔ اس کے علاوہ، ونڈوز پری انسٹالیشن انوائرمنٹ (ونڈوز پی ای) کچھ اینٹی وائرس اور بیک اپ/ڈیزاسٹر ریکوری سافٹ ویئر کے علیحدہ بوٹ ورژن کے لیے بیس ہونے کے ناطے اسی کا استعمال کرتا ہے۔ ونڈوز انسٹال کرنا بھی ممکن ہے تاکہ یہ ہمیشہ فزیکل ڈرائیو پر رکھی گئی ڈبلیو آئی ایم یا وی ایچ ڈی فائل سے بوٹ ہو جائے۔ تاہم، یہ شاذ و نادر ہی استعمال ہوتا ہے کیونکہ ونڈوز بوٹ لوڈر خود بوٹ ٹائم کرنل ماڈیولز کے لیے. sys فائلوں کو لوڈ کرنے کی صلاحیت رکھتا ہے، یہ وہ کام ہے جس کے لیے لینکس میں initrd کی ضرورت ہوتی ہے۔ ڈراکٹ بوسٹر initramfs جنریٹر لینکس اسٹارٹ اپ پروسیس کی فہرست لینکس ڈسٹری بیوشن کی فہرست جو رام سے چلتی ہے EFISTUB بوٹنگ ای ایف آئی فرم ویئر کو لینکس کرنل (آرک لینکس ویکی) لوڈ کرنے کی اجازت دیتی ہے حوالہ جات بیرونی لنکس ڈیبین initramfs-ٹولز ابتدائی یوزر اسپیس سپورٹ آلٹ یو آر ایل لینکس کرنل پر initrd-جنریٹنگ ٹول کٹ کرنل دستاویزات کا تفصیلی موازنہ