डेबियन ग्रब 2 अपडेट ने विंडोज बूट विकल्प को हटा दिया


4

चूंकि मैंने ग्रब टू ग्रब 2 को अपडेट किया है इसलिए मुझे विंडोज को बूट करने का विकल्प नहीं मिला (जो कि दुर्भाग्य से कभी-कभी मालिकाना एमएसआईई ब्राउज़र प्लगइन्स के लिए आवश्यक है जो मुझे काम के लिए उपयोग करने की आवश्यकता है)।

प्रासंगिक /boot/grub/menu.lstभाग:

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title           Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title           Windows NT/2000/XP
root            (hd0,0)
savedefault
makeactive
chainloader     +1

हालांकि यह अब दिखाई नहीं देता है। मेरे पास /boot/grub/grub.cfgइन प्रविष्टियों के साथ कुछ प्रविष्टियाँ हैं :

menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
        insmod part_msdos
        insmod ext2
        set root='(hd1,msdos1)'
        search --no-floppy --fs-uuid --set e638c434-4884-412f-a141-2c194f881fae
        echo    'Loading Linux 2.6.32-5-amd64 ...'
        linux   /boot/vmlinuz-2.6.32-5-amd64 root=UUID=e638c434-4884-412f-a141-2c194f881fae ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-2.6.32-5-amd64
}

क्या मुझे उस फ़ाइल को बदलना होगा? यदि हां, तो विंडोज बूट के लिए सही सिंटैक्स क्या है? यदि नहीं, तो क्या समस्या हो सकती है?

जवाबों:


4

यह उबंटू के लिए आधारित है लेकिन यह डेबियन के ग्रब 2-पैकेज के लिए भी मान्य होना चाहिए:

/boot/grub/grub.cfgहर बार आपके द्वारा चलाए जाने पर /usr/sbin/update-grub2या जब इसे कर्नेल अपडेट के बाद कॉल किया जाता है, तब इसे अधिलेखित कर दिया जाता है। grub2 में विंडोज़ इंस्टॉलेशन को ऑटो-डिटेक्ट किया जाना चाहिए /etc/grub.d/30_os-proberऔर इसे बूट मेनू में जोड़ा जाना चाहिए । हावर्ड कस्टम एंट्रीज़ को बनाया जाना चाहिए/etc/grub.d/40_custom

अपडेट करें:

आप निम्न को जोड़कर मैन्युअल रूप से विंडोज लोडर को जोड़ने की कोशिश कर सकते हैं /etc/grub.d/40_custom:

menuentry "Windows on /dev/hda1" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set YOURUUID
chainloader +1
}

"YOURUUID" है UUID अपने Windows विभाजन की। आप इसे एक करके प्राप्त कर सकते हैं ls -l /dev/disk/by-uuid/ | grep hda1। फ़ाइल को संपादित करने के बाद एक नया grub.cfg जनरेट करने के लिए "sudo update-grub2" करें।

यह निर्भर करता है os-prober, जो स्थापित नहीं हो सकता है, जिस स्थिति में:

sudo apt-get install os-prober

... और sudo update-grub2फिर से दौड़ो।


update-grub2वास्तव में एक नई विन्यास फाइल बनाता है, /etc/grub.d/30_os-oroberवहाँ है, लेकिन अफसोस, अभी तक कोई विंडोज प्रविष्टि नहीं है, इसलिए ऐसा लगता है कि यह किसी कारण से इसका पता नहीं लगा सकता है। यह हो सकता है एक HD कहीं ब्लैकलिस्टेड है? (/डूबते को तिनके का सहारा)।
विक्रप सिप

मैं नहीं जानता कि क्या वहाँ ठंड हो एक ब्लैकलिस्टेड HD। मैं अभी भी grub2 के साथ वास्तव में अनुभवी नहीं हूं। "Sudo os-prober" से आपको क्या आउटपुट मिलता है?

अहा, यह वह था, हालांकि मेरे पास था /etc/grub.d/30_os-prober, यह उस पर निर्भर करता था (काफी स्पष्ट रूप से नामित) os-proberनिष्पादन योग्य जो सिस्टम पर नहीं था (और किसी कारण से ग्रब उस बारे में एक साधारण त्रुटि रिपोर्ट भी प्रदान करने में विफल रहता है)। उस पैकेज की एक सरल स्थापना और पुनर्जन्म update-grub2ने चाल चली , यह grub.cfgअब में है, मेरा धन्यवाद!
विकिपीडिया

4

विरिकन के समाधान ने भी मेरे लिए काम किया। मैं निर्देशों का पालन करने के लिए यह आसान में regurgitating हूँ।

चरण 1

sudo apt-get install os-prober

इसके साथ परीक्षण किया जा सकता है:

sudo os-prober

मेरे लिए, जो आउटपुट देता है:

/dev/sda1:Microsoft Windows XP Professional:Windows:chain

चरण 2

sudo update-grub2

1
Ack।, मेरी टिप्पणी @ 28 सितंबर को देखें, यह वास्तव में क्या हल किया गया था।
वरिकेन

हो सकता है कि आप मेरे उत्तर को अपने स्वयं के रूप में कॉपी कर सकें (और फिर मैं अपना निकाल सकूं)? मेरा मानना ​​है कि टिप्पणियों के बजाय समाधान उत्तर का हिस्सा है तो बेहतर है।
जॉन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.