লিনাক্স / xBSD কীভাবে GRUB এর আগে বুট করেছিল?


23

উইকিপিডিয়া অনুসারে , জিআরউবি ১৯৯৫ সালে প্রকাশিত হয়েছিল। সেই সময় ধরে লিনাক্স এবং এক্সবিএসডি বেশ কয়েক বছর ধরে ছিল। আমি জানি ইউনিক্সের প্রথম সংস্করণগুলি 70 এবং 80 এর দশকে হার্ডওয়্যারের সাথে আবদ্ধ ছিল, তবে লিনাক্স এবং এক্সবিএসডি বিতরণ এবং ইনস্টল করতে নিখরচায় ছিল। কোনটি প্রশ্ন করে যে আপনি তখন লিনাক্সকে কীভাবে বুট করবেন? ডিস্ট্রিবিউশনগুলি কি বুটলোডারগুলির নিজস্ব বাস্তবায়ন সহ শিপিং করা হয়েছিল?


32
উম্ম ... আপনি যখন আশেপাশে ছিলেন না যখন লিলো একমাত্র লিনাক্স বুটলোডার ছিল? এবং আমি আমার বিএসডি সিস্টেমে কখনও লিলো বা গ্রুব ব্যবহার করি নি । আপনি কোনটি সম্পর্কে আগ্রহী? যেমন দেখুন biosboot(8)
কুসালানন্দ

8
@ কুসালানন্দ দুর্ভাগ্যক্রমে, আমি পাইপ, এক্সিকিউটিভ এবং শেলগুলির চেয়ে খেলনা এবং নিনজা টার্টলগুলি আঁকার বিষয়ে আরও যত্নবান ছিলাম :) আমি সাধারণ ইতিহাসে আগ্রহী, নির্দিষ্ট বুটলোডার নয়। আপনি যে পৃষ্ঠাটি লিঙ্ক করেছেন সেটি biosbootথেকে আমি দেখতে পাচ্ছি ওপেনবিএসডি'র দুটি আর্কিটেকচার, আই 386 এবং এএমডি 64 এর জন্য রয়েছে। এর অর্থ কি ওপেনবিএসডি নির্দিষ্টভাবে এক, সরঞ্জাম একীকরণের পরিবর্তে স্থাপত্যগুলি লক্ষ্যবস্তু করতে হয়েছিল?
সের্গেই কলডিয়াজন্য

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

3
@ কুসালানন্দ আমি মনে করি না লিলো কখনও লিনাক্সের একমাত্র বুটলোডার ছিল। যতদূর আমি জানি যে কার্নেল ইমেজগুলিতে নির্মিত লোডারটি LILO এর পূর্বাভাস দেয়, এবং বিল্ট ইন লোডারটির জন্য সমর্থন বন্ধ হয়ে যাওয়ার পরে কমপক্ষে আরও কয়েকটি বুটলোডার আশেপাশে ছিল।
কাস্পার্ড

2
লিলো 2000 এর শুরুর আগে পর্যন্ত অনেকগুলি ডিস্ট্রোস আপের জন্য ডিফল্ট বুটলোডার ছিলেন
ফুক্লভি

উত্তর:


51

90 এর দশকে আমি প্রথম লিনাক্স বিতরণ ব্যবহার করেছি ( Slackware 3.0আইআইআরসি) বুটলোডার হিসাবে লিলো ব্যবহার করেছিল । এবং "ডিফল্ট" বুটলোডার হওয়ার LILOপরেও অনেকগুলি ডিস্ট্রো বছরের পর বছর ধরে ব্যবহৃত GRUBহয়েছিল।

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

সিসলিনাক্সকে ভুলে যাবেন না , যা ইউএসবি স্ব-বুটেবল ইনস্টলেশন / পুনরুদ্ধারের ডিস্ট্রোজের জন্য প্রায়শই ব্যবহৃত একটি সাধারণ বুট লোডার। বা ইসলিনাক্স (একই প্রকল্প থেকে) অনেকগুলি "লাইভ" ডিস্ট্রোস দ্বারা ব্যবহৃত হয়।

মনে রাখবেন যে আজকে GRUBঅনেক অপারেটিং সিস্টেম লোড করতে ব্যবহার করা যেতে পারে, যদিও LILOএটি আরও সীমাবদ্ধ ছিল এবং বিশেষত উইন্ডোজটিতে ডুয়াল বুট করার জন্য কিছু সমর্থন সহ লিনাক্সের (যেমন LInux LOader) লক্ষ্যবস্তু ছিল।
GRUBতার অনেক কনফিগার বিকল্প, স্ক্রিপ্টিং ক্ষমতা, ইত্যাদি কারণে দ্বৈত / বহু বুট করার জন্য খুবই দরকারী ...
উচিত আপনি শুধু আপনার মেশিনে একটি একক অপারেটিং সিস্টেম চান তাহলে "কোন" (অর্থাত যেটা বুট-লোডার আপনার Linux / বাসদ বিতরণের জন্য ডিফল্ট) যথেষ্ট.


5
@ মিঃশুনজ: তখন আর কোনও ইউইএফআই ছিল না। বুট করার পদ্ধতি উইন্ডোজ মাত্র উদাঃ এর একটি এন্ট্রি যোগ করার ব্যাপার ছিল other=/dev/hda1সঙ্গে table=/dev/hdaথেকে lilo.confএবং লেহন শুধু hda1 এ বুট সেক্টর নিয়ন্ত্রণ হস্তান্তর হবে, পার্টিশন টেবিল বুদ্ধিমান hda -র সাথে দেখা হবে।
নিনজালজ

2
আপনি LILO লোড করতে এনটিএলডিআর পেতে সক্ষম হতেন; দেখতে jaeger.morpheus.net/linux/ntldr.php ; আমি একই দিনে স্বাধীনভাবে আবিষ্কার করেছি।
রজার লিপসক্বে

2
LILO পদ্ধতির নেতিবাচক দিকটি হ'ল যদি ফাইলগুলি লোড করার ডিস্কের অবস্থান পরিবর্তন হয়। বিশেষত এর অর্থ হ'ল প্রতিটি কার্নেল আপগ্রেড করার পরে বুট লোকেশনে (এমবিআর বা পার্টিশন বুট সেক্টর) লিলোর পুনরায় লিখিত হওয়া দরকার।
প্লাগওয়াশ

1
@ প্লাগওয়াশ: GRUB এর দ্বিতীয় স্তরের ফাইলের সাথে একই সমস্যা রয়েছে। এখানে পার্থক্যটি হ'ল 1) লিলোর "দ্বিতীয় পর্যায়ে" ছিল কার্নেল, সুতরাং এটি কার্নেলের আপডেট ছিল, লিলো আপডেটগুলি নয় যা জিনিসগুলিকে ভেঙেছে; এবং ২) গ্রুব আপডেটগুলিতে এমবিআর-তে দ্বিতীয় স্তরের অবস্থানের একটি স্বয়ংক্রিয় পুনঃলিখন অন্তর্ভুক্ত রয়েছে (দ্বিতীয় পর্যায়ে তারপরে লিনাক্স কার্নেলটি লোড করা হবে, ফাইল সিস্টেমের সম্পূর্ণ জ্ঞানের সাথে কার্নেলের অবস্থান গুরুত্বপূর্ণ নয়)। ;-)
দেবসোলার

1
আইআইআরসি গ্রাব সম্ভব হলে একটি "স্টেজ 1.5" সংরক্ষণ করে যা এমবিআর এবং প্রথম পার্টিশনের মধ্যে ফাইল সিস্টেমটি বোঝে এবং কেবলমাত্র 1.5 ম পর্যায়ে জায়গা না থাকলে নির্দিষ্ট ফাইল সিস্টেম সেক্টরের রেফারেন্স সংরক্ষণ করতে সহায়তা করবে (অথবা এটি ইনস্টল করা থাকলে এমবিআর চেয়ে পার্টিশন বুট সেক্টর)
প্লাগওয়াশ

28

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

লিনাক্স বুট করার জন্য অন্যান্য অপারেটিং সিস্টেমের বুটলোডার ব্যবহার করার বিভিন্ন উপায় ছিল; উদাহরণস্বরূপ, ওএস / 2 এর বুট ম্যানেজার, বা উইন্ডোজ এনটি-র এনটিএলডিআর।

অন্যান্য সিস্টেমে নিজস্ব বুটলোডার ছিল:

  • এসআইআরসি অন ​​সিলো (সান ওয়ার্কস্টেশন এবং অন্যান্য);
  • Palo পিএ-আরআইএসসি (এইচপি ওয়ার্কস্টেশনের) এ;
  • পাওয়ারপিসিতে ইয়াবুট এবং কুইক;
  • আলুতে এবুট এবং মিলো ...

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


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

আরে, শুধু কৌতূহলী, এনটিএলডিআর সরাসরি লিনাক্স কার্নেলটি লোড করতে পারে? শুনেছি এনটিএলডিআর চেনলোডার গ্রুবডডস করতে পারে এবং তারপরে লিনাক্স কার্নেলটি লোড করতে পারে।
炸鱼 薯条 德里克

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

যেমন আপনার র‌্যাড চিপের অভ্যন্তরে ওপেন ফার্মওয়্যার ড্রাইভার থাকা র‌্যাড অ্যাডাপ্টার থাকতে পারে, তারপরে ওপেন ফার্মওয়্যার পরিবেশটি সেই ড্রাইভারটি RAID অ্যাক্সেস করতে ব্যবহার করতে পারে, RAID এর ভিতরে পার্টিশন টেবিল বিন্যাসের জন্য অন্য ড্রাইভার থাকতে পারে, যা OFW পরিবেশের অনুমতি দেয় পার্টিশনগুলি সন্ধান করার জন্য, প্রতিটি পার্টিশনের শুরুতে ফাইল সিস্টেমের জন্য একটি OFW ড্রাইভার থাকত, যা OFW সিস্টেমকে কার্নেলটি সন্ধান করতে দেয়, এবং কার্নেলের শুরুতে OFW বাইটকোডে একটি ছোট বুটলোডার লেখা ছিল।
জার্গ ডব্লু মিটাগ

GRUB একইভাবে কাজ করতে পারে, তবে পার্থক্যটি হ'ল all সমস্ত ড্রাইভারকে বিশেষত GRUB এর জন্য লিখতে হবে, যদিও OFW এর সৌন্দর্য ছিল ডিভাইসটি তার ড্রাইভারগুলি সাথে নিয়ে আসত, যার অর্থ এমনকি এমন ডিভাইসগুলি এখনও পর্যন্ত হয়নি OFW পরিবেশ যখন লেখা হত তখন "জাদুকরভাবে" কাজ করবে exist ইউইএফআই একইভাবে কাজ করতে পারে তবে এটির "পোর্টেবল বাইটকোড ফর্ম্যাট" মূলত ডসের একটি সাবসেট, এটি ইটানিয়ামকে এখনও একটি x86 এমুলেটর প্রয়োজন হওয়ার মূল কারণ।
জার্গ ডব্লু মিটাগ

12

মাঝামাঝি ২.6 কার্নেলের মধ্য দিয়ে, ফ্লপি ডিস্কে অনুলিপি করা থাকলে (যেমন এটি কোনও ডিস্কের চিত্র ছিল) x86 কার্নেলটি সরাসরি বুটেবল ছিল।

এটি আসলে লিনাক্স বুট করার মূল উপায় ছিল।

আপনি যদি আজ x86 কার্নেলের শিরোনামটি দেখেন তবে আপনি একটি ত্রুটি বার্তা দেখতে পাবেন যা বলে যে ফ্লপি থেকে বুট করা আর কাজ করে না।


2
অন্যদিকে, কোনও ইউইএফআই ফার্মওয়্যারকে দেওয়া হলে x86 কার্নেলটি সরাসরি বুটযোগ্য। সুতরাং এখনও একটি স্টাব বুটলোডার কার্নেলের সামনে
পাকা

@ গ্রায়েটি: আপনি কি নিশ্চিত যে x x বলতে চাইছেন না?
জোশুয়া

1
@ জোশুয়া: আপনি কী বলতে চাইছেন তা আমি নিশ্চিত নই। EFI আসলে এই অংশটি কোড হিসাবে চালায় না।
মহাকর্ষ

2
@ জোশুয়া কি? এটি 16 ডিস-বিড মোডে "ডিইসি বিপি", "পপ ডিএক্স" (32-বিট মোডে ইবিপি / ইডিএক্স)। তবে এটি কোনওভাবেই কার্যকর করা উচিত নয়; ইএফআই বাইনারিগুলি পিই ফাইল হয় (এটি কোনও বুট সেক্টরে লেখা থাকলে অবশ্যই কোন ব্যাপার না ...)।
স্টিফেন কিট

1
@ জোশুয়া ঠিক আছে, তবে এটি আমার মনে x86 আচরণ অপরিবর্তিত নয় ;-)। (আমি "অপরিজ্ঞাত x86 আচরণ "টিকে ওপকোড হিসাবে মনে করি যার আচরণ সংজ্ঞাযুক্ত নয়, প্ল্যাটফর্মের আচরণ নয়)
স্টিফেন কিট

5

আমি 90 এর দশকের শেষদিকে লিনাক্স দিয়ে শুরু করেছি এবং উল্লিখিত হিসাবে liloএটি ছিল ডিফল্ট। আপনি যদি ডস সিস্টেমে ডুয়াল বুট করতে চান তবে আপনি হিমেমে স্টাড লোড না করে সিডি ড্রাইভার ইত্যাদি লোড না করে খালি বুট করতে এবং ব্যবহার করতে পারেন loadlin। উইন 95 ডুয়েল বুটিংয়ের জন্য, আপনি প্রথমে ডস দিয়ে ড্রাইভটি বুটযোগ্য করতে পারবেন, তারপরে '95 ইনস্টল করুন এবং '95 এর বুট লোডার আপনাকে ডস কার্নেলটি বুট করতে দেয় এবং তারপরে আপনি ব্যবহার করতে পারেন loadlin

এনটি 4 এর সাথে দ্বৈত বুট করার জন্য, কৌতুকটি ছিল /পার্টিশনে LILO লেখা , তারপরে dd(5 dd if=/dev/sda2 of=/path/to/file bs=512 count=1) ব্যবহার করে প্রথম 512 বাইট বন্ধ করে ntldrফেলুন এবং ফলস্বরূপ ফাইলটি যেখানে এটি দেখতে পারা যায় এবং আপনি এটি WinNT এর বুট লোডার থেকে ব্যবহার করতে পারবেন। এটি করার সমস্যাটি হ'ল আপনি যখন আপনার কার্নেলটি আপগ্রেড করেছেন তখন আপনাকে পুনরায় বুট করার আগে সমস্ত পদক্ষেপ পুনরাবৃত্তি করতে হবে, অন্যথায় আপনার লিনাক্স সিস্টেমে ফিরে আসতে সমস্যা হবে। একই প্রক্রিয়া উইন 2 কে নিয়ে কাজ করেছে।

LILO সহ, কার্নেলটি যে কোনও সময় আপডেট করা হয়েছিল, আপনাকে LILO আপডেট করতে হবে।

loadlinকার্নেলটি আপডেট হওয়ার সাথে সাথে আপনাকে কার্নেলটি ডস পার্টিশনে অনুলিপি করতে হবে।

অন্য একটি উত্তর যা অন্য জবাবগুলিতে ইঙ্গিতযুক্ত তা হ'ল বিটি ব্যবহার করে সরাসরি dd if=/path/to/vmlinuz of=/dev/fd0কার্পলটি ফ্লপিতে লিখতে হবে তবে মূল যন্ত্রটি সংকলনের সময় বা rdevইউটিলিটি ব্যবহার করে কার্নেলের মধ্যে সঠিকভাবে সেট করতে হয়েছিল ।

যখন GRUBপ্রায় এসে অনেক আছে আনন্দ হয় কারণ আপনি আর জন্য LILO, বা আপডেট Lilo এবং বুট তথ্য বন্ধ পুনরায় ফালা, ইত্যাদি কোন আপডেট করতে আরো অনেক কিছু আপনার লিনাক্স সিস্টেমের বাদ পেয়ে মনে রাখা কারণ আপনার বুট লোডার আপডেট করতে ভুলে গেছি ছিল তথ্য ...


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

@ সার্জি কলোডিএজনি হ্যাঁ, এবং ইন্টারনেটে তেমন কোনও তথ্যের পরিমাণ নেই, বা এটির সন্ধানের জন্য দুর্দান্ত সার্চ ইঞ্জিনগুলি নেই। বেশ কয়েকটি একক ফ্লপি ডিস্ক রেসকিউ ডিস্ট্রো রয়েছে যার মধ্যে লিলো ইত্যাদি বুট করার ও ঠিক করার জন্য পর্যাপ্ত লিনাক্স ছিল etc. ইত্যাদি We আমরা দীর্ঘ পথ পেরিয়ে এসেছি!
ivanivan

চলমান make installচালানো হবে /sbin/lilo, তাই আপনি সত্যিই হাতে আপডেট কিছু করতে হয়নি (এবং এখনও, মামলা হতে পারে যদি আপনি আছে liloইনস্টল করা)। এটি মতামতের বিষয় হতে পারে, তবে আমি grubতার বিপরীতে খুব বেশি আনন্দ করে মনে করি না । এবং lilo(অন্তত এর 1999 সংস্করণ) ডুয়াল বুট উইন্ডো ঠিক জরিমানা করতে পারে, প্রয়োজন নেই loadlin
মশবী

0

এবং LILO এবং GRUB এর আগে আপনাকে কমান্ড লাইন থেকে কিছু ধরণের কাস্টম বুটলোডার ইউটিলিটি দিয়ে এটি চালু করতে হয়েছিল।

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

অ্যামিগা 600 এ লিনাক্স চালু করতে কমান্ড লাইন থেকে কেউ অ্যামিবুট ব্যবহার করছেন এমন একটি ভিডিও এখানে । তাঁর স্টার্টইনস্টল স্ক্রিপ্টটি অ্যামিবুটকে কার্যকর হতে পারে। আপনি অ্যামিবুট কনফিগার মেমরিটি দেখতে পারেন, পছন্দসই লোডের ঠিকানাটি বের করতে পারেন এবং 0:55-র দিকে কার্নেলের কাছে প্যারামিটারগুলি সরবরাহ করতে পারেন।

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