বুটলোডারটি কোথায় সংরক্ষিত আছে - রম, র‌্যাম, বা অন্য কোথাও?


30

উইকিপিডিয়া এন্ট্রি অনুসারে, একটি বুটলোডার হ'ল একটি ছোট প্রোগ্রাম যা রমে সংরক্ষণ করা হয় (মূল স্মৃতির একটি অংশ (র‌্যাম), তাই না ??) যা কেবল পড়তে পারে এবং মোছা যায় না)। আমি এখানে কিছুটা বিস্মিত হই। এর অর্থ কি এই যে আমরা যে প্রতিটি র‌্যাম কিনি তা ডিফল্টরূপে একটি বুটলোডার ইনস্টল করা আছে? এবং এছাড়াও, আমি একটি বই পড়েছিলাম যা বলে যে হার্ড ড্রাইভে সাধারণত এমবিআর (মাস্টার বুট রেকর্ড) নামে একটি অঞ্চল থাকে যার মধ্যে একটি বুটলোডার অন্তর্ভুক্ত থাকে ...

তাহলে এই বুটলোডারটি ঠিক কোথায় অবস্থিত? বিভিন্ন অপারেটিং সিস্টেমগুলি কি তাদের বুটলোডারকে বিভিন্ন জায়গায় সঞ্চয় করে?

উত্তর:


43

রমটি র‌্যাম থেকে আলাদা চিপ। এটির বিষয়বস্তু ধরে রাখতে শক্তির প্রয়োজন হয় না এবং মূলত কোনও উপায়ে সংশোধন করা যায়নি, তবে কারখানা থেকে শক্ত ওয়্যার্ড এসেছে। পরে পিআরএম, বা প্রোগ্রামযোগ্য পঠনযোগ্য মেমরি সত্যিকারের রম প্রতিস্থাপন করেছে। এই চিপগুলি কারখানার ফাঁকা থেকে আসে এবং একবারে একটি বিশেষ পদ্ধতি ব্যবহার করে লিখিত হতে পারে যা চিপের বিটগুলি মূলত তাদের রাজ্যের পরিবর্তনের ফলে জ্বলে ওঠে burned এরপরে এটি EPROM বা Eraseable প্রোগ্রামেবল মেমোরি দ্বারা প্রতিস্থাপন করা হয়েছিল। এই চিপগুলির এগুলির একটি সামান্য উইন্ডো ছিল এবং আপনি যদি তাদের মধ্যে অতিবেগুনী আলো জ্বালিয়ে দেন তবে মুছে ফেলা যেতে পারে, যাতে সেগুলি আবার প্রোগ্রাম করার অনুমতি দেয়। এরপরে এগুলিকে EEPROM বা বৈদ্যুতিন ক্ষয়যোগ্য প্রোগ্রামেবল মেমোরি দিয়ে প্রতিস্থাপন করা হয়েছিল। এগুলি মুছে ফেলার জন্য এই চিপগুলির একটি বিশেষ সফ্টওয়্যার পদ্ধতি রয়েছে যাতে এগুলি পুনরায় প্রোগ্রাম করা যায়।

মাদারবোর্ডে এমন এক ধরণের রম চিপ রয়েছে যা ফার্মওয়্যার ধারণ করে, যা পিসি পার্লেন্সে সাধারণত বিআইওএস বা বেসিক ইনপুট আউটপুট সিস্টেম নামে পরিচিত, যদিও এটি আজকাল EFI ফার্মওয়্যারের সাথে প্রতিস্থাপন করা হচ্ছে। এটি সেই সফ্টওয়্যার যা সিপিইউ প্রথমে পাওয়ার অন চালানো শুরু করে। সমস্ত ফার্মওয়্যার হার্ডওয়্যারটির সূচনা করে, সাধারণত কিছু ডায়াগনস্টিক আউটপুট সরবরাহ করে এবং ব্যবহারকারীকে হার্ডওয়্যারটি কনফিগার করার জন্য একটি উপায় সরবরাহ করে, তারপরে বুট লোডারটি সনাক্ত করে এবং লোড করে, যার ফলে ওএস লোকেটেড হয় এবং লোড হয়।

পিসি বায়োস-এর সাহায্যে, এটি ডিস্কটি বুট করার সিদ্ধান্ত নেয় এমন ডিস্কের প্রথম সেক্টরটি কেবল লোড করে এবং কার্যকর করে, যা সাধারণত প্রথম হার্ড ডিস্ক সনাক্ত হয়। কনভেনশন করে মাস্টার বুট রেকর্ড নামে একটি হার্ড ডিস্কের প্রথম সেক্টরটিতে একটি ডস পার্টিশন টেবিল রয়েছে যা ডিস্কের পার্টিশনের অবস্থানগুলি তালিকাভুক্ত করে এবং বুট লোডারের জন্য কিছু জায়গা রেখে দেয়। উবুন্টু GRUB বুট লোডার ব্যবহার করে, যা এমবিআর-এ লোড এবং সম্পাদন করতে পর্যাপ্ত কোড রাখে /boot/grub/core.img। সাধারণত এই ফাইলটির একটি অনুলিপি এমবিআর অনুসরণ করে সেক্টরগুলিতে স্থাপন করা হয় তবে প্রথম বিভাজনের আগে এবং এমবিআর লোড /boot/grub/core.imgহয় যা এমবিআর উপলভ্য খুব সীমিত জায়গায় সঠিকভাবে করা খুব কঠিন। ।

গ্রাব কোর ইমেজটিতে বেস গ্রুব কোড, প্লাস অ্যাক্সেসের জন্য প্রয়োজনীয় কোনও মডিউল রয়েছে /boot/grubযাতে এটি অতিরিক্ত মডিউলগুলি লোড করতে পারে এবং গ্রুব কনফিগারেশন ফাইল যা অপারেটিং সিস্টেমগুলি বুট করা যায় এবং কোথায় পাওয়া যাবে তা বর্ণনা করে।

ইএফআই ফার্মওয়্যারটি ইন্টেল ম্যাক্সে ব্যবহৃত হয়েছে এবং বিআইওএসের প্রতিস্থাপন হিসাবে উপলব্ধ হয়ে উঠেছে বেশিরভাগ সাম্প্রতিক পিসি মাদারবোর্ডগুলিতে একটি ডেডিকেটেড পার্টিশন প্রয়োজন যা বুট লোডার ফাইল ধারণ করে, এবং ফার্মওয়্যারগুলি সেই ফাইলগুলি সন্ধান করতে যথেষ্ট স্মার্ট এবং কেবলমাত্র লোডিং এবং এক্সিকিউটমেন্টের পরিবর্তে একটি লোড করে ডিস্কের প্রথম সেক্টরে।


এখানে গ্লেন ব্রুকশিয়ার কম্পিউটার সায়েন্সের একটি অনুচ্ছেদ রয়েছে ,A small portion of a computer's main memory where the CPU expects to find its initial program is constructed from special nonvolatile memory cells. Such memory is known as read-only memory(ROM) তাঁর মতে একটি ওভারভিউ । মূল স্মৃতিটি দুটি অংশ, র‌্যাম এবং রম নিয়ে গঠিত। আমি কেবল জানতে চাইছি যে তথাকথিত বুটলোডার মূল স্মৃতিটির রম অংশে ইনস্টল করা আছে ... @ সার্জি
xczzhh

@xczzhh - হ্যাঁ BIOS রমে সংরক্ষণ করা হয়, যা পার্টিশনে উপস্থিত বুটলোডার সনাক্ত করে। যে কোনও ওএস ইনস্টল করার পরে, এটি সম্পর্কিত বুটলডার সনাক্ত করতে BIOS এ এন্ট্রি ধরণের পতাকা তৈরি করে।
অ্যাটেনজ

1
@ এক্সসিজেহহহ, না, বুট লোডার হার্ড ড্রাইভ বা অন্য কোনও ডিস্কে রয়েছে। এটি ওএসের সাথে ইনস্টল করা আছে। আপনি যদি আপনার মাদারবোর্ড প্রস্তুতকারকের কাছ থেকে কোনও আপডেট ডাউনলোড এবং ইনস্টল না করেন তবে আরওএম কখনও পরিবর্তন হয় না।
psusi

EFI এর পরিবর্তে EFI অ্যাপ্লিকেশনগুলি ব্যবহার করে
t

@ সুসিডোগা, না, ইএফআই অ্যাপ্লিকেশনগুলি (যা মূলত কয়েকটি ফার্মওয়্যার আপগ্রেড ইউটিলিটি এবং বুট লোডারগুলির মধ্যে সীমাবদ্ধ) হার্ড ডিস্কের ইএফআই সিস্টেম পার্টিশনে সংরক্ষণ করা হয়। এনভিআরএম এমন যেখানে EFI কিছু কনফিগারেশন ভেরিয়েবল যেমন বুট অর্ডার সংরক্ষণ করে।
psusi

23

রম প্রধান স্মৃতিতে নেই:

রম প্রধান স্মৃতির অংশ নয়। এটি একটি পৃথক চিপ, যা বেশিরভাগ সময় বড় আইসিতে অন্তর্নির্মিত থাকে। আরও উদাহরণ, আপনার পিসিতে কয়েকটি রম থাকতে পারে OM এগুলি আপনার মাদার বোর্ডে নির্মিত।

সাধারণত:

  • রম মেমরির আকারে খুব ছোট। এই মেমরিটি অ-উদ্বায়ী, এই অর্থে, রমের মধ্যে থাকা প্রোগ্রামটি বিদ্যুৎ বন্ধ হয়ে মুছে যায় না।
  • স্থায়ী প্রোগ্রামগুলি সংরক্ষণ করার জন্য রম ব্যবহার করা হয়, যা সঠিকভাবে সম্পাদন করার জন্য আপনার হার্ডওয়্যার অত্যন্ত প্রয়োজনীয়।
  • রমের একটি সাধারণ উদাহরণ হ'ল বায়োস চিপ। যেখানে খুব নিম্ন স্তরের বুটিং এবং হার্ডওয়্যার শুরু করার প্রোগ্রামটি সঞ্চয় করা থাকে

আপনি উল্লেখ করেছেন যে, আপনি একটি নিবন্ধ পড়েছিলেন যেখানে লেখক বলেছিলেন, "রম মূল স্মৃতির একটি অংশ"। এটি বিভ্রান্তিকর, কারণ সাধারণত মেন মেমরিটি এমন ধরণের মেমরিকে বোঝায় যা র‌্যামের মতো অস্থির are তবে হ্যাঁ, আপনি যদি কোনও পিসির পুরো মেমরি স্পেসের জন্য মেইন মেমোরি শব্দটি ব্যবহার করেন, তবে রম সেই মেমরি স্পেসের একটি অংশ। আপনার অবশ্যই লক্ষ্য করা উচিত, সাধারণত মেন মেমরিটি রম হিসাবে ধরণের মেমরি বাদ দেয় না

বুটলোডারটি কোথায় সংরক্ষণ করা হয়েছে:

আধুনিক সিস্টেমে দুটি স্তরের বুট লোডিং ব্যবহার করা হয়। প্রথম ধাপে একটি ছোট প্রোগ্রাম হার্ড ডিস্কের একটি সেক্টর (যা প্রায়শই বুট-সেক্টর নামে পরিচিত) থেকে লোড করা হয়। এই ক্ষুদ্র প্রোগ্রামটি ডিস্কের যে কোনও জায়গা থেকে বুটলোডার নামে পরিচিত একটি প্রোগ্রাম লোড করে। এবং শেষ পর্যন্ত বুটলোডার ওএস লোড করে।

উবুন্টু সিস্টেমের মেয়াদে, প্রক্রিয়াটি নিম্নরূপ:

  1. আপনি আপনার পিসি চালু করার পরে, বায়োস (যা রমে সঞ্চিত) স্বয়ংক্রিয়ভাবে পিসি হার্ডওয়্যারের বিভিন্ন অংশ চালিত হয় এবং আরম্ভ করে। তারপরে এটি সংজ্ঞায়িত প্রথম বুট ডিভাইসে (সাধারণত হার্ড ডিস্ক) নির্দিষ্ট ক্ষেত্রের জন্য পরীক্ষা করে। এই সেক্টরটি বুট-সেক্টর, যা আকারে 512 বাইট।

  2. বুট-সেক্টরে প্রোগ্রামটি মেমোরিতে লোড হয় (1 ম পর্যায়)। এই ক্ষুদ্র প্রোগ্রামটিতে কোন প্রোগ্রামগুলি এটির মেমোরিতে লোড করা উচিত এবং কোথায় সেই প্রোগ্রামটি ডিস্ক বা বুট ডিভাইসে অবস্থিত সে সম্পর্কিত তথ্য রয়েছে। এটি যে প্রোগ্রাম লোড। উবুন্টুতে, এটি হয় /boot/grub/core.img

  3. ২ য় পর্যায়ে, ওএস-লোডার, জিআরউবি, কার্নেল এবং প্রাথমিক র‌্যাম ডিস্কটি মেমরির মধ্যে লোড করে কার্নেলের কাছে হ্যান্ড-ওভার নিয়ন্ত্রণ দিয়ে উবুন্টুকে বোঝায়। তারপরে কার্নেলটি প্রয়োজনীয় সমস্ত প্রোগ্রাম যেমন ডিসপ্লে ম্যানেজার, গুই ইত্যাদি চালায় এবং লোড করে

সুতরাং, আমরা পরিষ্কারভাবে বলতে পারি যে, বুটলোডারটি না রম, না র‍্যামে সঞ্চয় করা থাকে, এটি আসলে হার্ড ডিস্কে (বা অন্যান্য বুট ডিভাইস, যেমন বুটেবল সিডিআরএম, ইউএসবি ড্রাইভ ইত্যাদিতে) সঞ্চিত থাকে, স্পষ্টভাবে প্রথম সেক্টরটি বলে হার্ড ডিস্ক, যা আকার 512 বাইট এবং প্রায়শই বুট-সেক্টর হিসাবে উল্লেখ করা হয় । এবং এই বুটলোডারটি ওএস-লোডার লোড করে (উবুন্টুতে এটি গ্রাব) যা হার্ড ডিস্কেও থাকে (যেমন /boot/grub/ফোল্ডার), এবং এটি টাস্কটি ওএস লোড করছে (বলুন, উবুন্টু)।

পরীক্ষা হিসাবে, হার্ড ডিস্ক (এবং অন্যান্য সমস্ত বুট ডিভাইস) সরান এবং বুট করার চেষ্টা করুন। আপনি BIOS পদক্ষেপে যেতে পারেন, তবে এই পদক্ষেপের পরে, আপনি কোনও কিছুই বুট করতে পারবেন না। সম্ভবত বিআইওএস বলবে, " কোনও বুট ডিভাইস পাওয়া যায় নি " বা " কোনও অপারেটিং সিস্টেম পাওয়া যায় নি " বা অনুরূপ কিছু।

আশা করি এই উত্তরটি সাহায্য করবে।


আরও তথ্যের জন্য, আপনি এই লিঙ্কগুলি পরিদর্শন করতে চাইতে পারেন:

  1. http://en.wikipedia.org/wiki/Read-only_memory
  2. http://en.wikipedia.org/wiki/Random-access_memory

2
রম এখন প্রায় এক দশক ধরে র‍্যামের চেয়ে দ্রুততর হয়নি। আসলে, একটি আধুনিক বায়োস প্রথম যে কাজটি করে তা হ'ল র‍্যামে অনুলিপি করা কারণ র‌্যাম এত দ্রুত।
ডেভিড শোয়ার্জ

1
@ ডেভিডশওয়ার্টজ, এখন এক দশকেরও বেশি সময় কেটে গেছে। আমি 90 এর দশকের মাঝামাঝি প্রতিটি পিসি বায়োস-এর কাছে গতির জন্য র‍্যামের বায়োসকে ছায়া দেওয়ার বিকল্প ছিল।
psusi

@ আনোয়ার, মেইন মেমোরির লিঙ্কটি মারা গেছে।
ম্যাট

15

একটি x86- সামঞ্জস্যপূর্ণ প্রসেসর সর্বদা তথাকথিত "রিয়েল" মোডে শুরু হয়, যা 1 মেগাবাইট সম্বোধনযোগ্য মেমরি সহ 16-বিট মোড। এই ঠিকানা স্থান থেকে, 640K প্রোগ্রামের জন্য এবং উপরের ঠিকানাগুলির জন্য বিভিন্ন ডিভাইসে ম্যাপ করা যায়।

উদাহরণস্বরূপ, 0xA000: 0x0000 থেকে শুরু করা ঠিকানাগুলি ভিডিও র‍্যামে ম্যাপ করা হয়, সুতরাং, সেখানে ডেটা লিখতে আসলে ভিডিও অ্যাডাপ্টারের মেমরিতে পর্দায় প্রদর্শিত পিক্সেলগুলিতে ডেটা লেখা হত।

একইভাবে, বায়োস রম 0xF000: 0000 থেকে শুরু হয় তাই সিপিইউ যখন চালিত হয় কেবল সেই প্রাক-সংজ্ঞায়িত ঠিকানা থেকে শুরু করে একের পর এক নির্দেশনা চালানো শুরু করে। বায়োস রমে প্রাথমিক প্রোগ্রাম রয়েছে যা "পাওয়ার-স্ব-স্ব পরীক্ষা" বা পোষ্ট করেই শুরু হয়। উইকিপিডিয়া থেকে:

বিআইওএস সফ্টওয়্যারটি পিসিতে নির্মিত হয় এবং এটি পিসি চালিত প্রথম কোড যা 'বুট ফার্মওয়্যার' চালিত হয়। পিসি শুরু হয়ে গেলে, বিআইওএসের প্রথম কাজটি হ'ল পাওয়ার-অন-স্ব-পরীক্ষা, যা সিপিইউ, র‌্যাম, ভিডিও ডিসপ্লে কার্ড, কীবোর্ড এবং মাউস, হার্ড ডিস্ক ড্রাইভ, অপটিকাল ডিস্ক ড্রাইভ এবং সিস্টেম ডিভাইসগুলির সূচনা করে এবং সনাক্ত করে and অন্যান্য হার্ডওয়্যার বিআইওএস তারপরে পেরিফেরাল ডিভাইসে রাখা বুট লোডার সফ্টওয়্যার (যেমন একটি 'বুট ডিভাইস' হিসাবে চিহ্নিত করা হয়) যেমন একটি হার্ড ডিস্ক বা সিডি / ডিভিডি, এবং সেই সফ্টওয়্যারটি লোড করে এবং কার্যকর করে, এটি পিসির নিয়ন্ত্রণ দেয় loc 2 এই প্রক্রিয়াটি বুট করা বা বুটআপ হিসাবে পরিচিত, যা বুটস্ট্র্যাপিংয়ের জন্য সংক্ষিপ্ত।

বিআইওএস ফার্মওয়্যারটি প্রথম সেক্টরটি ডিস্ক থেকে মেমোরিতে পড়ার জন্য এবং নিয়ন্ত্রণটি একটি ছোট প্রোগ্রামে পাস করার জন্য দায়বদ্ধ যা আবার একটি নির্দিষ্ট ঠিকানায় অবস্থিত। MBR- এ বুট-লোডার তারপর ওএস সরাসরি লোড করার শুরু হতে পারে (যেমন MS-DOS এর সঙ্গে কেস ছিল) বা "দ্বিতীয় পর্যায়ের", যা একটি একক ডিস্ক খাতের অবরোধ সীমাবদ্ধ নয় লোড করা হয়নি।

মাল্টি-স্টেজ পদ্ধতির ব্যবহারকারী বুটলোডারগুলি পাঠ্য বা গ্রাফিক্যাল ইন্টারফেসের সাথে জটিল হতে পারে যা ব্যবহারকারীকে কোন ডিস্ক বা পার্টিশন থেকে কোনও অপারেটিং সিস্টেম লোড করতে পারে তা নির্বাচন করতে দেয়।

সুতরাং, যেমন, উরির পরামর্শ অনুসারে, উইন্ডোজ বুটলোডার এবং গ্রুব একসাথে থাকতে পারে কিনা তা আপনার আগ্রহী, উত্তরটি হ'ল: আসল এমবিআরটিতে কেবলমাত্র একটি প্রথম স্তরের বুটলোডার থাকতে পারে (আসুন, পুরো খাতটি কেবল 512 বাইট) তবে বুটলোডারের দ্বিতীয় পর্যায়ে বিভিন্ন পার্টিশন থেকে অপারেটিং সিস্টেমগুলি "চেইন-লোড" করতে সক্ষম হতে পারে। উইন্ডোজ বুটলোডার কেবল উইন্ডোজকে সনাক্ত করতে এবং লোড করতে সক্ষম হয়, যখন GRUB লিনাক্স লোড করতে বা পার্টিশনের মধ্যে একটির ভলিউম বুট রেকর্ডারে থাকা অন্য বুটলোডারকে নিয়ন্ত্রণ সরবরাহ করতে সক্ষম হয়, যা উইন্ডোজ বা অন্যান্য ওএস বুট করতে দেয় allows পরবর্তী প্রক্রিয়াটিকে চেইন-লোডিং বলা হয়।

আপনি যখন উইন্ডোজ রয়েছে এমন একটি কম্পিউটারে উবুন্টু ইনস্টল করবেন তখন GRUB এমবিআরতে ইনস্টল হবে এবং আপনি উবুন্টু এবং উইন্ডোজ উভয়ই বুট করতে সক্ষম হবেন।

তবে, যদি উবুন্টুর পরে উইন্ডোজ ইনস্টল করা হয় তবে উইন্ডোজ বুটলোডার দিয়ে GRUB প্রতিস্থাপন করা হবে এবং উবুন্টুকে আবার বুট করতে সক্ষম করতে আপনাকে GRUB পুনরায় ইনস্টল করতে হবে।


আমি মনে করি তিনি জানার জন্য উইন্ডোজ বুটলোডার এবং গ্রুব একসাথে থাকতে পারে কি না। ইউইএফআই, জিপিটি ডিস্কগুলি এমবিআর ব্যবহার করে না কীভাবে এটি তাদের প্রভাব ফেলে ?.
উরি হেরেরা

BIOS ROM F000: বিভাগে অবস্থিত, যা 1 এমবি এর ঠিক নীচে। 640k হল A000: এর নীচের অংশগুলি থেকে, যা আসল মোড ওএস এবং প্রোগ্রামগুলি ব্যবহারের জন্য উপলব্ধ।
PSusi

@ স্পুসী: আপনি ঠিক বলেছেন, আমি সেই অংশটি আবার স্পষ্ট করে দিয়েছি
সের্গেই

উত্তরের জন্য ধন্যবাদ. আপনি কি বোঝাতে চেয়েছেন যে কোনও অপারেটিং সিস্টেম বুট করার জন্য একাধিক বুটলোডার রয়েছে (একটি বিআইওএসের মধ্যে এবং অন্যটি এমবিআরে?) এটি আমার কাছে নতুন ... :)
xczzhh

@xczzhh আচ্ছা, ঠিক আছে, বিআইওএসের কোডটিকে "বুটলোডার" বলা হয় না, ডিস্কে সঞ্চিত এটি করে। এটি পরিষ্কার করার জন্য আমি আমার উত্তর আপডেট করেছি।
সের্গেই

4

বুটলোডারটি আরওএম-র থাকায় এবং এটি এমবিআর থাকায় আপনি যে কথার দ্বন্দ্ব বোধ করছেন সেটি সম্ভবত কম্পিউটারের কিছুটা কার্যকর করতে কোডকে লোড করার জন্য সর্বনিম্ন কীভাবে করা যায় তা কার্যকর করে এমন কোনও কোডের জন্য বুটলোডার ব্যবহার করা হচ্ছে each মাল্টি-স্টেজ বুটে স্টেট করুন।

সুতরাং, প্রারম্ভিক অবস্থায় একটি কম্পিউটার থাকতে হবে যা একটি প্রোগ্রামেবল ডিভাইস, তবে চালানোর জন্য সফ্টওয়্যারটি কীভাবে লোড করতে হয় তা জানে না কারণ এতে কোনও সফ্টওয়্যার লোড নেই। (এবং অত: পর বুট থেকে তার একক প্রয়াস থেকে টান নিজেই আপ )।

Orতিহাসিকভাবে, এই সমস্যার কয়েকটি ভিন্ন সমাধান ছিল, তবে আজকাল আমরা রমে কিছু কোড দিয়ে শুরু করি (বেশিরভাগই সম্ভবত কঠোরভাবে EEPROM), এটি বিভিন্ন ডিভাইসটি দেখার জন্য এটি পেতে যথেষ্ট এবং এটির সন্ধান না পাওয়া অবধি তাদের চেষ্টা করে দেখার জন্য যথেষ্ট বুট করার যোগ্য।

(এই কারণেই যদি আপনি হার্ড-ড্রাইভ থেকে ওএস ইনস্টলার ডিস্ক স্থাপন করেন এবং অন্যথায়, বায়োস [রমের কোড, আমরা যে কোডটি নিয়ে কথা বলছি এবং অন্য কিছু নিম্ন সহ) অনেকগুলি সিস্টেম সিডি বা ডিভিডি বন্ধ করে দেয় will প্রথমে সিডি / ডিভিডি ড্রাইভটি সন্ধান করার জন্য প্রথমে সিডি / ডিভিডি ড্রাইভটি সন্ধান করা হবে, তারপরে কোনও হার্ড-ড্রাইভের মধ্যে যদি কিছু না পাওয়া যায় তবে ম্যানুয়ালি অনুরোধ না করা হলে টুইটাররা প্রায়শই সিডি / ডিভিডি ড্রাইভ উপেক্ষা করার জন্য সেট করে রাখে ড্রাইভে থাকা একটি অ-বুটযোগ্য ডিস্কটি কাটানোর সময় নষ্ট করে না)।

রমে এই কোডটিকে কখনও কখনও বুটলোডার বলা হয় ।

এটি যখন ড্রাইভটি দেখতে হবে তা জানে, তখন এটি এমবিআরটির দিকে নজর দেবে, যার মধ্যে প্রাথমিক অংশগুলি সম্পর্কিত তথ্য রয়েছে - আপনি পরে / বা / বুট বা সি: / (একটি উইন্ডোজ সিস্টেমে) কীভাবে দেখতে পারেন যদি আপনি এমনকি না করেন জেনে নিন যে ডিস্কের কোন অংশটি কোন পার্টিশন ছিল, তা মনে করবেন না প্রতিটি পার্টিশন কীভাবে মাউন্ট হয়েছিল? - এবং কার্যকর করার জন্য আরও নির্দেশাবলী সহ কিছু কোড। (ঘটনাক্রমে, এটি ব্যাখ্যা করে যে উইন্ডোজের মতো কিছু ওএস কেবল প্রাথমিক পার্টিশনে ইনস্টল করা যেতে পারে, part পার্টিশনের বিবরণগুলি এমবিআরে রয়েছে এবং এটিই তাদের পার্টিশনের তথ্য যা তাদের বুটলোডার পড়েছে, এবং এটি ইবিআর এতে লোড করে না লজিক্যাল পার্টিশন সম্পর্কে শিখুন, যতক্ষণ না এটি উদ্বিগ্ন part পার্টিশনগুলি এখনও বিদ্যমান নেই)।

এক্সিকিউটেবল কোড অর্থাৎ এছাড়াও একটি নামক বুট-লোডার । আমরা যখন এটির এবং পরবর্তী কীগুলির মধ্যে পার্থক্য করার চিন্তা করি তখন এটিকে একটি প্রাথমিক বুট লোডার বলা হয় (কারণ আমরা নিজের বিআইওএস না তৈরি না করে আমরা রম বিটকে আমাদের নিয়ন্ত্রণের বাইরে উপেক্ষা করি)।

এই কোডটি খুব ছোট হবে কারণ এটির জন্য খালি প্রায় 400 বাইট রয়েছে, তাই আসল কিছু করার জন্য এটি আরও কিছু কোড লোড করবে, এটি আরও বড় হতে পারে কারণ এই সীমাবদ্ধতার মোকাবেলা করতে হবে না।

এই কোডটি একটি বুটলোডার হিসাবেও পরিচিত । আমরা যখন এর মধ্যে এবং এর আগে যা ঘটেছিল তার মধ্যে পার্থক্য করার চিন্তা করি তখন এটিকে মাধ্যমিক বুট লোডার বলা হয় ।

এই কোড সম্ভবত প্রক্রিয়া চূড়ান্ত পর্যায়ে হতে পারে। এটি যদি আপনার কেবলমাত্র একটি ওএস থাকে, বা যদি আপনার সিস্টেমের সমস্ত ওএসগুলি সামঞ্জস্যপূর্ণ বুট-লোডার ব্যবহার করে (যেমন দুটি লিনাক্স ইনস্টল করে যে উভয়ই GRUB ব্যবহার করে, তাই GRUB সর্বশেষে আপডেট হওয়া যে কোনওটির মধ্যে বুট করার প্রস্তাব দিতে পারে) তবে এটি মেনুগুলি উপস্থাপিত করে (যদি ইচ্ছা হয়) কার্নেলের মধ্যে লোড হয় এবং অপারেটিং সিস্টেমের নিয়ন্ত্রণ নিয়ন্ত্রণ করে।

আপনি যদি এমন কোনও ওএস থাকেন যা সেই বুটলোডারের সাথে সামঞ্জস্যপূর্ণ নয়, এটি চেইনলোড হতে পারে। উদাহরণস্বরূপ, যদি আপনার একই মেশিনে উইন্ডোজ এবং লিনাক্স থাকে তবে উইন্ডোজ লোড করার জন্য GRUB বিকল্পটি আসলে অন্য একটি বুটলোডার লোড করবে যা কেবল উইন্ডোজ ইনস্টলেশন (গুলি) সম্পর্কে জানে এবং এটি পাস করবে। যদিও এটি প্রক্রিয়াটির একটি তৃতীয় পর্যায় ছিল, তবুও এটিকে একটি দ্বিতীয় বুট লোডার বলা হয় , কারণ এটি আগে জানে না যে আরও একটি দ্বিতীয় দ্বিতীয় বুট লোডার এর আগে চলছে care এটি লিনাক্স ইনস্টলের ক্ষেত্রেও ঘটতে পারে যা বিভিন্ন ধরণের মাধ্যমিক বুটলোডার ব্যবহার করে।

বেশিরভাগ ক্ষেত্রে যখন আমরা লিনাক্সের ক্ষেত্রে বুটলোডার সম্পর্কে কথা বলি , আমরা সাধারণত রম কোডটি বোঝায় না (এটি লিনাক্সের অংশ নয়, বা লিনাক্স ইনস্টল করে পরিবর্তন করা হয়েছে)। আমরা যখন করি তখন আমরা update-grubগৌণ বুটলোডার পরিবর্তন করি যা সাধারণত কোনও নির্দিষ্ট ইনস্টলেশন / বুটে থাকে। যখন আমরা install-grubএটি পরিবর্তন করি এবং এমবিআরের প্রাথমিক বুটলোডারটিও যাতে এটি / বুট কোথায় রয়েছে তা জানতে যথেষ্ট কোড থাকতে পারে (সম্ভবত এটি সফ্টওয়্যার RAID শুরু করার সাথে সাথে) এবং লোড হবে এবং কার্যকর হবে যখন এটি নিজেই সম্পাদিত হয় ।

সুতরাং, সংক্ষেপে আপনি ভুল ছিলেন যখন আপনি বলেছিলেন যে রম মূল স্মৃতির অংশ ছিল * কারণ এটি পৃথক। (প্রকৃতপক্ষে, র‌্যামকে রমের বিপরীতে হিসাবে নেওয়া হয়)। সেখানে এবং এমবিআর-তে একটি বুটলোডার ছিল বলে আপনি উভয়ই সঠিক ছিলেন, কারণ তারা প্রক্রিয়াটির দুটি ধাপ এবং উভয়কেই কখনও কখনও সেই নামে ডাকা হয়। এবং "বিভিন্ন ওএস কি তাদের বুটলোডারকে বিভিন্ন জায়গায় সঞ্চয় করে?" এর উত্তর? এটি "বেশিরভাগ ক্ষেত্রেই", কারণ আপনি যদি বেমানান না হন তবে মাধ্যমিক বুটলোডারগুলি অন্য বুটলোডারগুলিকে (যদি আপনি লিনাক্স ইনস্টল করার পরে উইন্ডোজ ইনস্টল করেন) বা অনুরোধ করা হলে অন্যটিতে চেইনলোডগুলি লুকিয়ে রাখে (যদি আপনি এই পরিস্থিতিটি ঠিক করেন, বা উইন্ডোজ পরে লিনাক্স ইনস্টল করেন) তবে একটি ওএস তারা সামঞ্জস্যপূর্ণ হলে একটি গৌণ বুটলোডার ভাগ করতে পারে (আপনি যদি অন্য লিনাক্সের পরে একই ধরণের গৌণ বুট লোডার ব্যবহার করে লিনাক্স ইনস্টল করেন, এবং এটি অন্যান্য লিনাক্স দেখতে পাবে [কখনও কখনও সফ্টওয়্যার RAID বিষয়গুলিকে বিভ্রান্ত করে এবং চেইনলোডিং প্রয়োজনীয় করে তোলে)।

* যে দিনগুলিতে কোনও ব্যক্তি ক্রমক্রমে রম এবং র‌্যাম উভয়ই ব্যবহার করবেন এটি পৃথক ছিল। একটি জেডএক্স স্পেকট্রামে উদাহরণস্বরূপ, রমটি 16kiB হবে এবং এতে বেসিক ইন্টারপ্রিটার অন্তর্ভুক্ত থাকবে, পাশাপাশি আপনাকে তার 48kiB বা 128KiB (পেজড) বা র‌্যামে কোনও কিছু লোড করার প্রাথমিক পয়েন্ট দেওয়ার জন্য (এই ক্ষেত্রে এটি মূলত বুট করা হবে) সেই বেসিক ইন্টারপ্রেটার এবং তারপরে টেপটিতে যা ছিল তা বুট করার জন্য) বেসিক ইন্টারপ্রেটারের পুরো ফাংশন ছিল যা র‌্যামের প্রোগ্রামগুলি ব্যবহার করতে পারে (যখন কম্পিউটারের একটি পরিচিত অবস্থানে ইতিমধ্যে একটি ট্রিগ ফাংশন লিখবে) ? বিশেষত যখন আপনার নিজের কোডটি চালানোর জন্য আপনি কেবল 48kiB করেন)। এই রমটি র‍্যামের মতো একই রকমভাবে ঠিক ঠিক বিভিন্ন ঠিকানায় দৃশ্যমান ছিল। এ জাতীয় ক্ষেত্রে রমটি র‌্যামের মতো মূল স্মৃতির একটি অংশ ছিল, তবে লিখনযোগ্য নয়।


0

নূন্যতম কার্যকারী উদাহরণ তৈরি করুন এবং এই ধারণাগুলি বুঝতে এটি একটি এমুলেটরটিতে চালান:

printf '\364%509s\125\252' > main.img
qemu-system-x86_64 -hda main.img

এটি একটি অতি সাধারণ "বুটলোডার" যা একটি একক hltনির্দেশনা দেয়। আরও তথ্যে: https://stackoverflow.com/a/32483545/895245

এরপরে আপনি এটিকে আসল হার্ডওয়্যারের সাথে চালাতে পারেন:

sudo dd if=main.img of=/dev/sdX

এবং আপনার কম্পিউটারে ইউএসবি প্লাগিং করা এবং এটি থেকে বুট করা।

আপনি যখন এটি করেন, তখন এটি স্পষ্ট হয়ে যায় যে বুটলোডার এমন একটি জিনিস যা স্থায়ী স্টোরেজ ডিস্কের মতো ইউএসবি বা হার্ড ডিস্কে বাস করে।

ROM এ যা থাকে তা হ'ল আমাদের জন্য বুটলোডার শুরু হওয়া কোডটি, যাকে বলা হয় ফার্মওয়্যার (বা কম অবিকল বিআইওএস)।


0

পুরানো দিনগুলিতে, বুট প্রোগ্রামটি টেলিগ্রাফ মেশিন বা পাঞ্চযুক্ত কার্ড মিডিয়া দ্বারা ব্যবহৃত পাঞ্চযুক্ত কাগজের টেপের অনুরূপ থাকত ('তারা উভয়কে আর দেখতে পাবে না)। প্রক্রিয়াটি আইপিএল নামে পরিচিত, প্রাথমিক প্রোগ্রাম লোডের জন্য সংক্ষিপ্ত। কখনও কখনও যদি কোনও কাগজ টেপ বা কার্ড রিডার পাওয়া না যায় তবে সামনের প্যানেলে কনসোলের মাধ্যমে প্রসেসরে সরাসরি বাইনারি আইপিএল কোড প্রবেশ করাতে হবে। হালকা

আজকাল আইপিএল কোড পিআরএম-তে থাকে যা ঘুরিয়ে লোড কার্যকর করার পরে কাঙ্ক্ষিত অপারেটিং সিস্টেম লোড (বুটআপ) অনুসারে যে কোনও গৌণ বুট লোডার কার্যকর করে। মাধ্যমিক লোডার আইপিএল কোড দ্বারা পরিচিত বা সম্বোধনযোগ্য সেটআপের যে কোনও অংশে যে কোনও মাধ্যমের উপর থাকতে পারে।


-1

বুট লোডার সাধারণত হার্ড ড্রাইভের প্রথম সেক্টরে থাকে, সাধারণত মাস্টার বুট রেকর্ড নামে পরিচিত।

চিয়ার্স

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.