बूट-मरम्मत ने विंडोज के लिए बहुत सारे ग्रब मेनू प्रविष्टियां बनाईं


11

मैंने हाल ही में एक एचपी लैपटॉप पर विंडोज 10 के साथ दोहरी बूट में उबंटू स्थापित किया है। प्रारंभ में मैं grub का उपयोग करके Windows बूट करने में असमर्थ था क्योंकि Windows विकल्प का चयन करने से केवल grub पर वापस लूप होगा।

फिर मैंने एक बूट मरम्मत की, और ये सभी अतिरिक्त विकल्प ग्रब मेनू में दिखाई दिए।

मैं "Windows UEFI bootmgfw.efi" विकल्प का उपयोग करके विंडोज को खोलने में सक्षम हूं, लेकिन "विंडोज बूट प्रबंधक (पर / देव / sda1) के मानक विकल्प का उपयोग नहीं कर रहा हूं।

मैं इन प्रविष्टियों को कैसे कम कर सकता हूं और बाद के विकल्प का उपयोग करके विंडोज को बूट क्यों नहीं कर सकता हूं?

यहाँ ग्रब की एक छवि है। पहला विकल्प उबंटू है:

ग्रब - पहला विकल्प उबंटू है



3
यह वास्तव में इसका डुप्लिकेट नहीं है। मेरा लिनक्स कर्नेल प्रविष्टियों को नहीं दिखाता है। प्लस वह बिंदु जो मैं बूट प्रबंधक विकल्प का उपयोग करके विंडोज को बूट करने में असमर्थ हूं।
अभय

1
वाह, तुम जल्दी हो! उत्तर देने की कोशिश करने के बाद ही आपको स्वीकार करना चाहिए , लेकिन यह निश्चित रूप से मदद करेगा !!! ;-) इसके अलावा, क्या मैंने उल्लेख किया है कि आपको शुरू करने से पहले वास्तव में बैक-अप लेना चाहिए या वास्तव में, वास्तव में सावधान रहें कि आप क्या हटाते हैं ?!
Fabby

1
फैब के सुझाव के अनुसार GRUB कस्टमाइज़र का उपयोग करना, मदद करने की संभावना है। जैसा कि एक विकल्प काम कर रहा है और दूसरा नहीं है, हमें /boot/grub/grub.cfgआपके सिस्टम से फ़ाइल देखने की आवश्यकता होगी । मेरा संदेह यह है कि गैर-कार्यशील प्रविष्टि BIOS-आधारित सिस्टम के लिए डिज़ाइन की गई है, लेकिन आपका स्पष्ट रूप से EFI- आधारित है, इसलिए BIOS-मोड विकल्प एक (शाब्दिक) गैर-स्टार्टर है।
रॉड स्मिथ

जवाबों:


5

विंडोज यहां ऑफ-टॉपिक है, लेकिन इसका उत्तर यह है कि यह बहुत पुरानी तकनीक है और बूट सेक्टर केवल 512 बाइट्स है, इसलिए यह इतना बड़ा नहीं है कि हम जो कुछ भी इसे धारण करना चाहते हैं उसे पकड़ सकें।

आसानी से अपने आप सभी को ग्रब से प्रविष्टियाँ जोड़ने और हटाने के लिए, कृपया:

  1. CloneZilla Live का उपयोग कर अन्य OSes सहित अपने पूरे कंप्यूटर का एक पूरा सिस्टम बैक-अप लें
  2. नहीं, मैं मजाक नहीं कर रहा था! पहले एक पूरी प्रणाली का बैकअप लें ! :-)
  3. जब भी कोई आपको PPA स्थापित करने के लिए कहता है तो बहुत सतर्क रहें, अपना शोध करें यदि यह वही है जो आप वास्तव में चाहते हैं और केवल तब जारी रखें
  4. निम्नलिखित आदेशों को निष्पादित करके ग्रब-कस्टमाइज़र स्थापित करें :

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt update
    sudo apt install grub-customizer
    
  5. प्रारंभ करें grub-customizerऔर उसमें से नरक को अनुकूलित करें : यहां छवि विवरण दर्ज करें

  6. यदि आप गंभीर संकट में हैं, तो अपने सिस्टम का बैकअप लें।


1
आपके पास जवाबों में और यहां तक ​​कि आपकी टिप्पणियों में एक नाजुक शैली है। ईमानदारी से मुझे वास्तव में आश्चर्य होता है कि क्यों हर कोई एक उत्तर के रूप में सही और उपयोगी उत्तर को चिह्नित नहीं करता है, मुझे निराश करता है लेकिन मैंने इसके लिए कभी नहीं पूछा। मैं आपकी टिप्पणियों को कॉपी कर सकता हूं और मेरे उत्तरों के बाद इसे पेस्ट कर सकता हूं ham
हैथम ए। एल-ग़रीब

मैंने अभी आपको grubबूट मेनू को छिपाने के एक अलग प्रश्न पर एक प्लस दिया । हालांकि इस मामले में "मैं अपेक्षाकृत निश्चित हूं" इस धागे पर मैंने जो उत्तर पोस्ट किया है वह सही है। यह अब मेरे लिए दो बार हुआ है और प्रत्येक बार मरम्मत विधि निर्दोष है।
विनयुनुच्स

FTR मैंने इस उत्तर को भी उकेरा है। पिछले साल की टिप्पणी गलत हो सकती है।
WinEunuuchs2Unix

12

हर बार जब मैंने इसे चलाया है boot-repairतो अपने मुख्य मेनू में 5 अतिरिक्त विंडोज बूट विकल्प जोड़ता हूं grubजो काम नहीं करता है। आपके मामले में इसने 11 अतिरिक्त प्रविष्टियाँ जोड़ी हैं!

grub.cfg समस्या दिखाता है

रहस्य /etc/grub/grub.cfgफ़ाइल के भीतर पाया जा सकता है :

### BEGIN /etc/grub.d/25_custom ###
    menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}

menuentry "EFI/ubuntu/fwupx64.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/ubuntu/fwupx64.efi
}

menuentry "Windows UEFI bootmgfw.efi sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Boot/bkpbootx64.efi
### END /etc/grub.d/25_custom ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/nvme0n1p2)' --class windows --class os $menuentry_id_option 'osprober-efi-D656-F2A8' {
    savedefault
    insmod part_gpt
    insmod fat
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  D656-F2A8
    else
      search --no-floppy --fs-uuid --set=root D656-F2A8
    fi
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-9478-B6E2' {
    savedefault
    insmod part_gpt
    insmod fat
    set root='hd0,gpt1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  9478-B6E2
    else
      search --no-floppy --fs-uuid --set=root 9478-B6E2
    fi
    chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###

अनुभाग 30_os-proberमें "अच्छा" विंडोज grubमेनू प्रविष्टियां हैं जिन्हें आप रखना चाहते हैं। अनुभाग 25_customमें बोगस प्रविष्टियों को बनाया गया है boot-repair। आप ग्रब कॉन्फ़िगरेशन फ़ाइल को संपादित नहीं कर सकते क्योंकि यह अगली बार update-grubचलाने के बाद बस ओवरराइट हो जाएगा ।


25_customबूट रिपेयर द्वारा सेक्शन बनाया गया था

मेरे सिस्टम पर:

$ locate 25_custom
/boot/efi/boot-repair/log/20171111_224241/nvme0n1p5/25_custom
/boot/efi/boot-repair/log/20171208_030854/nvme0n1p5/25_custom
/etc/grub.d/25_custom

अतिरिक्त विंडोज विकल्पों पर एक नज़र डालें जो सेटअप थे (और काम नहीं करते):

$ cat /boot/efi/boot-repair/log/20171208_030854/nvme0n1p5/25_custom
#!/bin/sh
exec tail -n +3 $0

menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}

menuentry "EFI/ubuntu/fwupx64.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/ubuntu/fwupx64.efi
}

menuentry "Windows UEFI bootmgfw.efi sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Boot/bkpbootx64.efi

ये boot-repairबनाई गई गलत प्रविष्टियाँ हैं, /etc/grub.d/25_customजिन्हें बाद में संकलित किया गया था \boot\grub\grub.cfg


बूट मरम्मत के परिवर्तन को उल्टा करें 25_custom

sudo -H gedit /etc/grub.d/25_customपहले तीन लाइनों को छोड़कर सब कुछ का उपयोग करें और हटाएं:

#!/bin/sh
exec tail -n +3 $0
  • फ़ाइल में अब पाठ के साथ दो लाइनें और एक रिक्त रेखा है।
  • फ़ाइल सहेजें।
  • भागो sudo update-grub
  • रीबूट।

अब आपका मेनू पांच फर्जी विंडोज मेनू प्रविष्टियों के साथ फूला हुआ नहीं है जो काम नहीं करती हैं।

डबल-चेक में तीन लाइनें हैं 25_custom

इस कमांड को चलाएं और सत्यापित करें 25_customकि तीन लाइनें हैं:

$ wc /etc/grub.d/25_custom
      3       6      30
#     ^       ^       ^
#     |       |       +--- Number of characters
#     |       +----------- Number of words
#     +------------------- Number of lines

मैंने #टिप्पणियों को wcशब्द (शब्द गणना) आउटपुट में जोड़ा ।


1
मैं अपने स्वयं के उत्तर को डाउनवोट नहीं कर सकता और न ही इसे हटा सकता हूं, लेकिन मैं आपको अपडाउन कर सकता हूं ... :) सावधान रहें कि एक जीयूआई समाधान को हमेशा टेक्स्ट-आधारित समाधान की तुलना में अधिक वोट मिलेंगे, हालांकि टेक्स्ट-आधारित समाधान आम तौर पर अधिक सटीक होता है (= तकनीकी रूप से बेहतर)
फाबबी

1
जैसे ही मुझे अपने उत्तर पर उत्थान हुआ, मुझे यह देखकर आश्चर्य हुआ कि आपके गैर-जीयूआई ने मेरे मुकाबले अधिक वोटों की रैकिंग की है! बहुत बढ़िया!
फेब्बी

1
@ फबी धन्यवाद मैं सिर्फ तुम्हारा एक अप-वोट भी :) दिया
WinEunuuchs2Unix

मुझे पूछने में देर हो सकती है लेकिन ... 25_custom को आखिर क्यों चाहिए? उन 3 लाइनों की आवश्यकता क्यों है?
पूमरांग

@poomerang यह ग्रब की दुनिया में एक खाली कॉन्फ़िगरेशन फ़ाइल का प्राकृतिक क्रम है। विद्रोही की तुलना में इसे करना आसान है।
WinEunuuchs2Unix
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.