GRUB 2 स्टार्ट अप में दिखाई नहीं देता है


2

मैं जानता हूँ कि देखते हैं कि टन सवालों की चर्चा करते हुए की GRUB मुद्दों, लेकिन मैं एक विशिष्ट समस्या यह है कि मैं काफी लंबे समय के लिए हल करने में सक्षम नहीं कर रहा हूँ है।

मेरी हार्ड ड्राइव को GPT प्रारूप ( एमबीआर नहीं - नीचे लिस्टिंग देखें) का उपयोग करके रखा गया है । मेरे पास दो 64-बिट OSes हैं:

  1. विंडोज 10 ,
  2. डेबियन स्ट्रेच ( सिड )।

समस्या यह है कि सिस्टम अपग्रेड में से एक के बाद (मुझे यकीन नहीं है कि अगर यह डेबियन का विंडोज का अपग्रेड फॉल्ट है) तो GRUB ने विंडोज स्टार्ट को डिफ़ॉल्ट बनाना शुरू कर दिया। अपने डेबियन को बूट करने के लिए मैं डेबियन लाइवसीडी का उपयोग करके GRUB कमांड प्रॉम्प्ट का उपयोग करता हूं :

grub> root=(hd0,6)
grub> linux /vmlinuz-4.3.0-1-amd64 root=/dev/sda8
grub> initrd /initrd.img-4.3.0-1-amd64
grub> boot

मैंने अब तक क्या कोशिश की है

मैंने कई अलग-अलग तरीकों से समस्या को हल करने की कोशिश की:

  • मैं के साथ संकुल के सभी हटाया grubअपने नाम में स्ट्रिंग और स्थापित grub-efi-amd64पैकेज है जो (दूसरों के बीच) पर निर्भर है: grub-common, grub2-common, grub-efi-amd64-bin। परिणामस्वरूप इन सभी पैकेजों को स्थापित किया गया था।
  • मैंने निम्नलिखित परिवर्तन किए हैं /etc/default/grub(जैसा कि इस प्रश्न के उत्तर में @ गिलेज़ में सुझाया गया है ) और भागा कमांड (या जो एक-लाइनर बैश स्क्रिप्ट के लिए सिम्लिंक है ): update-grubupdate-grub2update-grub
    • GRUB_HIDDEN_TIMEOUT_QUIET=false,
    • GRUB_HIDDEN_TIMEOUT=,
    • GRUB_TIMEOUT=10
  • मैंने विंडोज फास्ट स्टार्टअप और हाइबरनेशन को बंद कर दिया
  • grub-install --target=x86_64-efi && update-grub

नैदानिक ​​जानकारी

  • मेरा मदरबोर्ड UEFI DualBIOS ™ के साथ GIGABYTE GA-Z77-D3H है , जिसका अर्थ है कि ( उद्धरण ) 'इसमें एक BIOS संगतता मोड है - अंतर्निहित बूट मेनू प्रत्येक डिवाइस के लिए दो प्रविष्टियां दिखाता है, एक यूईएफआई के साथ उपसर्ग करता है और एक बिना' । न तो UEFI मोड में बूटिंग और न ही BIOS लीगेसी मोड में काम नहीं करता है।

  • efibootmgr आदेश परिणाम:

    root@mycomp:/home/me# efibootmgr 
    BootCurrent: 0007
    Timeout: 1 seconds
    BootOrder: 0002,0003,0004,0005,0000,0007
    Boot0000* Windows Boot Manager
    Boot0002* UEFI: ST1000DM003-9YN162
    Boot0003* Hard Drive 
    Boot0004* CD/DVD Drive 
    Boot0005* Removable Drive 
    Boot0007* UEFI: USB USB Hard Drive
    
  • parted आदेश परिणाम:

    root@mycomp:/home/me# parted /dev/sda print
    Model: ATA ST1000DM003-9YN1 (scsi)
    Disk /dev/sda: 1000GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start   End     Size    File system     Name                          Flags
     1      1049kB  316MB   315MB   ntfs            Basic data partition          hidden, diag
     2      316MB   420MB   105MB   fat32           EFI system partition          boot, esp
     3      420MB   555MB   134MB                   Microsoft reserved partition  msftres
     4      555MB   268GB   268GB   ntfs            Basic data partition          msftdata
     5      268GB   805GB   537GB   ntfs            Basic data partition          msftdata
     6      805GB   806GB   500MB   ext4                                          msftdata
     7      806GB   830GB   24,4GB  ext4                                          msftdata
     8      830GB   838GB   8000MB  ext4                                          msftdata
     9      838GB   853GB   15,0GB  ext4                                          msftdata
    10      853GB   863GB   10,0GB  linux-swap(v1)
    11      863GB   1000GB  137GB   ext4                                          msftdata
    
  • /etc/fstabसामग्री (मैंने गोपनीयता के लिए नीचे UUID s शून्य किया ):

    root@mycomp:/home/me# cat /etc/fstab
    # <file system>                           <mount point>     <type>  <options>          <dump>  <pass>
    # / was on /dev/sda8 during installation
    UUID=00000000-0000-0000-0000-000000000000 /                 ext4    errors=remount-ro   0       1
    # /boot was on /dev/sda6 during installation
    UUID=00000000-0000-0000-0000-000000000000 /boot             ext4    defaults            0       1
    # /boot/efi was on /dev/sda2 during installation
    UUID=0000-0000                            /boot/efi         vfat    defaults            0       1
    # /home was on /dev/sda11 during installation
    UUID=00000000-0000-0000-0000-000000000000 /home             ext4    defaults            0       2
    # /tmp was on /dev/sda9 during installation
    UUID=00000000-0000-0000-0000-000000000000 /tmp              ext4    defaults            0       2
    # /usr was on /dev/sda7 during installation
    UUID=00000000-0000-0000-0000-000000000000 /usr              ext4    defaults            0       2
    # swap was on /dev/sda10 during installation
    UUID=00000000-0000-0000-0000-000000000000 none              swap    sw                  0       0
    # CD-ROM
    /dev/sr0                                  /media/cdrom0     udf,iso9660 user,noauto     0       0
    # Added for Google Chrome (see: https://unix.stackexchange.com/questions/116400/google-chrome-no-space-on-rootfs-partition)
    /usr/opt                                  /opt              none   bind                 0       0
    # C: Windows partition
    UUID=0000000000000000                     /media/Windows/C  ntfs   ro                   0       0
    # D: Windows partition
    UUID=0000000000000000                     /media/Windows/D  ntfs   ro                   0       0
    
  • fdisk -l नतीजा:

    root@mycomp:/home/me# fdisk -l
       Device       Start        End    Sectors    Size Type
    /dev/sda1        2048     616447     614400    300M Windows recovery environment
    /dev/sda2      616448     821247     204800    100M EFI System
    /dev/sda3      821248    1083391     262144    128M Microsoft reserved
    /dev/sda4     1083392  524290047  523206656  249,5G Microsoft basic data
    /dev/sda5   524290048 1572866047 1048576000    500G Microsoft basic data
    /dev/sda6  1572866048 1573842943     976896    477M Microsoft basic data
    /dev/sda7  1573842944 1621499903   47656960   22,7G Microsoft basic data
    /dev/sda8  1621499904 1637124095   15624192    7,5G Microsoft basic data
    /dev/sda9  1637124096 1666420735   29296640     14G Microsoft basic data
    /dev/sda10 1666420736 1685952511   19531776    9,3G Linux swap
    /dev/sda11 1685952512 1953523711  267571200  127,6G Microsoft basic data
    
  • जिक्र करते हुए करने के लिए msinfo32 विंडोज सिस्टम जानकारी , अपने सिस्टम BIOS modeहै UEFI

यदि आपको मेरी समस्या का निदान करने के लिए अधिक जानकारी की आवश्यकता है, तो अपना अनुरोध टिप्पणी में रखें।


अपडेट करें

मैंने grub-efi-amd64सभी आश्रितों के साथ पैकेज को हटा दिया , स्थापित किया grub-pcऔर अब GRUB सफलतापूर्वक लोड हो रहा है यदि मैं BIOS मोड में बूट करता हूं। निम्न आदेश :

[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

प्रदर्शित करता है BIOS, लेकिन मैं अभी भी UEFI मोड में बूट करना चाहता हूं!


सहायक लिंक्स

लिंक जो मददगार हो सकते हैं:


बिल्ली / आदि / fstab; fdisk -l
user657451

@ user657451 संपन्न - अद्यतन देखें ।
patryk.beza

जवाबों:


2

समस्या ईएफआई बायोस-इनिट है, और आपको एफईआई छवि (विंडोज़ या लिनक्स-ग्रब) का चयन करना होगा

यदि आप ग्रब सेट नहीं करते हैं, तो यह डिफ़ॉल्ट सुरक्षित बूट को बूट करेगा, इसलिए बायोस में जाएं और सुरक्षित बूट को अक्षम करें।

उसके बाद ... ग्रब सही ढंग से अपडेट होगा। (सही ढंग से बूट होने के बाद)

अब यह जानकर कि आप ubuntus "ऑटो मैजिक" (ठीक है, ठीक है) से नफरत करते हैं, तब भी आप इंजीनियर को समझने के लिए उन सेटिंग्स को रिवर्स कर सकते हैं ...

EFI बूट = फ़र्मवेयर में सेट करें (bios)

  • बूट प्रकार = uefi
  • पहली बूट = ईएफआई का चयन करें: डिस्क और ईएफआई: बूट (विंडोज बूट मैनेजर) या (डेबियन / उबंटू / आदि ...)

ग्रब = एफ़ईआई होना चाहिए [यहां डिस्क का नाम]

या वहाँ कुछ संयोजन ... अब आप रूट द्वारा grub स्थापित कर सकते हैं -> कर्नेल, रैमडिस्क, आदि ... और विंडोज़ hd0,1 ... 2 होना चाहिए ... efi / boot या कुछ-कुछ विंडोज़ बूट लोडर ।

बूट - या डेबियन के लिए स्कैन करने के लिए बल बायोस सेट करें।

बूट की मरम्मत।

https://sourceforge.net/projects/boot-repair-cd/

  • लाइव डिस्क बनाएं
  • बूट रहते हैं।
  • इंटरनेट से कनेक्ट करें।
  • प्रेस जाओ

... कार्य करना चाहिए।


मैं समझना चाहता हूं कि क्या खराब है। मुझे फैंसी विंडोज / उबंटू -जैसी जादू की मरम्मत अनुप्रयोगों पर भरोसा नहीं है , इस प्रकार मैं उनका उपयोग करने से इनकार करता हूं। मैं आपको यह बताना चाहता हूं कि मेरे कॉन्फ़िगरेशन में क्या कमी है। मुझे पता है कि इसके लिए गहन GRUB ज्ञान की आवश्यकता है, लेकिन यह कि लिनक्स क्या है।
patryk.beza

Im बस मदद करने की कोशिश कर रहा है ...
TardisGuy

मैं इसकी सराहना करता हूं! धन्यवाद! वैसे भी, मैं अभी भी अधिक सटीक उत्तरों की प्रतीक्षा कर रहा हूं। ;-)
patryk.beza

चिंता मत करो। मैं न केवल समस्याओं को हल करने में मदद करने की कोशिश कर रहा हूँ "अंक" के लिए "खेल"। अधिक जानकारी दी।
तारदिसगयू

अपने पोस्ट अपडेट का जिक्र करते हुए: आपका क्या कहना है कि EFI बायोस-इनिट है ? BTW: मैंने उल्लेख किया है कि बूटिंग न तो UEFI मोड में है और न ही BIOS लीगेसी मोड में काम नहीं करता है।
patryk.beza

2

यह विभाजन की एक पूरी बहुत कुछ है!

"GRUB ने विंडोज स्टार्ट को डिफ़ॉल्ट बनाना शुरू करने में दिखावा करना बंद कर दिया।"

इंगित करता है कि (शायद) खिड़कियों ने बूट झंडे बदल दिए हैं।
आपके partedआउटपुट से, विभाजन 2 बूट हो रहा है। यह वह जगह है जहाँ / बूट / ग्रब है? ... ऐसा लगता है जैसे sda6 आपके nix स्थापित करने के लिए एक / बूट विभाजन है?

cfdiskयह सुनिश्चित करने के लिए कि बूट फ़्लैग किए गए विभाजन का उपयोग करें या समान करें जहाँ / बूट / ग्रब है।

और मैं इसे ग्रब को फिर से स्थापित करने के लिए परेशान नहीं देख सकता:

grub-install /dev/sda && update-grub && shutdown -r now

सबसे पहले: /dev/sda2है EFI सिस्टम विभाजन ( ईएसपी ), इस प्रकार यह बूट ध्वज (देखें जरूरत सबूत # 1 , प्रमाण # 2 और सबूत 3 # )। दूसरी बात: मैंने उल्लेख किया है कि मैंने GRUB को फिर से स्थापित करने की कोशिश की है! मेरी मूल पोस्ट को ध्यान से पढ़ें!
patryk.beza

आपने अपने "ग्रब
रिस्टोर

यदि आपने ESP को बूट किया है (और मुझे लगता है: चेनलोड करने के लिए विंडो है) तो आपने अपने "ग्रब रिस्टोर" के लिए एक टार्गेट ड्राइव प्रदान नहीं किया है।
1865 में user657451

उद्धरण : आप कमांड /dev/sdaमें <device_path> विकल्प (जैसे:) की अनुपस्थिति को नोट कर सकते हैं grub-install। वास्तव में किसी भी <device_path> प्रदान की गई GRUB स्थापित स्क्रिप्ट को नजरअंदाज कर दिया जाएगा, क्योंकि UEFI बूटलोडर्स एक MBR या विभाजन बूट क्षेत्र का उपयोग बिल्कुल नहीं करते हैं।
patryk.beza

Uefi संभवतः अन्य वातावरण बूट प्रबंधक को चुनता है। आपके उदाहरण में (मेरा मानना ​​है) आप चाहते हैं कि यह पहले ग्रब को हिट करे। जो भी कारण के लिए, लिंक टूट गया है। यही कारण है कि इसे मैन्युअल रूप से निर्दिष्ट करने का काम करता है। मैं यह भी मानता हूं कि uefi को अभी भी सौंपने के लिए एक / बूट और initrds की आवश्यकता है।
user657451

0

करवाने के लिए grub2मेनू एक पर दिखाने uefiप्रणाली आप बस के साथ एक मेनू प्रविष्टि जोड़ने की जरूरत है efibootmgr:

sudo efibootmgr --create --disk /dev/xxxx --part 1 --write-signature --loader /EFI/Manjaro/grubx64.efi --label "MANJARO" --verbose
  • आप घुड़सवार किया जाना चाहिए था EFI के तहत विभाजन /boot/efiऔर फ़ाइलें इस बिंदु माउंट के तहत आप सही दे देंगे pathके लिए --loaderकरने के लिए ऊपर की ओर इशारा करते grubx64.efi

  • अपने वास्तविक EFI डिवाइस के साथ --disk xxxx और पार्टीशन नंबर बदलें ।--part

दोहरे बूट सिस्टम पर यह कुछ इस तरह दिखाई देगा:

[stuart@manjaro ~]$ efibootmgr
BootCurrent: 0003
Timeout: 10 seconds
BootOrder: 0003,0000,0001
Boot0000* Windows Boot Manager
Boot0001  Hard Drive 
Boot0003* MANJARO
  • Manjaro वास्तुकार आईएसओ अगर के लिए एक छवि के रूप में लिखा यूएसबी (यानी के साथ dd) में बूट कर सकते हैं UEFI मोड और के लिए खोज करने के लिए प्रारंभिक मेनू पर एक विकल्प होता है EFI लोडर। इसका उपयोग आपके सिस्टम को उपरोक्त efibootmgrकमांड को चलाने के लिए किया जा सकता है । यदि मेनू विकल्प प्रकट नहीं होता है, तो इसका मतलब है कि आपने एमबीआर मोड में यूएसबी से बूट किया है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.