আমি নীচে BIOS শব্দটি ব্যবহার করছি যখন নতুন UEFI সিস্টেম এবং traditionalতিহ্যবাহী BIOS সিস্টেম উভয়ের জন্য একই মত ধারণাগুলির উল্লেখ করছি, যেহেতু এটি একটি UEFIমুখী প্রশ্ন, GRUB ডকুমেন্টেশন সহ "BIOS" jibes সম্পর্কে আরও ভাল কথা বলছেন , এবং "BIOS / UEFI" খুব চক্রযুক্ত। GRUB (আসলে, GRUB 2 - এটি প্রায়শই অস্পষ্টভাবে ব্যবহৃত হয়) লিনাক্স দ্বারা ইনস্টল করা এবং ডুয়াল বুট উইন্ডোতে ব্যবহৃত বুটলোডার the
প্রথমত, ড্রাইভ অর্ডার এবং বুট অর্ডার সম্পর্কে একটি শব্দ। ড্রাইভ অর্ডার বলতে বোঝায় যে ড্রাইভগুলি মাদারবোর্ডে বাসের সাথে শারীরিকভাবে সংযুক্ত রয়েছে (প্রথম ড্রাইভ, দ্বিতীয় ড্রাইভ ইত্যাদি); এই তথ্যটি বিআইওএস দ্বারা প্রতিবেদন করা হয়েছে। বুট অর্ডারBIOS বুটেবল ড্রাইভের জন্য পরীক্ষা করে সে অনুক্রমকে বোঝায়। এটি অগত্যা ড্রাইভ ক্রমের মতো নয় এবং সাধারণত BIOS সেট-আপ স্ক্রিনের মাধ্যমে কনফিগার করা যায়। ড্রাইভ অর্ডারটি কনফিগার বা বুট অর্ডার দ্বারা প্রভাবিত হওয়া উচিত নয়, যেহেতু এটি করা খুব OS এর বন্ধুত্বপূর্ণ জিনিস হবে (তবে তাত্ত্বিকভাবে একটি অবসেস BIOS পারে)। এছাড়াও, আপনি যদি প্রথম ড্রাইভটি প্লাগ প্লাগ করেন তবে দ্বিতীয় ড্রাইভটি সম্ভবত প্রথম ড্রাইভ হয়ে উঠবে। আমরা বুট লোডারকে কনফিগার করার ক্ষেত্রে ইউআইডিগুলি ব্যবহার করতে যাচ্ছি (যেমন সমসাময়িক লিনাক্স ইনস্টলারগুলিও এটি করে) এর মতো সমস্যাগুলি এড়াতে এবং এড়াতে।
আপনি যা চান তা পাওয়ার সর্বোত্তম উপায় হ'ল ড্রাইভ ক্রমের দিক দিয়ে দ্বিতীয় ড্রাইভে লিনাক্স ইনস্টল করা এবং তারপরে ইউইএফআই সেটআপ ব্যবহার করে বুট ক্রমের শর্তে প্রথমে এটি নির্বাচন করুন । এর একটি অতিরিক্ত সুবিধা হ'ল তারপরে আপনি উইন্ডোজ ড্রাইভ নির্বাচন করতে BIOS / UEFI বুট ক্রমটি ব্যবহার করতে এবং যদি চান তবে বাইপাস গ্রাবটি ব্যবহার করতে পারেন। আমি দ্বিতীয় ড্রাইভে লিনাক্সের প্রস্তাব দেওয়ার কারণ হ'ল GRUB অবশ্যই উইন্ডোজ নেটিভ বুটলোডারকে "চেইনলোড" করতে হবে এবং উইন্ডোজ বুটলোডার সর্বদা ধরে নেয় যে এটি প্রথম ড্রাইভে রয়েছে। এটিকে ছলনা করার একটি উপায় আছে, তবে আপনি যদি অন্যভাবে এটি পছন্দ করেন বা প্রয়োজন করেন।
আশা করি, আপনি কেবল এগিয়ে যেতে এবং একটি লাইভ সিডি বা যা কিছু ব্যবহার করতে পারেন এবং জিইউআই ইনস্টলার ব্যবহার করে এটি সম্পন্ন করতে পারেন। সমস্ত ইনস্টলার সমানভাবে তৈরি করা হয় না, এবং যদি এটি ভুল হয়ে যায় এবং আপনার সমস্যা যেমন থেকে যায়:
আমি প্রথম ডিস্কে লিনাক্স ইনস্টল করেছি এবং এখন আমি উইন্ডো বুট করতে পারি না, বা
আমি দ্বিতীয় ডিস্কে লিনাক্স ইনস্টল করেছি তবে বুটলোডারের জন্য প্রথম ডিস্কটি ব্যবহার করেছি এবং এখন আমি কিছুই বুট করতে পারছি না!
তারপরে পড়তে থাকুন। দ্বিতীয় ক্ষেত্রে, আপনার প্রথমে চেষ্টা করা উচিত এবং দ্বিতীয় ডিস্কে লিনাক্স পুনরায় ইনস্টল করা উচিত এবং এবার নিশ্চিত করুন যে বুটলোডারটি কোথায় গেছে। এটি করার সবচেয়ে সহজ এবং সবচেয়ে বুদ্ধিমান উপায় হ'ল সাময়িকভাবে মেশিন থেকে উইন্ডোজ ড্রাইভটি সরিয়ে ফেলা, যেহেতু আমরা ধরে নিচ্ছি যে ড্রাইভের আদেশ নির্বিশেষে এটিতে কোনও অতিরিক্ত ইনস্টল করা নেই।
একবার আপনি লিনাক্স ইনস্টল হয়ে গেলে এবং এটি নিশ্চিত হয়ে যায় যে এটি বুট করতে পারে, উইন্ডোজ ড্রাইভটি আবার প্লাগ ইন করুন (যদি আপনি এটি সরিয়ে ফেলেছেন - এবং মনে রাখবেন, আমরা আদর্শভাবে এটি ড্রাইভ ক্রমের ক্ষেত্রে প্রথমে চাই এবং দ্বিতীয় ড্রাইভের শর্তে প্রথমে চাই বুট অর্ডার) এবং পরবর্তী পদক্ষেপে এগিয়ে যান।
GRUB কনফিগারেশন অ্যাক্সেস করা হচ্ছে
বুট লিনাক্স, একটি টার্মিনাল খুলুন, এবং
> su root
আপনাকে রুটের পাসওয়ার্ড জিজ্ঞাসা করা হবে। এই বিন্দু থেকে এগিয়ে, আপনি যে টার্মিনাল মধ্যে সুপারইউজার (পরীক্ষা করার জন্য, চেষ্টা whoami
), তাই বোকা কিছু করবেন না। তবে আপনি এখনও জিইআইআই-এর একজন সাধারণ ব্যবহারকারী, এবং যেহেতু আমরা একটি পাঠ্য ফাইল সম্পাদনা করব, আপনি যদি কোনও জিইউআই সম্পাদককে পছন্দ করেন তবে আমাদের সেই ফাইল এবং এটিতে থাকা ডিরেক্টরিটির মালিকানা সাময়িকভাবে পরিবর্তন করতে হবে:
> chown -R yourusername /etc/grub.d/
আপনি যদি "অপারেশন অনুমোদিত নয়" পান তবে আপনি su
সঠিকভাবে করেন নি। যদি আপনি পান তবে আপনি chown: invalid user: ‘yourusername’
শেষ আদেশটি খুব আক্ষরিক অর্থে নিয়েছেন।
আপনি এখন /etc/grub.d
আপনার ফাইল ব্রাউজারে নেভিগেট করতে পারেন এবং ডাকা একটি ফাইলের সন্ধান করতে পারেন 40_custom
। এটিকে ঐটির মত দেখতে হবে:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
যদি আপনি এটি খুঁজে না পান তবে রুট টার্মিনালে নিম্নলিখিত কমান্ডগুলি প্রবেশ করান:
> touch /etc/grub.d/40_custom
> chmod 755 /etc/grub.d/40_custom
> chown yourusername /etc/grub.d/40_custom
এটি আপনার পাঠ্য সম্পাদকটিতে খুলুন, উপরের অংশটি অনুলিপি করুন (ডাব্লু / দিয়ে শুরু #!/bin/sh
করুন) এবং পরবর্তী ধাপে।
একটি উইন্ডোজ বুট বিকল্প যুক্ত করা হচ্ছে
ফাইলটির শেষে পাঠ্য সম্পাদকের মাধ্যমে এটি অনুলিপি করুন:
menuentry "MS Windows" {
insmod part_gpt
insmod search_fs_uuid
insmod ntfs
insmod chain
}
এটি GRUB কে মডিউলগুলির তালিকা তৈরি ntfs
করতে হবে ( অতিরিক্ত প্রয়োজন হতে পারে তবে এটির কোনও ক্ষতি করা উচিত নয়)। নোট করুন যে এটি একটি অসম্পূর্ণ প্রবেশ - আমাদের কয়েকটি গুরুত্বপূর্ণ কমান্ড যুক্ত করা দরকার।
উইন্ডোজ দ্বিতীয় পর্যায়ের বুটলোডার সন্ধান করা
আপনার লিনাক্স ইনস্টলটি সম্ভবত আপনার উইন্ডোজ বিভাজনটিকে স্বয়ংক্রিয়ভাবে সজ্জিত করেছে এবং আপনার এটি কোনও ফাইল ব্রাউজারে সন্ধান করা উচিত। যদি তা না হয় তবে এটি করার একটি উপায় বের করুন (যদি আপনি কীভাবে নিশ্চিত না হন তবে এই সাইটে একটি প্রশ্ন জিজ্ঞাসা করুন)। এটি শেষ হয়ে গেলে, আমাদের মাউন্ট পয়েন্টটি জানতে হবে - এটি ফাইল ব্রাউজারে স্পষ্ট হওয়া উচিত, যেমন /media/ASDF23SF23/
। কিছু টাইপিং সংরক্ষণ করতে, আমরা এটিকে শেল ভেরিয়েবলের মধ্যে রাখব:
win="/whatever/the/path/is"
সমান চিহ্নের দুপাশে কোনও ফাঁকা স্থান থাকা উচিত। এখানে উইন্ডোজ পাথের কোনও উপাদান অন্তর্ভুক্ত করবেন না । এটি উইন্ডোজ পার্টিশনের শীর্ষ স্তরের ফোল্ডারের দিকে নির্দেশ করা উচিত। এখন:
cd $win
find . -name bootmgfw.efi
আপনার বড় পার্টিশন থাকলে এটি কয়েক মিনিট সময় নিতে পারে, তবে সম্ভবত এটি প্রথমটি খুঁজে বের করে যা আমরা সন্ধান করি; দীর্ঘ goobledygook স্ট্রিং সহ ফাইল সিস্টেমে আরও রেফারেন্স থাকতে পারে - এগুলি নয়। Ctrl-c
আপনি একবার ./Windows/Boot/EFI/bootmgfw.efi
বা এর মতো ছোট এবং সাধারণ কিছু দেখলে অনুসন্ধানটি থামাতে ব্যবহার করুন ./EFI/HP/boot/bootmgfw.efi
।
.
শুরুতে বাদে , এই পথটি পরবর্তী সময়ের জন্য মনে রাখবেন; আপনি নীচে একটি ফাঁকা লাইনে এটি আপনার পাঠ্য সম্পাদককে অনুলিপি করতে পারেন, যেহেতু আমরা এটি সেখানে ব্যবহার করব। আপনি যদি এখন আপনার আগের ডিরেক্টরিতে ফিরে যেতে চান cd -
তবে ব্যবহার করুন , যদিও আপনি এখানে থেকে শেলটিতে রয়েছেন তা বিবেচ্য নয়।
ডান প্যারামিটার সেট করা হচ্ছে
দ্বিতীয় স্তরের উইন্ডোজ বুটলোডার বুট প্রক্রিয়াটি সন্ধান এবং বন্ধ করার জন্য GRUB সক্ষম হওয়া দরকার। উইন্ডোজ পার্টিশনে আমাদের ইতিমধ্যে পথ রয়েছে তবে সেই পার্টিশনটি কোথায় রয়েছে তা GRUB কে জানাতে আমাদের কিছু পরামিতি প্রয়োজন। আপনার সিস্টেমে একটি সরঞ্জাম ইনস্টল থাকা উচিত যা ডাকা grub-probe
বা (যেমন, ফেডোরা) grub2-probe
। টাইপ করুন grub
এবং তারপরে Tabদুই বা তিনবার হিট করুন ; আপনার একটি বা অন্যটি সহ একটি তালিকা দেখা উচিত।
> grub-probe --target=hints_string $win
আপনার মতো একটি স্ট্রিং দেখতে হবে:
--hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1
এতে GRUB কনফিগারেশন সহ পাঠ্য সম্পাদকটিতে ফিরে যান এবং সমস্ত insmod
কমান্ডের পরে একটি লাইন যুক্ত করুন (তবে সমাপ্তি কোঁকড়া ধনুর্বন্ধনী আগে) যাতে দেখে মনে হয়:
insmod chain
search --fs-uuid --set=root [the complete "hint bios" string]
}
সেই লাইনটি ভাঙবেন না বা আপনার পাঠ্য সম্পাদককে এটি করার অনুমতি দেবেন না। এটি ডিসপ্লেতে চারপাশে মোড়ানো হতে পারে - পার্থক্যটি বলার একটি সহজ উপায় হ'ল লাইন নম্বর সেট করা। পরবর্তী:
> grub-probe --target=fs_uuid $win
এটি "123A456B789X6X" বা "b942fb5c-2573-4222-acc8-bbb883f19043" এর মতো অক্ষর, সংখ্যা এবং সম্ভাব্য ড্যাশগুলির একটি সংক্ষিপ্ত স্ট্রিং ফিরে আসবে। যে শেষে যোগ করুন search --fs-uuid
ইঙ্গিতটি জীবনবৃত্তান্ত স্ট্রিং পরে লাইন, একটি স্পেস দিয়ে পৃথক করা হয়।
এর পরে, যদি (এবং কেবল যদি) উইন্ডোজ পরিপ্রেক্ষিতে দ্বিতীয় ড্রাইভে হয় ড্রাইভের অনুক্রম , পরে একটি লাইন যোগ search --fs-uuid
লাইন:
drivemap -s hd0 hd1
এটি পূর্বে উল্লিখিত "কৌশল"। নোট করুন এটি কাজ করার গ্যারান্টিযুক্ত নয় তবে এটি চেষ্টা করে ক্ষতি করে না।
শেষ অবধি, শেষ লাইনটি হওয়া উচিত:
chainloader (${root})[the Windows path to the bootloader]
}
যেমন পরিষ্কার হতে পারে উদাহরণস্বরূপ:
chainloader (${root})/Windows/Boot/EFI/bootmgfw.efi
এটাই. ফাইলটি সংরক্ষণ করুন এবং এটি সত্যরূপে সংরক্ষিত হয়েছে এবং এটি যেভাবে হওয়া উচিত তা নিশ্চিত করার জন্য একটি ফাইল ব্রাউজারে পরীক্ষা করুন।
GRUB এ নতুন মেনু বিকল্প যুক্ত করুন
এটি একটি সরঞ্জাম দ্বারা grub-mkconfig
বা সম্পন্ন করা হয় grub2-mkconfig
; আপনি যে তালিকাটি Tabআগে খুঁজে পেয়েছিলেন তা এটিই থাকবে । আপনার কাছে আ কমান্ড কল থাকতে পারে update-grub
। এটির জন্য পরীক্ষা করতে, এটি রুট টার্মিনালে টাইপ করুন। যদি আপনি "কমান্ড পাওয়া যায়নি" পান তবে আপনাকে grub-mkconfig
সরাসরি ব্যবহার করতে হবে । যদি না হয় (এআরএর আরও ত্রুটি থাকা সহ), আপনি সুনির্দিষ্টভাবে কনফিগারেশনটি সেট করেছেন এবং কিছুটা বাদ দিতে পারেন।
grub-mkconfig
সরাসরি ব্যবহার করতে , আমাদের প্রথমে এটি সন্ধান করতে হবে grub.cfg
:
> find /boot -name grub.cfg
এটি সম্ভবত হবে /boot/grub/grub.cfg
বা /boot/grub2/grub.cfg
।
> grub-mkconfig -o /boot/grub/grub.cfg
update-grub
ত্রুটিগুলির জন্য কনফিগারেশনটি স্বয়ংক্রিয়ভাবে স্ক্যান করবে। grub-mkconfig
করবে না, তবে এটি করা গুরুত্বপূর্ণ কারণ আপনি যখন মেশিনটি বুট করার চেষ্টা করছেন তার চেয়ে এখনকার সাথে তাদের মোকাবিলা করা আরও সহজ। এর জন্য, grub-script-check
(বা grub2-script-check
) ব্যবহার করুন :
> grub-script-check /boot/grub/grub.cfg
যদি এটি (বা update-grub
) কোনও লাইন নম্বর নির্দেশ করে একটি ত্রুটি উত্পন্ন করে তবে তা গ্রুব.এফ.জি. জি. তে লাইন নম্বর, তবে আপনাকে সংশ্লিষ্ট অংশটি /etc/grub.d/40_custom
(আপনার পাঠ্য সম্পাদকের ফাইল) ঠিক করতে হবে। প্রাক্তন ফাইলটি দেখার জন্য আপনাকে মূল হতে হবে যদিও less /boot/grub/grub.cfg
টার্মিনালটিতে চেষ্টা করুন :, চাপুন এবং লাইন নম্বরটি প্রবেশ করুন। আপনি আপনার মেনু এন্ট্রি দেখতে হবে। টাইপোটি সন্ধান করুন, এটি পাঠ্য সম্পাদকটিতে সঠিক করুন এবং চালনা করুন update-grub
বা grub-mkconfig
আবার।
আপনার কাজ শেষ হয়ে গেলে আপনি পাঠ্য সম্পাদকটি বন্ধ করতে পারেন এবং exit
সুপারভাইজার মোড ত্যাগ করতে টার্মিনালটিতে টাইপ করতে পারেন ।
রিবুট!
আপনি গ্রাব মেনুতে উঠলে, "উইন্ডোজ" বিকল্পে দ্রুত স্ক্রোল করুন (টাইমআউট শেষ হওয়ার আগে, সাধারণত 5 সেকেন্ড) এবং এটিকে পরীক্ষা করুন। আপনি গ্রাব থেকে কোনও পাঠ্য বার্তার ত্রুটিটি পেলে কনফিগারেশনে কিছু ভুল। আপনি যদি উইন্ডোজ থেকে ত্রুটি বার্তা পান তবে সেই সমস্যাটি আপনার এবং মাইক্রোসফ্টের মধ্যে রয়েছে। চিন্তা করবেন না, তবে আপনার উইন্ডোজ ড্রাইভটি পরিবর্তন করা হয়নি এবং আপনি এটি BIOS সেট-আপের মাধ্যমে প্রথমে (বুট ক্রমের শর্তে) রেখে সরাসরি এতে বুট করতে সক্ষম হবেন।
আপনি যখন আবার লিনাক্সে ফিরে আসেন, /etc/grub.d
ডিরেক্টরিটির মালিকানা এবং এটির বিষয়বস্তু তাদের মূল অবস্থায় ফিরে আসে:
sudo chmod 755 /etc/grub.d/40_custom
তথ্যসূত্র