উবুন্টু সার্ভার, জিপিটি পার্টিশন টেবিল, এমডিএডিএম, গ্রাব বুট ব্যর্থ


9

বেসিক ওয়ার্কিং সিস্টেমের বিশদ:

আমি একটি সার্ভার ইনস্টল করতে উবুন্টু 12.04 সার্ভার সিডি ব্যবহার করেছি।

আমার 4 টি ডিস্ক আছে সমস্ত ডিস্কে আমি নিম্নলিখিতটি করলাম, এই হাওটির মতো :

  • একটি 2 জিবি অদলবদল তৈরি করেছে created
  • একটি 256 গিগাবাইট / বুট পার্টিশন তৈরি করেছে
  • একটি 64 গিগাবাইট RAID10 পার্টিশন তৈরি করেছে (মূলের জন্য)
  • বাকি স্থানটি নিয়ে একটি বড় RAID10 পার্টিশন তৈরি করেছে

আমি বুটটি এক্সটোর 3 হিসাবে ফর্ম্যাট করেছি। আমি মূল এবং বড় পার্টিশনগুলিতে RAID10 সেট আপ করেছি। আমি রুটটি এক এক্স 4 ফর্ম্যাট করেছি। আমি বড়টির উপর একটি লজিকাল ভলিউম তৈরি করেছি এবং এটি ext4 ফর্ম্যাট করেছি।

ফলস্বরূপ সিস্টেমটি সূক্ষ্মভাবে কাজ করে এবং বুটগুলি জরিমানা করে।

সমস্যার বিশদ:

তারপরে আমি সিদ্ধান্ত নিয়েছি একটি ব্যর্থতার প্রক্রিয়াটি নথিভুক্ত করব। প্রথম পদক্ষেপ হিসাবে, আমি স্থির করে নিলাম পুনরায় ইনস্টল করব।

# grub-install /dev/sda
warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
error: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
# grub-install /dev/sdb
warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
error: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..

সুতরাং দেখে মনে হচ্ছে এটি ব্যর্থ হয়েছে, তবে মনে হচ্ছে এটি হাল ছেড়ে দিয়েছে এবং কোনও পরিবর্তন হয়নি। তাই আমি রিবুট করলাম। বুট ব্যর্থ হয়েছে। এটি কেবল একটি কালো পর্দার সাথে ঝলকানো প্রায় 4 টি লাইন নীচে জ্বলজ্বল কার্সার দিয়ে ঝুলছে। আমি যদি "শিফট" চেপে ধরে বুট করি তবে আমি কার্সারের বাম দিকে "GRUB" শব্দটি পেয়েছি, তবে কোনও ইন্টারেক্টিভ প্রম্পট নেই।

এই মুহুর্তে, আমি এই প্রতিবেদনটি তৈরি করতে বুট-মেরামত-ডিস্ক ব্যবহার করেছি : http://paste.ubuntu.com/966531/

উপরের প্রতিবেদনে নোট করুন, এতে বলা হয়েছে যে বুটলোডার কোর.আইএমগির জন্য সঠিক ক্ষেত্রটির দিকে ইঙ্গিত করে না। (এসডিএ হ'ল ভার্চুয়াল সিডি; এসডিবি হ'ল বুট ডিস্ক; এসডিসি হ'ল এসডিবি'র একটি আয়না, তবে বুট মিরর করা হয় না, কেবল একটি পৃথক সম্পর্কযুক্ত পার্টিশন রয়েছে এবং ext3 ফর্ম্যাট করা আছে; এসডিডি এবং এসডিএ বুটের জন্য স্থান রয়েছে তবে এটি বিন্যাসিত নয়)

তারপরে আমি উবুন্টু সার্ভার সিডি থেকে বুট করেছি, উদ্ধার ব্যবস্থা শুরু করেছি, এবং নিম্নলিখিত কমান্ডগুলি জারি করেছি, যা ত্রুটি ছাড়াই সম্পন্ন হয়েছে (যেখানে এসডিএ ভার্চুয়াল সিডি, এবং বি, সি, ডি, ই এবং ডিস্কগুলি এ, বি, সি ছিল , পূর্ববর্তী গ্রাব কমান্ডে d):

# parted /dev/sdb set 2 bios_grub on
# parted /dev/sdc set 2 bios_grub on
# grub-install /dev/sdb
# grub-install /dev/sdc

এই মুহুর্তে, আমি এই প্রতিবেদনটি তৈরি করতে বুট-মেরামত-ডিস্ক ব্যবহার করেছি : http://paste.ubuntu.com/966561/

উল্লেখ্য যে উপরের প্রতিবেদনে, কোর.আইএমজি সম্পর্কে সমস্যাটি চলে গেছে। এটি সঠিক খাতটির দিকে ইঙ্গিত করে বলে মনে হচ্ছে।

এখন যদি আমি বুট করার চেষ্টা করি তবে আমি একটি গ্রাব প্রম্পট পাই। যদি আমি "সেট" চালনা করি তবে আমি দেখতে পাচ্ছি যে মূলটি পাওয়া গেছে এবং সেট হয়ে গেছে। আমি যদি "ls /" চালনা করি তবে আমি ভিএমলিনুজ কার্নেল ফাইল সহ অভিযান ভলিউম থেকে আমার মূল ডিরেক্টরিটি দেখতে পাচ্ছি। আমি যদি "ls / vmlinuz" টাইপ করি তবে এটিতে "ত্রুটি: ফাইল পাওয়া যায় নি।" এটি একই ত্রুটিটি বলে যদি আমি কার্নেলটি লোড করার চেষ্টা করতে "লিনাক্স" কমান্ডটি ব্যবহার করি। আমি যদি "ls -l /" ব্যবহার করি তবে vmlinuz ফাইলটি তালিকাভুক্ত নয়।

আপনি অনুসরণ করতে চান ক্ষেত্রে অত্যধিক ভার্জোজ বিশদ:

আমি লক্ষ্য করেছি যে কোনও / বুট / গ্রাব / গ্রাব.সি.জি.জি নেই, তাই আমি দৌড়ে গেলাম

# grub-mkconfig -o /boot/grub/grub.cfg

তবে সমস্যা থেকেই যায়।

যদি আমি "gptsync" সরঞ্জামটি ব্যবহার করি তবে এই আচরণে কোনও পরিবর্তন হবে না।

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

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

বুট-মেরামত-ডিস্কে বুট করার সময় এখানে বিভাজনের আউটপুট দেওয়া হয়েছে (যেখানে এখানে এসডিবি হ'ল প্রথম হার্ড ডিস্ক, ডিস্ক থেকে বুট করার সময় এসডিএ এবং ২ য় পেস্ট লিঙ্কে "বুটস" পরিবর্তন "বায়োস_গ্রাব") হয়:

Model: ATA Hitachi HUA72303 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name   Flags
1      17.4kB  2000MB  2000MB  linux-swap(v1)  swap1
2      2000MB  2256MB  256MB   ext3            boot1  boot (this says bios_grub in 2nd link)
3      2256MB  66.3GB  64.0GB                  root1  raid
4      66.3GB  3001GB  2934GB                  data1  raid

তুলনা করার জন্য এখানে একটি সম্পর্কযুক্ত সুপার পুরাতন ভার্চুয়াল মেশিনটি রয়েছে ( বুট-মেরামত-ডিস্কের সাথে অপরিচিত কারও জন্য ): http://paste.ubuntu.com/966799/

উপরের গ্রাব-এমকনফিগ চালানোর পরে এবং "বায়োস_গ্রুব" কে "বুট" এ সেট করার পরে সমস্যা সিস্টেমের সর্বশেষতম পেস্টটি এখানে রয়েছে। http://paste.ubuntu.com/966808/

দুটি তুলনা করা, এটি আকর্ষণীয় দেখায়:

sdb2: __________________________________________________________________________

File system:       
Boot sector type:  Grub2's core.img
Boot sector info: 
Mounting failed:   mount: unknown filesystem type ''

md/bcserver8:0: ________________________________________________________________

File system:       ext4
Boot sector type:  -
Boot sector info: 
Operating System:  Ubuntu 12.04 LTS
Boot files:        /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img

দেখে মনে হচ্ছে অভিযানের বুট ফাইল রয়েছে এবং এসডিবি 2 ফর্ম্যাট নেই। (এটি সত্ত্বেও, গ্রাব-ইনস্টল চালানোর আগে সিস্টেমটি বুট হয়ে গেছে)। রেসকিউ সিডি থেকে, "মাউন্ট -t ext3 / dev / sdb2 / বুট" ব্যর্থ হয়। তবে এটি উপলব্ধি করে যে এটি জিনিসগুলিকে বিভ্রান্ত করবে, যেহেতু গ্রাব বিভাজন 2 স্পষ্টভাবে ব্যবহার করে (পার্ট কমান্ডের 2 টি যা bios_grub সেট করে)।

সুতরাং আমি এরকম কিছু করেছি:

# mkfs.ext3 -L boot1 /dev/sdb2
# mv boot boot_on_root
# mkdir boot
# mount /dev/sdb2 boot
# rsync -avHP boot_on_root/ boot/
# parted /dev/sdb set 2 bios_grub on
# parted /dev/sdc set 2 bios_grub on
# grub-install /dev/sdb
# grub-install /dev/sdc

তারপরে পুনরায় বুট করা হয়েছে এবং আমার আবার কালো পর্দা রয়েছে, প্রম্পট নেই। http://paste.ubuntu.com/966848/

সুতরাং এই মুহুর্তে, আমার অনুমান যে যখন bios_grub সেট করা থাকে, তখন গ্রুব এমবিআর ইনস্টল করে না, এবং এক্সট 3-তে এক্স 3 ফাইল সিস্টেমে ইনস্টল করে না, পার্টিশনে নিজেই, যেন এটি ইএফআই ... যা স্পষ্টতই জগাখিচুড়ি করবে সেখানে ext3 ফাইল সিস্টেম আপ করুন। ইএফআই সম্পর্কে আমার সংক্ষিপ্ত পাঠ থেকে, এটি ইএফআইর মতো অনুভূত হয়েছিল যে প্রথম পার্টিশনটি বুট, তবে আমার ক্ষেত্রে প্রথমটি অদলবদল হয়, এবং তারপরে এটি অতুলনীয় কিছু না করে ফ্যাট হওয়া উচিত ... সুতরাং যেহেতু এটি সামান্য / না করে তোলে ইন্দ্রিয়, আমি এখনও একটি ক্লু ছাড়া পুরোপুরি হারিয়েছি। [সম্পাদনা: এখন আমার একটি সূত্র আছে ... আপডেটের জন্য কিছুটা বাদ দিন]

এবং এখন আমি বুট-মেরামত-ডিস্কে মেরামত ক্লিক করলে এটি অন্য কিছু জিজ্ঞাসা করে। গতবার ত্রুটিটি উইন্ডোটির নীচে লুকিয়ে ছিল এবং এটি দেখতে আমাকে অন্যটিকে টেনে নিয়ে যেতে হয়েছিল। এবার মূল উইন্ডোটি গেছে, এবং নতুন উইন্ডোটি বলেছেন:

GPT detected.       You may want to retry after creating a
BIOS-Boot partition (>1Mo, flag). Do you want to continue?

তাই আমি হ্যাঁ ক্লিক করেছি এবং এটি বলেছে এটি সফলভাবে মেরামত করেছে এবং অন্য একটি পেস্ট তৈরি করেছে: http://paste.ubuntu.com/966862/

তবে আমার কাছে এখনও একটি ব্ল্যাক স্ক্রিন রয়েছে যার সাথে একটি ঝলকানো কার্সর রয়েছে।

এখন আমার তত্ত্বটি হ'ল বুটটি একটি ফ্যাটযুক্ত নন-ইএফআই জিনিস দ্বারা ওভাররাইট হয়ে গেছে যা কেবল গ্রাব কোড যা অন্যথায় 0-63 এর আগে সেক্টরে থাকত। আমি ভাগ্যক্রমে এই পৃষ্ঠায় একটি খুব স্পষ্ট বিবৃতিতে ছুটে এসেছি, যা সম্ভবত এই সমস্তটির অর্থ সম্পর্কে আমার উপলব্ধি সম্পন্ন করেছে। এবং তারপরে আমি এটির সন্ধানের পরে, জেরেমি একটি উত্তর পোস্ট করে যা সত্য হলে তা নিশ্চিত করে যে এটি অনুপস্থিত মূল ধারণাটি। http://blog.psych0tik.net/2011/08/grub-embedding-blocklists-and-bios_grub-partitions/

প্রশ্নাবলী:

কি হচ্ছে? বুড়ো বুট করতে ব্যর্থ হবে কেন? কেন এটি "ফাইল পাওয়া যায় নি" বলে?

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

উবুন্টু সিডি ইনস্টলারটি কীভাবে এই সমস্যাটি ছাড়াই এবং বায়ো_গ্রাব সেটিং ছাড়াই এটি ইনস্টল করবেন?

আমি EFI ব্যবহার বিবেচনা করবে। যদি এটি একটি ভাল ধারণা এবং এটি সেট আপ করার একটি মানক উপায় থাকে তবে আমি নতুন জিনিস শেখার জন্য সর্বদা প্রস্তুত থাকি।

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


আপনি কি ভাগ করা থেকে মুদ্রণ আউটপুট যোগ করতে পারেন?
জেরেমি

আপনি দেখতে পাচ্ছেন যে 993 লাইনে 2 টি পেস্ট লিঙ্কগুলিতে, তবে প্রতি অনুরোধ হিসাবে, আমি এটি আমার প্রশ্নের সাথে যুক্ত করব।
পিটার

উত্তর:


8

সমাধানটি হ'ল একটি bios_grub পার্টিশন ব্যবহার করা, যা / বুট পার্টিশনের মতো নয়।

ডিফল্টরূপে bios_grub পার্টিশনটি 1MiB, এবং এটি অবশ্যই bios_grub ফ্ল্যাগ করা উচিত। আমার ডিস্কে আমার প্রথম পার্টিশন। পার্টিশন অনুযায়ী আপনার পার্টিশন 2টি যদি / বুট হয় তবে এটি সঠিক হবে না এবং আপনার আরও 1MiB পার্টিশন করা উচিত।

জিপিটি এবং জিআরউবি 2 এর সাথে সর্বনিম্ন ফাইল সিস্টেমে তিনটি পার্টিশন রয়েছে: বায়ো_গ্রাব, রুট, অদলবদল। (পুরোপুরি নিশ্চিত নয় যে অদলবদলের প্রয়োজন আছে)

গ্রাব কেন "গ্রাব-ইনস্টল" চালানোর পরে বুট করতে ব্যর্থ হয়?

অজানা ... আপনি ভাবেন যে এটি কিছু সংশোধন করবে না যদি এটি স্পষ্টভাবে বলে যে এটি এম্বেড করতে পারে না তাই এটি কাজ করতে পারে না।

কেন এটি "ফাইল পাওয়া যায় নি" বলে?

/ vmlinuz হ'ল একটি সিমিলিংক যা বুট পার্টিশন ব্যবহার করে এবং বুট বিভাজনটি দূষিত। বায়োস_গ্রুব কোডটি এর ext3 কাঠামোর উপরে লেখা ছিল। সম্ভবত এর অর্থ হ'ল / বুট মাউন্ট করা হয়নি, এবং সেখানে উপস্থিত গ্রুব ফাইলগুলি মূল সিস্টেমে ছিল যার মধ্যে কার্নেল নেই contain

গ্রাড কেন এই অংশটি সেট না করে ইনস্টল করতে চায় না আমি পার্টড দিয়ে সেট করেছি

একটি জিপিটি পার্টিশন টেবিলের এমবিআর এর বিপরীতে বুটলোডারের কোনও স্থান নেই। সুতরাং বুট কোড ধরে রাখতে একটি নির্দিষ্ট পার্টিশন তৈরি করতে হবে। "গ্রাব-ইনস্টল" চালানোর আগে, কমান্ডটি সহ এই পার্টিশনটি নির্দিষ্ট করুন:

    parted /dev/sda set 1 bios_grub on

আমি ভেবেছিলাম আমার যা দরকার তা হল একটি পৃথক / বুট। উবুন্টু সিডি ইনস্টলারটি বায়োস_গ্রাব সেটিং ব্যতীত কীভাবে এটি ইনস্টল করে?

এই প্রয়োজনীয়তাটি উবুন্টু ইনস্টলারটির জন্য প্রয়োজনীয় সমস্ত হিসাবে মনে হয় তবে এটি একটি অযৌক্তিক সিস্টেম তৈরি করে যা সহজেই ভেঙে যায়।

GRUB যখন বলে যে "এই জিপিটি পার্টিশন লেবেলের কোনও বিআইওএস বুট পার্টিশন নেই ", এর অর্থ / বুট নয়, বায়োস_গ্রাব পার্টিশন।


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

আপনি উবুন্টু ব্যবহার করছেন? উবুন্টু ইনস্টলারটি বায়োস_গ্রাব পার্টিশনটি ব্যবহার করে সঠিকভাবে ইনস্টল করতে পারে এমন কোন উপায় আছে কি?
পিটার

@ পিটার আমি উবুন্টু ব্যবহার করি এবং আপনি যদি গাইড নির্দেশিত পার্টিশন করেন তবে ইনস্টলারটিকে এটি সঠিকভাবে সেট আপ করা উচিত। আমি জানি যে এটি 11.10 ইনস্টলার দিয়ে আমার জন্য করেছিল।
জেরেমি

আপনাকে অনেক ধন্যবাদ. এই উত্তর। পরবর্তী আমি আরও জটিল সেটআপগুলি চেষ্টা করব (বুটে রেইড এবং এলভিএম) এবং তারপরে আমি বিশদ সহ আপনার উত্তরটি সম্পাদনা করব।
পিটার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.