GRBS2 बूट मेनू में FreeBSD जोड़ें


11

मैं अपने MBR ड्राइव पर Grub2 के साथ Gentoo x64 स्थापित किया है। आज मैंने FreeBSD x64 9.2 स्थापित किया। अब मैं Gentoo में हूं और grub2मेनू सूची में FreeBSD को जोड़ने की कोशिश कर रहा हूं ।

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

मैंने Gentoo पर उपरोक्त काम किया और इसे FreeBSD नहीं मिला। FreeBSD नेस्टेड विभाजन चालू है sda1और इसमें विभाजन freebsd-ufsऔर freebsd-swapविभाजन शामिल हैं।

मैं FreeBSD को कैसे जोड़ सकता हूं 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

Sda1 में अनुवाद करता है hd0,1? क्या यह सच है कि grub2 1 नहीं 0 से शुरू होता है?
r004

2
नहीं, यह ऑटो-जेनरेट नहीं है। मैंने इसे /etc/grub.d/40_custom में लिखा है, इसे देखें: wiki.archlinux.org/index.php/…
uzsolt

1
हां, (hd0,1) sda1 है।
uzsolt

freebsd / dev / sda1 में है, लेकिन sda1 एक विभाजन टुकड़ा है (bsd शब्दावली के अनुसार); और इसमें एक /और swapविभाजन शामिल है। मुझे पहले कैसे होना चाहिए?
r004

4

मेरा लक्ष्य था: /etc/grub.d में 40_custom का संपादन करके Grub2 से बूट FreeBSD 10

मेरा सेटअप: FreeBSD10 मेरे सिस्टम के पांचवें HDD पर है (/ लिनक्स के तहत देव / sde, इसलिए Gr42 के लिए HD4। याद रखें कि Grub2 के तहत HD ड्राइव के लिए HD0 से शुरू होता है, और विभाजन 1 और बाद से, शून्य नहीं)। रूट विभाजन दूसरा है (/ dev / sde2) जैसा कि मैंने FreeBSD के गाइडेड विभाजन (संपूर्ण डिस्क का उपयोग करें) को स्थापित करते समय (सरलतम) उपयोग किया है। याद करते हुए, वह है: पांचवें hdd और दूसरे विभाजन के लिए सेट रूट = '(hd4,2)'।

जानकारी: (chainloader +1 वास्तव में आवश्यक नहीं है! निम्नलिखित मुझे सीधे FreeBSDs बूटलोडर में लाता है)।

थोड़ा सारांशित करने के लिए: आपको बस सेट रूट = (x, x) को अनुकूलित करने के लिए मिला है, और कुछ नहीं चाहिए। यदि आप कर्नेल को सीधे बूट करना चाहते हैं, तो नीचे दी गई प्रविष्टि की तुलना में चीजें थोड़ी अधिक जटिल हैं।

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

मैं os-prober से थोड़ा निराश था जो सिर्फ 'देव / sde2 पर अनजान लिनक्स वितरण' पाया।

पीएस: 'अपडेट-ग्रब' और बाद में तद्दा (उम्मीद) को मत भूलना। :) अगर कोई सफल होता है, तो मुझे एक संदेश भेजें, मुझे आपकी बात सुनकर खुशी होगी!


विभाजन की तालिका के लिए अच्छा है
r004

क्या है insmod part_gpt?
कोई

2

इस क्रम में करें:

  1. अपने संपादित करें /etc/grub.d/40_customऔर uzsolt के निर्देशों को जोड़ें । फ़ाइल के अंत में निर्देश जोड़ें । वहाँ है कि कुछ भी नष्ट मत करो

  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. टाडा! अब रिबूट करें; आपके पास GRUB मेनू में अपनी OS सूची में FreeBSD होना चाहिए।

अपने UFS विभाजन स्लाइस की पहुँच के लिए आपको निम्नलिखित कार्य करने चाहिए:

  1. जोड़ने के लिए अपना कर्नेल कॉन्फ़िगरेशन संपादित करें UFS filesystemऔर UFS label

  2. फिर make && make_modulesतुम्हारी गिरी।

  3. UFS फाइलसिस्टम सॉफ्टवेयर स्थापित करें ।

  4. अपने लिनक्स के तहत अपने UFS स्लाइस को माउंट करें:

    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और इसी तरह (यह बन्सलेब्स लिनक्स पर मेरा मामला था)।


मन है कि मैं इस मशीन पर ZFS के बजाय UFS के साथ FreeBSD का उपयोग कर रहा था। प्रस्तुत समाधान ZFS- आधारित संस्थापनों के लिए काम नहीं करता है जो मैंने सुना है।


1

आर्क लिनक्स विकी ही के लिए एक बहुत अच्छा व्याख्या है। यह सामान्य तरीके से यानी प्रत्यक्ष ओएस लोडिंग के साथ-साथ चेन लोडिंग का भी मार्गदर्शन करता है।

हालाँकि, किसी को sudo grub-mkconfig -o /boot/grub/grub.cfgपरिवर्तन करने के लिए जारी करने के लिए नहीं भूलना चाहिए ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.