विंडोज विभाजन में ग्रब स्थापित होने पर विंडोज 7 में बूट कैसे करें?


15

मूल शीर्षक: मैं ग्रब के साथ एक ही विभाजन पर विंडोज (7) बूटिंग 7 को कैसे हल कर सकता हूं?

मैं दो-तीन दिनों से इस समस्या पर शोध कर रहा हूं लेकिन मैं खाली हो गया हूं।

मूल रूप से, विभाजन 1 विंडोज 7 है और विभाजन 2 उबंटू 12.04 है। मैंने Ubuntu को विभाजन 2 में स्थापित करने और विभाजन 1 पर GRUB स्थापित करने के लिए कहा था और यह ठीक काम करता है। लेकिन अब समस्या यह है कि मैं विंडोज 7 को बूट नहीं कर सकता। इसे चुनने के बाद मैं सिर्फ GRUB मेनू पर लौटता हूं।

मैंने जो शोध किया है, अगर मैं GRUB को बूट करने के लिए विंडोज 7 "म्ब" या बूटलोडर \windows\system32\winload.exe(विंडोज 7 की मरम्मत डिस्क का उपयोग किए बिना) को संपादित कर सकता हूं, तो मेरी समस्या हल हो जाएगी। क्या यह भी संभव है?


बूट-रिपेयर-इंफो का URL http://paste.ubuntu.com/981952/ है


कमांड से आउटपुट sudo blkid

/dev/sda1: UUID="1EA0019AA0017A13" TYPE="ntfs" 
/dev/sda2: UUID="e4402f9e-83df-4dc3-8913-69b28314d253" TYPE="ext4" 
/dev/sda3: LABEL="Vault Drive" UUID="74145BFD145BC132" TYPE="ntfs" 
/dev/sda4: UUID="1c030d32-657f-4a78-9468-307d9e09a977" TYPE="ext4"

जवाबों:


14

क्या आप बूट-रिपेयर टूल का उपयोग करके बूट-रिपेयर टूल बना सकते हैं जैसा कि नीचे वर्णित है और फिर रिपोर्ट का लिंक पोस्ट करें?

मुझे पता है कि आप अपने बूट विन्यास के बारे में कुछ विवरण पहले ही दे चुके हैं। हालाँकि, मैं जो रिपोर्ट पूछ रहा हूं उसमें अधिक विस्तृत जानकारी है और हमें इस बात की बेहतर समझ हो सकती है कि आप GRUB का उपयोग करके विंडोज को बूट करने में असमर्थ क्यों हैं।

"Bootinfo सारांश" प्रदान करने के लिए बूट-रिपेयर का उपयोग कैसे करें


चूंकि आप अभी भी उबंटू को बूट कर सकते हैं, आप कमांड का उपयोग करके बूट-रिपेयर टूल को स्थापित और चला सकते हैं apt-getऔर फिर इसका उपयोग कर सकते हैं Create a Bootinfo summary

boot-repairउपकरण को स्थापित करने के लिए एक टर्मिनल विंडो में नीचे दिए गए कमांड चलाएं ।

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
  1. उसके बाद पूरा होता है, boot-repairटूल शुरू करने के लिए कमांड दर्ज करें ।
  2. थोड़ी देरी के बाद, boot-repairपूछेंगे कि क्या आप इसका नवीनतम संस्करण डाउनलोड करना चाहते हैं। चूंकि आपने अभी नवीनतम संस्करण स्थापित किया है, उत्तर दें No
  3. यदि पैकेज boot-repairको स्थापित करने के लिए कहा जाए pastebinit, तो जवाब दें Yes
  4. उपकरण अब आपके सिस्टम को स्कैन करेगा और (अंततः) नीचे दी गई छवि में दिखाई गई विंडो को प्रदर्शित करेगा। Create a Bootinfo summaryबॉक्स / बटन पर क्लिक करें। यह आपके सिस्टम के बूट कॉन्फ़िगरेशन के बारे में जानकारी एकत्र करेगा, लेकिन कोई बदलाव नहीं करेगा।


    प्रारंभिक बूट-मरम्मत विंडो

  5. जब bootinfo सारांश बनाया गया है, boot-repairतो एक संदेश प्रदर्शित करेगा जिसमें एक URL होगा जो इस तरह दिखना चाहिए http://paste.ubuntu.com/123456/:।

    कृपया अपना प्रश्न अपडेट करें / संपादित करें और इस URL को जोड़ें। पिछले लिंक में दी गई जानकारी इस लिंक को इंगित करती है (मुझे उम्मीद है) समस्या का निदान करने में हमारी मदद करती है।

मुझे लगता है कि विंडोज विभाजन के वीबीआर को ओवर-राइट करने से यह समस्या हुई।

मेरी समझ यह है कि ऑपरेटिंग सिस्टम शुरू करने के कई चरण हैं। आपके मामले में, मुझे लगता है कि नीचे दिए गए चरणों की तरह कुछ होता है।

  1. आपके कंप्यूटर पर मौजूद BIOS हार्ड ड्राइव के पहले सेक्टर में कोड को चलाने का प्रयास करता है। इस पहले क्षेत्र को आमतौर पर एमबीआर (मास्टर बूट रिकॉर्ड) के रूप में जाना जाता है ।
  2. MBR के अलावा, हर पार्टीशन में बूट रिकॉर्ड भी हो सकता है। इसे अक्सर वॉल्यूम बूट रिकॉर्ड या वीबीआर के रूप में जाना जाता है । आपकी हार्ड ड्राइव पर एमबीआर विभाजन 1 के वीबीआर, आपके विंडोज विभाजन को नियंत्रित करता है।
  3. विंडोज को एक विभाजन की VBR की उम्मीद है कि विंडोज 7 जैसे ऑपरेटिंग सिस्टम को बूट करने की दिशा में अगला कदम उठाया जाएगा। इसलिए विंडोज ने मूल रूप से एक वीबीआर स्थापित किया होगा जो bootmgrआपके विंडोज विभाजन में विंडोज प्रोग्राम पर नियंत्रण स्थानांतरित करेगा ।

    हालाँकि, जब आपने निर्देश दिया कि उबंटू ने GRUB को Windows विभाजन में स्थापित करने के लिए एक प्रोग्राम स्थापित किया है, तो GRUB ने स्वयं के साथ Windows VBR को प्रतिस्थापित किया है। यह GRUB VBR GRUB बूट मेनू प्रदर्शित करता है।
  4. GRUB बूट करने के लिए वर्तमान में जो निर्देश GRUB का उपयोग करता है वह अनिवार्य रूप से विंडोज विभाजन में VBR का पता लगाने और उस पर नियंत्रण स्थानांतरित करने के लिए होता है। Windows विभाजन में VBR GRUB का VBR है। इस पर नियंत्रण स्थानांतरित करना (पुनः) GRUB बूट मेनू को प्रदर्शित करता है।

दुर्भाग्य से, मुझे यकीन नहीं है कि इसे ठीक करने का सबसे अच्छा तरीका क्या होगा। हम सावधान रहना चाहते हैं कि हम GRUB को न तोड़ें और अपने कंप्यूटर पर कुछ भी बूट करना असंभव बना दें जब हम विंडोज को बूट करने की समस्या को ठीक करने का प्रयास करें।

नीचे संदर्भ के लिए अपने Bootinfo सारांश से कुछ जानकारी की एक प्रति है। ऊपर मेरी टिप्पणी इस जानकारी पर आधारित है।

============================= Boot Info Summary: ===========================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 
    of the same hard drive for core.img. core.img is at this location and 
    looks for (,msdos2)/boot/grub on this drive.

sda1: ______________________________________________________________________

    File system:       ntfs
    Boot sector type:  Grub2 (v1.99)
    Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda1
                       and looks at sector 44090872 of the same hard drive 
                       for core.img. core.img is at this location and looks
                       for (,msdos2)/boot/grub on this drive. No errors 
                       found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /bootmgr /Boot/BCD /Windows/System32/winload.exe

sda2: ______________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 12.04 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img

विंडोज 7 को बूट करने के लिए एक संभावित समाधान

नीचे आपके GRUB बूट कमांड को संपादित करने के लिए एक सुझाव दिया गया है जो आपको विंडोज 7 बूट करने की अनुमति दे सकता है। मुझे यकीन नहीं है कि यह काम करेगा, लेकिन यह कोशिश करने लायक लगता है।

वर्तमान में, आपका grub.cfgविंडोज 7 बूट करने के लिए नीचे GRUB बूट कमांड का उपयोग करता है।

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    chainloader +1
}

मैं आपको सुझाव दे रहा हूं कि आप इसे बदलने का प्रयास करें और इसके बजाय इन आदेशों का उपयोग करें।

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    ntldr ($root)/bootmgr
}

यहाँ यह करने के लिए कदम हैं।

  1. GRUB मेनू में अपने सिस्टम को बूट करें।
  2. GRUB बूट मेनू प्रविष्टि चुनें (हाइलाइट करें) Windows 7 (loader) (on /dev/sda1)
  3. eविंडोज 7 के लिए GRUB बूट कमांड को संपादित करने के लिए दबाएं ।
  4. menuentryऊपर बताए अनुसार आदेशों की इस सूची में दो बदलाव करें ।
    • कमांड जोड़ें insmod ntldr
    • कमांड
      chainloader +1
      को बदलें
      ntldr ($root)/bootmgr
  5. प्रेस या तो Ctrl+ Xया F10इन संपादित आदेशों का उपयोग करते बूट करने के लिए।

नोट 1:

यदि उपरोक्त वर्कअराउंड विंडोज 7 बूट मेनू को लोड करने में सफल होता है, तो आप इसे अर्ध-स्थिर बना सकते हैं

  1. sudoफ़ाइल को संपादित करने /etc/grub.d/40_customऔर menuentryऊपर दिखाए गए दूसरे को जोड़ने का उपयोग करना । (यदि आप ऐसा करते हैं, तो मेरा सुझाव है कि आप इस "कस्टम" प्रविष्टि का शीर्षक बदलें।)
  2. अपनी अनुकूलित प्रविष्टि को शामिल करने के sudo update-grubलिए अद्यतन /boot/grub/grub.cfgकरने के लिए कमांड चलाएँ । (यह बूट करते समय GRUB मेनू के नीचे होगा।)

मैं उपरोक्त सुझाव को केवल आंशिक रूप से पके हुए समाधान के रूप में देखूंगा। एक बेहतर समाधान यह है कि बूट करने के लिए GRUB की क्षमता को नष्ट किए बिना विंडोज विभाजन के लिए Windows VBR को पुनर्स्थापित किया जाए ।

मुझे लगता है ... लेकिन मुझे 100% यकीन नहीं है ... कि ऐसा करने के लिए विंडोज रिकवरी कमांड bootsectका उपयोग किया जा सकता है। यदि आप इसे जोखिम में डालना चाहते हैं, तो ऐसा करने का एक संभावित तरीका नीचे उल्लिखित है।

  • विंडोज बूट करते समय, मेनू F8को ऊपर लाने के लिए Advanced Boot Optionsदबाएँ।
  • Repair Your Computerप्रविष्टि का चयन करें ।
  • जब तक आप नहीं पहुंचते तब तक अगली खिड़कियों से चलें System Recovery Options
  • चुनते हैं Command Prompt
  • कमांड चलाएं bootsect /nt60 C:

लेकिन आप शायद थोड़ा इंतजार करना चाहते हैं और ऊपर दिए गए प्रयास करने का जोखिम उठाने से पहले अपने प्रश्न के लिए आपको और क्या जवाब मिलते हैं।

नोट 2:

अन्य चीजों की खोज करते समय, मैं AskUbuntu पर दो अन्य प्रश्नों पर भाग गया, जो आपकी समस्या से संबंधित हैं।

  1. Ubuntu 11 को स्थापित करने के बाद विंडोज 7 बूट नहीं करेगा
  2. Ubuntu स्थापित करने के बाद विंडोज 7 बूट नहीं करता है

मुझे यकीन नहीं है कि ये प्रश्न कितनी सहायता प्रदान करते हैं। दूसरे प्रश्न का उत्तर bootrec /fixbootविंडोज विभाजन के लिए VBR को पुनर्स्थापित करने के लिए कमांड का उपयोग करना था । उस प्रश्न से मेरी समझ यह थी कि bootrec /fixbootकमांड का उपयोग करने से समस्या हल हो गई।

लेकिन दूसरा सवाल का कहना है कि bootrec /fixbootथा नहीं समस्या का समाधान।

(मुझे वहाँ से क्या हो सकता है के रूप में मुझे बाहर बिल्ली धड़कता है।)


आपके जवाब के लिए धन्यवाद। मैं ठीक है, यह भाग्यशाली है, लेकिन अगर अन्य लोगों को इसके बारे में पता नहीं है, तो वे अब करते हैं। बूट-रिपेयर-इंफो से url http://paste.ubuntu.com/981952/
Sim

1
मुझे लगता है कि आपके Windows विभाजन में GRUB को स्थापित करने के कारण आपकी समस्या हुई थी। मेरे उत्तर के लिए अद्यतन देखें।
अपरिमेय जॉन

तो आपको क्या लगता है कि मैं क्या कर सकता हूं? क्या मुझे बूट्रेक का उपयोग करना चाहिए और फिर ग्रब को फिर से स्थापित करना चाहिए? क्या कोई और तरीका है?
सिम

आप विंडोज बूट को हमेशा की तरह ठीक कर सकते हैं, जब विंडोज ऐसा कर लेगा तो आपके बिना पूछे ही बूट हो जाएगा (विंडोज लिनक्स को नहीं पहचानता)। जब यह ठीक हो जाता है, तो आप एक USB से लिनक्स को बूट कर सकते हैं और GRUB को फिर से चला सकते हैं, इस बार विंडोज पार्टीशन को नहीं छू सकते;)
pzkpfw

मेरे उत्तर के लिए एक संभावित अस्थायी वर्कअराउंड के लिए एक सुझाव जोड़ा गया।
अपरिमेय जॉन

7
menuentry "Windows 7" {
    insmod ntfs
    set root=(hd0,1)
    drivemap -s (hd0) ($root)
    ntldr /bootmgr
    #or chainloader +1
}

यदि आपने (HD0,1) के अलावा विभाजन पर विंडोज स्थापित किया है, तो आपको विंडोज को बूट करने के लिए ड्राइवमैप कमांड का उपयोग करने की आवश्यकता है। Chainloader +1 या ntldr / bootmgr दोनों का उपयोग विंडोज 7 को बूट करने के लिए किया जा सकता है।

आपने जो किया वह आपने पहले विभाजन के VBR को संशोधित किया है; जब आप स्थापना CD से बूट करते हैं तो आप cmd में विंडोज़ रिकवरी मोड में इन कमांड्स को निष्पादित करके पुनर्स्थापित कर सकते हैं:

bootrec.exe /FixMbr  

bootrec.exe /FixBoot  

bootrec.exe /RebuildBcd

यह एकमात्र उत्तर है जो वास्तव में काम करता है। +1
डेज़ी

1

मुझे वास्तव में "(UN) बूटिंग" के बारे में नहीं पता है कि आप Windows मरम्मत डिस्क का उपयोग करके अपने विंडोज को ठीक करने का प्रयास करते हैं ( उपयोगिता Command Promptको चलाने के लिए चुनें bootsect.exe। बूट फ़ोल्डर बूट फ़ोल्डर के अंदर स्थित है इसलिए अपनी निर्देशिका को बदल दें boot। अब bootsect /nt60 C:\बिना चलाएं ) उद्धरण) यदि आपके पास C:विभाजन में शुरू में विंडोज 7 था , तो वैकल्पिक रूप से, आप "बूब्स / nt60 SYS" या "बूब्स / nt60 ALL" चला सकते हैं)

और फिर GRUB को फिर से स्थापित करें।


जवाब देने के लिए धन्यवाद। मेरे कहने का मतलब यह था कि ग्रब बूट्स थे, लेकिन विंडोज़ के बाद मैं इसे नहीं चुनता। शोध करते हुए, लोग कहते हैं कि mbr के लिए बूट को ठीक करने के लिए, हमें "bootrec.exe / fixboot" का उपयोग करना चाहिए फिर "bootrec.exe / fixmbr" का। क्या आपका तरीका bootrec या अलग है?
सिम

मेरे अनुभव में, दोहरे बूट के रूप में उबंटू की स्थापना के बाद, विंडोज को रिबूट पर चलाना और उसके द्वारा मरम्मत करना बेहतर होगा, फिर उबंटू में वापस आएं। मैंने इस विधि का हर बार पालन किया और सफल पाया।
बीजू

सच। विंडोज़ के लिए मैं EasyBCD
Sim

0

GRUB आपके Windows विभाजन बूट क्षेत्र (PBR) में स्थापित है, जैसा कि आपका BootInfo दिखाता है:

sda1: __________________________________________________________________________

File system:       ntfs
Boot sector type:  Grub2 (v1.99)
Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda1 
                   and looks at sector 44090872 of the same hard drive 
                   for core.img. core.img is at this location and looks 
                   for (,msdos2)/boot/grub on this drive. No errors found 
                   in the Boot Parameter Block.
Operating System:  Windows 7

यह विंडोज़ को बूट करने से रोकता है।

समाधान यहाँ अच्छी तरह से वर्णित है: http://ubuntuforums.org/showpost.php?p=11693662&postcount=1


0

मेरे पास यह एक ही मुद्दा था और इस समाधान की पुष्टि करना चाहता हूं जो मेरे लिए काम करता है, इस उम्मीद में कि यह दूसरों की मदद करता है ...

मैंने यहाँ परिवर्तनों को दर्शाने के लिए grub.cfg का संपादन किया:

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    ntldr ($root)/bootmgr
}

यही है, मैंने जोड़ा ...

insmod ntldr

और अंतिम पंक्ति को बदल दिया गया ...

ntldr ($ root) / bootmgr

मैं जल्द ही वीबीआर को बहाल करने का प्रयास करने जा रहा हूं और वापस रिपोर्ट करूंगा कि यह कैसे होता है।


0

मेरी विंडोज़ 10 बूट समस्या का समाधान किया ...।

menuentry "Windows 10 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13 
    ntldr ($root)/bootmgr
}

hexadec.code अलग हो सकता है


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