কোন ড্রাইভ গ্রাব 2 আসলে একটি এমবিআর ইনস্টল করেছে তা কীভাবে পরীক্ষা করবেন?


17

আমি একটি ডেবিয়ান / স্কুইজ সিস্টেমে আছি (একটি ইতিহাস অন্তত উডির কাছে ফিরে আসার সাথে) যা স্কুইজ আপগ্রেডের অংশ হিসাবে গ্রুব 2 তে আপগ্রেড করা হয়েছিল। সব ঠিকঠাক কাজ করে তবে আমি ডিস্ক কনফিগারেশন নিয়ে গোলযোগ করতে চলেছি।

বর্তমানে মেশিনটি RAID1-ed /, / home এবং / boot পার্টিশনগুলির সাথে 2 80 গিগাবাইট ড্রাইভ বন্ধ করে দেয় (একটি RAID1- এড "/ ডেটা" সহ আরও একটি ড্রাইভ এবং একাধিক অদলবদল রয়েছে, যদি কেউ ভাবছে যে অদলবদলটি কোথায় , তবে আমি সেগুলি স্পর্শ করছি না)।

আমি 2 টি ১৩০ জিবি এসএসডি যুক্ত করেছি, সেগুলি ৮০ জিবি ড্রাইভের পার্টিশনগুলির হিসাবে কমপক্ষে বৃহত্তর হিসাবে বিভক্ত করেছি এবং নতুন এসএসডি ড্রাইভগুলিতে আরএআইডি 1 যুক্ত করে সিঙ্কের জন্য অপেক্ষা করে, আবার পুরানো অপসারণের মাধ্যমে পরিবর্তন করতে চাইছি অ্যারেগুলি থেকে ড্রাইভ করুন যাতে কেবল এসএসডি বাকী থাকে (এবং তারপরে ফাইল সিস্টেমগুলি বর্ধমান হয়)। তবে এমডিএডিএম / এক্সট্রি র্যাংলিং এই প্রশ্নটি সম্পর্কে যা তা নয় ...

এটি আমাকে 2 অপ্রচলিত 80 জিবি (আইডিই) ড্রাইভগুলি ছেড়ে দেবে যা আমি মেশিন থেকে সরাতে চাই। আমার উদ্বেগ হ'ল এগুলি অপসারণ করা তাদের সাথে কিছু গুরুত্বপূর্ণ এমবিআর নেবে। আমি কীভাবে নিশ্চিত করব যে মেশিনটি বুটেবল থাকবে?

আরো নির্দিষ্টভাবে:

  • আমি যখন স্কিইজ আপগ্রেড করলাম তখন আমার মনে আছে যে কিছু ড্রাইভ গ্রুব 2 ইনস্টল করা উচিত সে সম্পর্কে উপস্থাপন করা হয়েছিল (আমি ডিফল্ট হয়ে গেলাম, যা সমস্ত ড্রাইভ ছিল)। এসএসডিগুলি তখন মেশিনে ছিল না; এসএসডি এমবিআরগুলি ইনস্টল করতে গ্রাব পেতে আমি কীভাবে এটি পুনরায় চালু করতে পারি? (আমি অনুমান করছি এটি কিছু প্যাকেজের একটি dpkg- পুনরায় কনফিগার করা)।

  • কোন ড্রাইভ গ্রাব 2 মনে করে যে এটি ইনস্টল রয়েছে? আজকের দিনে / বুট / গ্রাব / এর অধীনে প্রায় 200 টি ফাইল রয়েছে! কোথায় তাকান? এছাড়াও, এটি কিছুটা অদ্ভুত বলে মনে হচ্ছে যে /boot/grub/device.map.auto কেবলমাত্র 3 টি ড্রাইভ তালিকাভুক্ত করেছে (80GB এর মধ্যে 2 টি কিন্তু অন্য ড্রাইভ জুটির মধ্যে একটি, এবং এসএসডিগুলির কোনওটি নয়)। আমি কীভাবে এটি আপডেট করব? ( আপডেট: এটি একটি লাল রঙের হেরিং ছিল; ডিভাইস.ম্যাপ.আউটো বহু বছর আগে থেকেই একটি প্রতীক বলে মনে হয়েছে; ডিভাইস.ম্যাপ গ্রাব-এমকেডেভাইসেম্যাপের একটি আপডেটে বুদ্ধিমান মনে হয়েছিল Think GRUB দ্বারা একটি তন্দ্রাচ্ছন্ন করে দেখা ডিভাইসের ক্রমটি পুনঃক্রম করুন।

ফলাফল: সব ঠিকঠাক হয়ে গেছে এবং আমার কাছে এখন বাক্সের বাইরে দুটি পুরনো 80 জিবি আইডিই ড্রাইভ রয়েছে এবং সমস্ত ফাইল-সিস্টেমের সাথে একটি নতুন স্মার্ট এবং দ্রুত বুটিং সিস্টেম চালিত হয়েছে তাদের নতুন পার্টিশনের আকারের আকার পরিবর্তন করে। অন্যান্য "গ্রুব ধাঁধাটির হারিয়ে যাওয়া অংশ" আমি সন্ধান করছিলাম dpkg-reconfigure grub-pcযা ডিস্কগুলির জন্য একটি এমবিআর বজায় রাখার অনুরোধ জানায়। হারুনের উত্তর আমাকে আশ্বস্ত করার জন্য সবচেয়ে বেশি করেছে যে এটি প্রত্যাশার মতো কাজ করছে, সুতরাং সেই উত্তরটি মেনে নিল।

উত্তর:


17

এমবিআর 512 বাইট, তাই গ্রুব রয়েছে কিনা তাড়াতাড়ি দেখার জন্য ...

dd if=/dev/sda bs=512 count=1 | xxd

এটি এমবিআর ডাম্প করে, আমি আমার "GRUB" বাইট 0x17F = 383 এ দেখি।

dd if=/dev/sda bs=1 count=4 skip=383

যখন আমি এটি করি, এটি আউটপুট GRUBদ্বারা ' ' প্রিন্ট করে dd

আপনি এটি কোনও ব্যাশ forলুপে বা আরও কিছু ড্রাইভ জুড়ে যাওয়ার জন্য মোড়ানো করতে পারেন । আপনি যদি ম্যানুয়ালি এটি করতে না চান


4
কেবল সামান্য সংযোজন - কারণ GRUB এর অবস্থানটি সংস্করণ থেকে সংস্করণে পরিবর্তিত হতে পারে, তাই কেউ ব্যবহার করতে পারে dd if=/dev/sda bs=1 count=512 | grep -aob GRUB। এটি বুট সেক্টরের মধ্যে চিহ্নিতকারীর অবস্থান ফিরিয়ে দেবে।
আলেসান্দ্রো শান্তিনি 15

16

বুট প্রক্রিয়াটিতে বেশ কয়েকটি পদক্ষেপ রয়েছে (আমি একটি traditionalতিহ্যবাহী পিসি বিআইওএস বর্ণনা করছি):

  1. বিআইওএস বুট ডিস্কের প্রথম সেক্টর (512 বাইট) পড়ে।
  2. এই প্রথম সেক্টরের কোডটি বিআইওএস ইন্টারফেসের মাধ্যমে একটি নির্দিষ্ট স্থানে আরও ডেটা এবং কোড পড়ে। এই BIOS ইন্টারফেসটি কেবলমাত্র দুটি হার্ড ডিস্ক প্রকাশ করে: ডিস্ক 0 হ'ল যেখানেই প্রথম সেক্টরটি পড়া হয়েছিল এবং ডিস্ক 1 হ'ল অন্য ডিস্ক যা আপনার দু'টির বেশি থাকলে সহজেই অনুমানযোগ্য নয়। বুট সেক্টরে একটি বাইট রয়েছে যা নির্দেশ করে যে হার্ডডিস্কটিতে আরও ডেটা চালু রয়েছে; এটি ডিস্কযুক্ত /boot/grub
  3. পূর্ববর্তী পর্যায়ে লোড করা কোডটি পার্টিশন, ফাইল সিস্টেম এবং অন্যান্য উচ্চ-স্তরের ধারণা বোঝে। ডেটাতে একটি ফাইল সিস্টেমের অবস্থান (যেমন একটি স্ট্রিং (hd0)/boot/grub) অন্তর্ভুক্ত থাকে যা grub.cfgগ্রুব মডিউলগুলি কোথায় সন্ধান করতে হবে এবং আরও নির্ধারণ করে ।
  4. grub.cfg কার্যকর করা হয়, সাধারণত একটি মেনু দেখাতে এবং একটি ওএস বুট করার জন্য।

বুট সেক্টরটি grub-setupসাধারণত উত্সাহিত করে উত্পন্ন হয় grub-install। বুট সেক্টর যাই হোক না কেন ডিস্ক আপনার উপর (লিনাক্সের সিনট্যাক্স মধ্যে) নিদিষ্ট উপর শেষ পর্যন্ত grub-installবা grub-setupকমান্ড লাইন। আপনি না পরীক্ষা করতে আপনি চলমান দ্বারা একটি ডিস্কে একটি বুট সেক্টর আছে file -s /dev/sda। যেহেতু আপনি একটি নতুন ডিস্ক যুক্ত করছেন এবং এটি থেকে বুট করতে চান তাই আপনাকে নতুন ডিস্কে চালানো দরকার grub-installgrub-installএকই ডিস্কে একাধিকবার চালানো নিরীহ।

কঠিন অংশটি উপরের 2 ধাপে রয়েছে। যদি সম্ভব হয় তবে গ্রুবকে (অর্থাত্ /boot/grubডিরেক্টরিটি) বিআইওএস বুট ডিস্কে রাখুন (বা অন্য দিক থেকে এটি পৌঁছানোর জন্য, আপনার বায়োসকে ডিস্কটি যেখানে /boot/grubরয়েছে সেখান থেকে বুট করতে বলুন )। এখানেই device.mapখেলতে আসে। এটি যে ডিস্কে ম্যাপযুক্ত (hd0)রয়েছে তা নিশ্চিত করুন /boot/grub, তারপরে grub-installসেই ডিস্কটিতে চালান ।

আপনার দুটি ডিস্ক যদি কোনও সফ্টওয়্যার RAID-1 কনফিগারেশনে থাকে তবে আপনার কাছে অভিন্ন বুট সেক্টর থাকবে। এটি আকাঙ্ক্ষিত আচরণ: বিআইওএস বুট ডিস্কের একটি ডিস্ক ব্যর্থ হলে, অন্যটি থেকে বুট করা ঠিক কাজ করবে (যেহেতু তাদের একই প্রাসঙ্গিক স্থানে একই বাইট রয়েছে)। আপনি যদি কেবল কয়েকটি পার্টিশন মিরর করে থাকেন তবে বুট সেক্টর ইনস্টল করা কেবল ডিস্কগুলির মধ্যে একটিকে প্রভাবিত করে। দ্বিতীয় মিররযুক্ত অনুলিপিযুক্ত ডিস্কের সাথে যুক্ত grub-installহওয়ার পরে আপনার আবার দ্বিতীয় ডিস্কে চালানো উচিত ।device.map(hd0)/boot/grub

পদক্ষেপ 3 বেশ জটিল, তবে সাধারণত বাক্সের বাইরে কাজ করে। চতুর্থ ধাপে, গ্রুব ইউইউডি দ্বারা ফাইল সিস্টেমগুলি সনাক্ত করে বা নামকৃত ফাইলগুলি সন্ধান করে, তাই ডিস্কগুলি নির্দিষ্ট করার বিভিন্ন উপায় সম্পর্কে আপনাকে আর চিন্তার দরকার নেই।

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