मैं अपने पुराने लिनक्स विभाजन को ग्रब कैसे बना सकता हूं


4

समस्या:
मेरे दो विभाजन हैं। एक पर मैंने फेडोरा 9 स्थापित किया है और मेरे दूसरे विभाजन पर मैंने अभी फेडोरा 12 स्थापित किया है। अब जब मैंने फेडोरा 12 स्थापित किया है तो पुराने विभाजन को बूट करने के लिए मुझे ग्रब नहीं मिल सकता है। मैं अपने पुराने फेडोरा विभाजन में ग्रब को बूट करने के लिए कैसे कॉन्फ़िगर कर सकता हूं?

कुछ नोट:

  • मेरा फेडोरा 9 fdisk में सिर्फ लिनक्स के बजाय लिनक्स LVM के रूप में दिखाई देता है। मेरे पास उस लिनक्स पर वर्चुअल बॉक्स लगा था, लेकिन यह खुद वर्चुअल मशीन नहीं है।
  • मुझे पूरा यकीन है कि Fedora 12 grub2 के बजाय ग्रब स्थापित करता है
  • मैं फेडोरा 12 लाइव सीडी से दोनों विभाजनों को देख और माउंट कर सकता हूं यदि यह मदद करता है
  • मेरा डिब्बा 64 बिट का है।

जानकारी:
यह वही है जो मुझे मिलता है fdisk -l:

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0005745c

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       64685   519578624   83  Linux
/dev/sda2           65706       65730      200812+  83  Linux
/dev/sda3           65731       91201   204595807+  8e  Linux LVM
/dev/sda4           64686       65705     8193150    5  Extended
/dev/sda5           64686       65705     8192000   82  Linux swap / Solaris

और यह वही है जो वर्तमान में मेरे में है menu.lst:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,0)
#          kernel /boot/vmlinuz-version ro root=/dev/sda1
#          initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu

title Fedora (2.6.31.12-174.2.3.fc12.x86_64)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=UUID=876dd1b5-104a-46de-b5fb-08f96d2ce420  LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M
    initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img
title Fedora 9
    rootnoverify (hd0,3)
    chainloader +1

उस सूची में पहला फेडोरा फेडोरा 12 है जो सही ढंग से बूट करता है, दूसरा सिर्फ एक अनुमान था कि मेरा फेडोरा 9 स्थापित कहां था। जब मैं चयन करता हूं कि ग्रब ऑन बूट में यह ब्लैंकिंग कर्सर के साथ एक खाली स्क्रीन पर जाता है जो कीबोर्ड का जवाब नहीं देता है।

अद्यतन:
मैं अपने पुराने FC9 सिस्टम को माउंट करने में सक्षम था और / boot अनुभाग में मैंने इसे मेनू के तहत पाया। यदि ऐसा है तो इससे मदद मिलती है:

title Fedora (2.6.27.25-78.2.56.fc9.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.27.25-78.2.56.fc9.x86_64 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.27.25-78.2.56.fc9.x86_64.img

प्रश्न:
अपने पुराने फेडोरा में बूट करने के लिए मुझे क्या करने की आवश्यकता है?


हाँ! ऐसा लगता है कि आपका FC9 गैर-LVM / बूट विभाजन के रूप में / dev / sda2 का उपयोग कर रहा था । अच्छी नौकरी, इस प्रश्न को तैयार करने और आपके समाधान खोजने के लिए हमारे साथ काम करने में दोनों।
क्विकोट

आप शायद पर्टिशन को बदलना चाहते हैंpartition
phunehehe

@phunehehe: तय!
क्वैक को

जवाबों:


5

LVM "लिनक्स वर्चुअल मशीन" नहीं है, यह " लॉजिकल वॉल्यूम मैनेजर " है। अगर मैं LVM को सही ढंग से समझता हूं, LVM पर रूट विभाजन को बूट करने के लिए, आपको LVM के बाहर एक अलग / बूट विभाजन की आवश्यकता होती है (क्या यह छोटा विभाजन / dev / sda2 पर था ?)। आपके सिस्टम में अभी भी यह हो सकता है, लेकिन अगर आपका FC12 इंस्टॉलेशन इसे ओवरराइड करता है, तो रिकवरी और अधिक कठिन हो जाएगी।

यहाँ ग्रब बनाम LVM समस्याओं के लिंक दिए गए हैं : लिंक 1 , लिंक 2

इसके अलावा "माउंटिंग लाइनेक्स एलवीएम वॉल्यूम" देखें - आपको यह सत्यापित करने में सक्षम होना चाहिए कि एफसी 12 में बूट करते समय इसके पुराने विभाजन को बढ़ते और जांचते हुए आपकी पुरानी FC9 प्रणाली अभी भी ठीक है। यदि ऐसा है, तो आप संभवतः एफसी 9 / बूट विभाजन को ओवरराइट कर चुके हैं, तब भी आप काफी आसानी से ठीक हो सकते हैं ।

यहां LVM सिस्टम ( स्रोत ) के लिए एक उदाहरण ग्रब बूट प्रविष्टि है । इस स्थिति में, (hd0,0) (अर्थ / देव / sda1 ) एक छोटा / बूट विभाजन है, और शेष सिस्टम LVM / dev / sda2 पर रहता है । रूट = और lvm2root = कर्नेल लाइन पर प्रविष्टियाँ नोट करें :

title Debian GNU/Linux, kernel 2.6.26 Using LVM with SATA Disk
root (hd0,0)
kernel /vmlinuz-2.6.26 root=/dev/ram0 lvm2root=/dev/mapper/sda_vol-root
initrd /initrd-lvm2-2.6.26.gz

पोस्टमॉर्टम: यह उपयोगकर्ता सर्वश्रेष्ठ-केस परिदृश्य के साथ समाप्त हुआ। FC12 स्थापना ने FC9 के बूट विभाजन, / dev / sda2 को ओवरराइट या सुधारित नहीं किया , और FC9 के पुराने /boot/grub/menu.lst तक पहुँचने और FC12 के ग्रब मेनू में बूट प्रविष्टियों की प्रतिलिपि बनाने के लिए आवश्यक सभी की आवश्यकता थी ।


मैं अपने FC9 सिस्टम को माउंट करने के चरणों के माध्यम से चला गया और यह काम किया। सबकुछ जगह-जगह दिखता है। जब मैंने किया था कि / a बूट प्रविष्टि / मीडिया / _boot के लिए स्थानों के नीचे दिखाया गया था, तो मैं अपने पिछले इंस्टॉल पर ग्रब फ़ोल्डर और सभी पुराने प्रविष्टियों को देख सकता हूं। मैंने इसे मुख्य प्रश्न में अपडेट किया है इसलिए यह अधिक पठनीय है। क्या मुझे उस फेडोरा के लिए अपने नए ग्रब मेन्यू में वह सारी जानकारी डालनी चाहिए?
रोबी

1
@ रोबी: महान! शायद आपका FC9 / बूट LVM पर है? पता नहीं। वैसे भी, तुम बस FC9 से कर्नेल और initrd बिंबों को कॉपी कर सकते हैं / बूट FC12 के में / बूट (सुनिश्चित करें कि आप उन्हें अद्वितीय नाम दे कर, कुछ भी ऊपर लिख नहीं है), तो FC12 के में FC9 के ग्रब मेनू से बूट प्रविष्टियों जोड़ने के लिए, और आप ' जाने के लिए अच्छा है सुनिश्चित करें कि आप उन्हें कर्नेल और initrd चित्रों को खोजने के लिए सही रूट (HDX, Y) की ओर इंगित करते हैं।
क्विकोट

हाँ! मैंने उस मेनू की जानकारी से सब कुछ कॉपी किया। नए ग्रब में और मैं अब अपने पुराने फेडोरा 9 सिस्टम पर फ़ायरफ़ॉक्स से आपको बोल रहा हूं। पूरी सहायताके लिए शुक्रिया!
रॉबी

0
title Fedora (2.6.31.12-174.2.3.fc12.x86_64)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=UUID=876dd1b5-104a-46de-b5fb-08f96d2ce420  LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M
    initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img
title Fedora 9
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=*****  LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M
    initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img

देखें कि मैंने रूट कहां लिखा है *****? या तो HD0,3 के लिए UUID प्राप्त करें या वहां रूट = / dev / hda3 या / dev / sda3 लिखें। और .. यह ठीक होना चाहिए, अगर यह सही विभाजन है।


1
क्या इससे कोई फर्क नहीं पड़ता कि यह फेडोरा 12 के लिए निर्दिष्ट कर्नेल का उपयोग करेगा? और रूट अभी भी होना चाहिए (hd0,0) फेडोरा 9 प्रविष्टि के लिए?
रोबी

1
यह शायद FC9 बूट करने के लिए एक FC12 कर्नेल का उपयोग नहीं किया जाना चाहिए। यह काम कर सकता है, लेकिन बहुत सारी चीजें शायद टूट जाएंगी।
क्विकोट

मैंने यह कोशिश की और एक त्रुटि मिली: No root device found [drm:drm_mode_rmfb] *Error* tried to remove a fb that we didn't own Boot has failed, sleeping forever
रोबी

अगर मैं 9 के लिए कर्नेल के लिए RPM डाउनलोड करता हूं और इसे स्थापित करता हूं, तो क्या यह मेरे फेडोरा 12 इंस्टॉल में समस्याएं पैदा करेगा? rpm.pbone.net/index.php3/stat/4/idpl/13342106/com/…
रॉबी

1
FC12 में बूट करते समय इसे स्थापित करने के लिए RPM या यम का उपयोग करें। हालाँकि आपको मैन्युअल रूप से फ़ाइलों को निकालने की आवश्यकता हो सकती है।
क्विकोट क्विकोट करें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.