আমি কীভাবে GRUB EFI পার্টিশনে পুনরায় ইনস্টল করতে পারি?


32

আমি GRUB 2 টি পুনরায় ইনস্টল করতে চাই এবং আমি এই নির্দেশাবলী পেয়েছি: উবুন্টু লাইভ সিডি বা ইউএসবি দিয়ে গ্রুব 2 কীভাবে মেরামত, পুনরুদ্ধার করবেন বা পুনরায় ইনস্টল করবেন । আমার ক্ষেত্রে, বুট লোডার EFI পার্টিশনে ইনস্টল করা আছে। যদি আমি এই নির্দেশিকায় প্রদত্ত কমান্ডগুলি ব্যবহার করি, GRUB কি স্বয়ংক্রিয়ভাবে EFI পার্টিশনে পুনরায় ইনস্টল হবে, বা এটি উবুন্টু ইনস্টল করা মূল বিভাজনে ইনস্টল করা হবে? স্পষ্টতই, আমি চাই না যে এটি ঘটুক।


3
প্রদত্ত লিঙ্কের নির্দেশাবলী কেবলমাত্র লিগ্যাসি BIOS মোডে GRUB পুনরায় ইনস্টল করার জন্য বৈধ, এটি আপনার ক্ষেত্রে কাজ করবে না। EFI BIOS মোডে একটি উবুন্টু ইনস্টলেশন পুনরায় ইনস্টল করতে, দয়া করে আমার উত্তরটি পড়ুন। :)
cl-নেটবক্স

আপনাকে অনেক ধন্যবাদ! :) আমার কিছু প্রশ্ন আছে: আমি যখন আমার ইউইএফআই সিস্টেমে উবুন্টু ইনস্টল করেছি, তখন আমি বায়োজে দুটি এন্ট্রি পেয়েছি। ইউনিক ওবুন্টু প্রবেশের কোনও উপায় আছে কি? এমবিআর পার্টিশন টেবিলের ক্ষেত্রে (তাই কোনও ইএফআই বা অন্য কোনও বুট পার্টিশন নেই), আমি কি একই আদেশগুলি বাদে ব্যবহার করতে পারি: সুডো মাউন্ট / দেব / এসডি ** / এমএনটি / বুট / এফআই?
জেনেরোসো

আপনি দ্বিতীয় উবুন্টু প্রবেশটি এটি দিয়ে সরাতে চেষ্টা করতে পারেন: sudo efibootmgr (সমস্ত এন্ট্রি তালিকাভুক্ত) | sudo efi bootmgr -b <entry-number> -B .... এবং উত্তরাধিকারী BIOS মোডে GRUB পুনরায় ইনস্টল করতে এই কমান্ডগুলি প্রয়োগ করুন: sudo মাউন্ট / দেব / এসডি ** / এমএনটি | sudo গ্রাব-ইনস্টল - বুট-ডিরেক্টরি = / এমএনটি / বুট / দেব / এসডি * (* = ডিস্ক | ** = সিস্টেম পার্টিশন)! :)
cl-নেটবক্স

পারফেক্ট :) যাইহোক, একটি ইউইএফআই সিস্টেম এবং সুতরাং একটি ইএফআই পার্টিশন থাকা, যখন আমি একটি নতুন উইন্ডোজ ইনস্টলেশন করি তখন গ্রাব ওভাররাইডেন এড়ানো কোনও উপায় আছে?
জেনেরোসো

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

উত্তর:


54

EFI মোডে আপনার উবুন্টু ইনস্টলেশনটিতে GRUB বুট লোডারটি পুনরায় ইনস্টল করুন ...

উবুন্টু ইনস্টলেশন মাধ্যম থেকে বুট করুন এবং 'ইনস্টল না করে উবুন্টু চেষ্টা করুন' নির্বাচন করুন।
(EFI মোডে আপনার ইনস্টল মিডিয়াম বুট করুন, সামনে UEFI সহ উবুন্টু এন্ট্রি নির্বাচন করুন))

একবার আপনি লাইভ ডেস্কটপে চলে গেলে একটি টার্মিনাল খুলুন এবং এই আদেশগুলি কার্যকর করুন:

sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub  

দ্রষ্টব্য: sdX= ডিস্ক | sdXX= এফি বিভাজন | sdXXX= সিস্টেম বিভাজন

জিপিআর্টেড পার্টিশন সনাক্ত করতে, ইনস্টলেশনটি মাধ্যমের মধ্যে সরঞ্জামটি অন্তর্ভুক্ত করা হয়েছে।
কমান্ডগুলি চালনার পরে GRUB পৃথক EFI পার্টিশনে ইনস্টল করা হবে।


+1 তবে আপনি কেন উবুন্টু থেকে ইনস্টল করবেন না?

1
@ মারকইসরি: আপনাকে অনেক ধন্যবাদ! :) কারণ জিনিসগুলি দূষিত না করে GRUB বুট লোডারটি পুনরায় ইনস্টল করা সবচেয়ে নিরাপদ উপায় এবং যদি সিস্টেমটি সঠিকভাবে বুট না করে ... তবে এটি করার একমাত্র উপায়! :)
cl-নেটবক্স

1
এই সমাধানে, 'গ্রাব-ইনস্টল' কীভাবে জানতে পারে যে এটি EFI মোডে ইনস্টল করার কথা?
ব্যবহারকারী334639

3
গুরুত্বপূর্ণ বিষয়টি হ'ল সঠিকভাবে বুট-মোডে ইনস্টলেশন মিডিয়াটি বুট করা, যদি আমরা পুনরায় ইনস্টল grub-efiকরতে চাই তবে আমাদের ইউইএফআই-মোডে বুট করতে হবে, যদি আমরা পুনরায় ইনস্টল করতে চান তবে আমাদের grub-pcউত্তরাধিকার-মোডে বুট করতে হবে।
mook765

1
এটি আমার জন্য একটি পরিবর্তনের ব্যতীত কাজ করেছিল: আমি করেছি grub-install /dev/sdXX, অর্থাত্ ডিস্কটি নয়, তবে ইবিআই পার্টিশনটি গ্রাব ইনস্টল করার জন্য ব্যবহৃত হয়েছিল এবং এটি কাজ করে।
হাঁস ডডজার্স 21

3

এটি আমার জন্য একমাত্র উপায়: (সিস্টেম: sdb8, বুট: sdb6, efi: sdb2)

sudo mount /dev/sdb8 /mnt 
sudo mount /dev/sdb6 /mnt/boot 
sudo mount /dev/sdb2 /mnt/boot/efi

sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

grub-install --target=x86_64-efi /dev/sdb

grub-install --recheck /dev/sdb

exit &&
sudo umount /mnt/sys &&
sudo umount /mnt/proc &&
sudo umount /mnt/dev/pts &&
sudo umount /mnt/dev &&
sudo umount /mnt

কি করে --recheck? ম্যানুয়াল বলে delete device map if it already exists?
মিঃ ক্যালভিন

আমি যদি বুট-এন্ট্রিটিকে অন্য কোনও ডিফল্টর চেয়ে আলাদা বলি, যেমন --bootloader-id=Ubuntu_02বুট ব্যর্থ হয়। এটি কেবল গ্রাব কনসোলে বুট হয় ... কোনও সমাধান?
মিঃ ক্যালভিন

হ্যাঁ। এটা মনে grub-install --recheckহয় প্রয়োজন। এটি আমার অ কর্মক্ষম ইউএসবি এইচডিডি ইএফআই স্থির করেছে।
solsTiCe

2

নির্দেশাবলীর জন্য @ ক্লিপ নেটবক্সকে ধন্যবাদ!

আমি আপগ্রেড করার পরে (লিনাক্স মিন্ট 18.2 সোনায় 18.3 সিলভিয়া) আমার সিস্টেমটি বুট হবে না তাই আমি উপরের নির্দেশগুলি অনুসরণ করেছিলাম তবে এখনও কোনও সাফল্য পাইনি। আমি লক্ষ্য করেছি যে আমার মেশিনটির পৃথক পার্টিশনে / বুট রয়েছে (সম্ভবত আমি এলভিএম ব্যবহার করছি) তাই আমার সামান্য পরিবর্তিত প্রক্রিয়াটি ছিল:

sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXY /mnt/boot
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub 

দ্রষ্টব্য: sdX = ডিস্ক | sdXX = efi পার্টিশন | sdXY = বুট পার্টিশন | sdXXX = সিস্টেম পার্টিশন


আমার একটি চলমান উবুন্টু বায়োনিক সিস্টেম ছিল যার উপর দিয়ে আমি ঘটনাক্রমে rm -Rf / boot / efi করেছি! আমার সিস্টেমটি এখনও চলমান ছিল, তাই আমি শেষ দুটি আদেশ (গ্রাব-ইনস্টল / ডিভ / ম্যাপার / উবুন্টু - ভিজি-রুট এবং আপডেট-গ্রুব) ব্যবহার করার চেষ্টা করেছি। পুনরায় বুট করা হয়েছে এবং সমস্ত কিছুই নিখুঁতভাবে কাজ করে। ভাবি এবং ধন্যবাদ :)
রোল ভ্যান ডি পার

2

এছাড়াও, পুনরুদ্ধার করার জন্য লাইভ সিডি থেকে বুট করার পরে এটি ঘটতে পারে যে আপনি গ্রাব-এফি-এমডি 64-বিন প্যাকেজ এবং তারপরে লাইন হারিয়েছেন might

"grub-install --target=x86_64-efi /dev/sdb" 

ত্রুটি বার্তায় ব্যর্থ: "গ্রাব-ইনস্টল: ত্রুটি: /usr/lib/grub/x86_64-efi/modinfo.sh বিদ্যমান নেই। দয়া করে - তারাট বা - ডিরেক্টরি নির্দেশ করুন"

এই ক্ষেত্রে chroot এর বাইরে চালান

sudo apt get grub-efi-amd64-bin

এবং তারপরে ক্রুট মাউন্টগুলিতে / usr / lib / grub / x86_64-efi যোগ করুন।

BTW "/ dev / sdb" পরম অপ্রচলিত এবং এড়ানো হচ্ছে ignored


0

সিআই-নেটবক্সের উত্তর ছাড়াও।
যদি আপনার পেনড্রাইভ ওএস সংস্করণটি ডিস্কে ইনস্টল করা একটির সাথে মেলে না, গ্রাব-ইনস্টলে সঠিক গ্রাব ইনস্টলেশন সনাক্ত করতে সমস্যা হতে পারে:

$ sudo chroot /mnt
# grub-install /dev/sdX
grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. 
Please specify --target or --directory.

ব্যবহার করার জন্য ম্যানুয়ালি ইনস্টলেশন সনাক্ত করার চেষ্টা করুন

# ls /usr/lib/grub/
grub-mkconfig_lib  x86_64-efi  x86_64-efi-signed

তারপরে গ্রাব-ইনস্টল পুনরায় চালু করুন:

# grub-install --target=x86_64-efi /dev/sdX 
Installing for x86_64-efi platform.
Installation finished. No error reported.

0

আপনি যদি EFI পার্টিশনটি হারাতে পারেন তবে এটি ফিরে পাওয়া সহজ easy আপনি ব্যবহার করতে পারেন fdiskবা partedটাইপ সঙ্গে একটি নতুন GPT পার্টিশন তৈরি করতে "আপনি EFI পার্টিশন (1)" এবং বিন্যাস সঙ্গে

sudo mkfs.msdos /dev/sdX

তারপরে এটি মাউন্ট করুন এবং আপনি রান অনুসরণ করতে পারেন:

sudo grub-install /dev/sdX

অন্যান্য সমাধান হিসাবে।


0

সুতরাং আমার অনুমান যে সমস্যার কারণ হ'ল উবুন্টু ইনস্টলেশন ffab যদি ইফি পার্টিশনটি মাউন্ট করে না। এবং আপডেট গ্রাব। আপডেটে।

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