GRUB2 বুট মেনুতে FreeBSD যুক্ত করুন


11

আমি আমার এমবিআর ড্রাইভে গ্রুব 2 দিয়ে জেন্টু x64 ইনস্টল করেছি। আজ আমি ফ্রিবিএসডি x64 9.2 ইনস্টল করেছি। এখন আমি জেন্টুতে আছি এবং grub2মেনু তালিকায় ফ্রিবিএসডি যুক্ত করার চেষ্টা করছি ।

grub2-install /dev/sda
os-prober
grub2-mkconfig -o /boot/grub2/grub.cfg

আমি জেন্টুতে উপরেরটি করেছি এবং এটি ফ্রিবিএসডি খুঁজে পেল না। ফ্রিবিএসডি নেস্টেড পার্টিশনটি sda1রয়েছে freebsd-ufsএবং এতে রয়েছে এবং freebsd-swapপার্টিশন রয়েছে ।

আমি কীভাবে ফ্রিবিএসডি যুক্ত করতে পারি grub2?

উত্তর:


9

আমারটা এখানে:

menuentry "FreeBSD" --class freebsd --class bsd --class os {
 insmod ufs2
 insmod bsd
 set root=(hd0,1)
 kfreebsd /boot/kernel/kernel
 kfreebsd_loadenv /boot/device.hints
 set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s1a
 set kFreeBSD.vfs.root.mountfrom.options=rw
 set kFreeBSD.hw.psm.synaptics_support=1
}

1
আপনি এটি ওএস-প্রবার দিয়ে তৈরি করেছেন বা আপনি নিজে করেছেন। এছাড়াও কোন ফাইলটি সেই নির্দেশিকায় প্রবেশ করেছিল?
r004

এসডিএ 1 অনুবাদ করে hd0,1? এটা কি সত্য যে grub2 1 থেকে 0 থেকে শুরু হয় না?
r004

2
না, এটি / স্বয়ংক্রিয়ভাবে উত্পন্ন নয়। আমি এটি /etc/grub.d/40_custom এ লিখেছি, এটি দেখুন: wiki.archlinux.org/index.php/…
উজসোল্ট

1
হ্যাঁ, (এইচডি0,1) এসডিএ 1।
উজসোল্ট

ফ্রিবিএসডি / ডি / এসডিএ-তে রয়েছে তবে এসডিএ 1 একটি পার্টিশন স্লাইস (বিএসডি টার্মিনোলজি অনুসারে); এবং এটিতে একটি /এবং swapপার্টিশন রয়েছে । তখন আমার কীভাবে আগে থাকা উচিত?
r004

4

আমার লক্ষ্যটি ছিল: /etc/grub.d এ 40_ কাস্টম সম্পাদনা করে গ্রুব 2 থেকে 10 ফ্রিবিএসডি 10 বুট করুন

আমার সেটআপ: ফ্রিবিএসডি 10 আমার সিস্টেমের পঞ্চম এইচডি-তে রয়েছে (লিনাক্সের অধীনে / dev / sde, সুতরাং গ্রুব 2 এর জন্য এইচডি 4। মনে রাখবেন যে গ্রুব 2 এইচডি এর অধীনে ড্রাইভের জন্য এইচডি0 থেকে শুরু হয়, এবং 1 থেকে এবং পার্টিশনগুলি শূন্য নয়)। রুট পার্টিশনটি দ্বিতীয়টি (/ dev / sde2) হিসাবে ইনস্টল করার সময় আমি ফ্রিবিএসডি-র গাইডেড পার্টিশন (সম্পূর্ণ ডিস্ক ব্যবহার করুন) ব্যবহার করেছি (সবচেয়ে সহজ)। প্রত্যাহার, এটি: পঞ্চম এইচডিডি এবং দ্বিতীয় বিভাজনের জন্য root = '(hd4,2)' সেট করুন।

তথ্য: (চেইনলোডার +1 আসলে প্রয়োজন হয় না! নিম্নলিখিতটি আমাকে সরাসরি ফ্রিবিএসডি বুটলোডারে নিয়ে আসে)।

সামান্য সংক্ষেপে বলতে গেলে: আপনি কেবল সেট রুট = (x, x) এর সাথে খাপ খাইয়ে নিতে পেরেছেন, এর বাইরে আর কিছুই লাগবে না। আপনি যদি সরাসরি কার্নেলটি বুট করতে চান তবে জিনিসগুলি নীচের প্রবেশের চেয়ে কিছুটা জটিল হয়ে যায়।

menuentry "FreeBSD 10.0" {
    insmod part_gpt
    set root='(hd4,2)'
    kfreebsd /boot/loader
}

আমি ওএস-প্রোবার দ্বারা কিছুটা হতাশ হয়েছি যা সবেমাত্র '/ dev / sde2 এ অজানা লিনাক্স বিতরণ' পেয়েছিল

PS: পরে 'আপডেট-গ্রাব' এবং তদদা (আশাবাদী) ভুলে যাবেন না। :) যদি কেউ সফল হন তবে আমাকে একটি ছবি ছুড়ুন, আমি আপনার কাছ থেকে শুনে খুশি হব!



কী insmod part_gpt?
দুপুরে

2

এই ক্রমে এটি করুন:

  1. আপনার সম্পাদনা করুন /etc/grub.d/40_customএবং উজসোল্টের নির্দেশিকা যুক্ত করুন । ফাইলের শেষে নির্দেশিকা যুক্ত করুন। সেখানে থাকা কোনও কিছু মুছবেন না

  2. নির্বাহযোগ্য কিনা 40_customতা নিশ্চিত করুন । তা না হলে chmod u+x 40_custom

  3. পরিবর্তনগুলি লিখতে এখন এটি করুন grub.cfg

    grub2-install /dev/sda 
    os-prober 
    grub2-mkconfig -o /boot/grub/grub.cfg
    
  4. Tada! রিবুট করো এখনি; GRUB মেনুতে আপনার ওএস তালিকায় আপনার ফ্রিবিএসডি থাকা উচিত।

আপনার ইউএফএস পার্টিশনের টুকরো অ্যাক্সেস পেতে আপনার নিম্নলিখিতটি করা উচিত:

  1. যুক্ত করতে আপনার কার্নেল কনফিগারেশন সম্পাদনা করুন UFS filesystemএবং UFS label

  2. তারপরে make && make_modulesআপনার কর্নেল

  3. ইউএফএস ফাইল সিস্টেম সফটওয়্যার ইনস্টল করুন ।

  4. আপনার ইউএফএস স্লাইসটি আপনার লিনাক্সের নীচে মাউন্ট করুন:

    sudo mkdir /mnt/freebsd && sudo mount -r -t ufs -o ufstype=ufs2 /dev/sda1 /mnt/freebsd
    

2

এই সাইট অনুসারে :

  1. বুট লিনাক্স।
  2. একটি /boot/grub2/custom.cfgফাইল তৈরি করুন।
  3. তৈরি করা ফাইলে এই লাইনগুলি যুক্ত করুন:

    menuentry "FreeBSD" {
    set root='(hd0,3)'
    kfreebsd /boot/loader
    }
    

    যেখানে hd0,3এই প্রথম হার্ড ড্রাইভ এবং FreeBSD 'র তৃতীয় পার্টিশনে স্থাপন করা হয় (যেহেতু ডিস্ক 0 থেকে সংখ্যা নির্ধারণ করা হয় এবং পার্টিশনগুলি 1 থেকে সংখ্যাযুক্ত হয়) মানে। সম্ভবত আপনাকে এই সংখ্যাগুলি সামঞ্জস্য করতে হবে। আপনার ডিস্কগুলি কী তা খুঁজে বের করার একটি উপায় fdisk -l

  4. চালান grub2-mkconfig -o /boot/grub2/grub.cfg

মনে রাখবেন যে আপনার আদেশগুলি কিছুটা আলাদা হতে পারে। grub2-mkconfigহতে পারে grub-mkconfigএবং অন্যরকম (এটি বুনসেনল্যাব লিনাক্সের ক্ষেত্রে আমার ক্ষেত্রে ছিল)।


মনে রাখবেন যে আমি এই মেশিনে জেডএফএসের পরিবর্তে ইউএফএসের সাথে ফ্রিবিএসডি ব্যবহার করছি। উপস্থাপিত সমাধান আমি যা শুনেছি তা থেকে জেডএফএস-ভিত্তিক ইনস্টলেশনগুলির জন্য কাজ করে না।


1

আর্চ লিনাক্স উইকি একই জন্য একটি খুব সুন্দর ব্যাখ্যা রয়েছে। এটি সাধারণ উপায় অর্থাৎ সরাসরি ওএস লোডিংয়ের পাশাপাশি চেইনলোডিংকে গাইড করে।

তবে, sudo grub-mkconfig -o /boot/grub/grub.cfgপরিবর্তনগুলি করতে ইস্যু করতে অবশ্যই ভুলে যাওয়া উচিত নয় ।

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