मैं GRUB बूट ऑर्डर कैसे बदल सकता हूं?


336

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

वर्तमान में बूट क्रम निम्न जैसा दिखता है:

  • उबंटू 11.10 कर्नेलगेनिक * 86
  • Ubuntu 11.10 कर्नेलजेनिक * 86 (सुरक्षित बूट)
  • दिमागी परीक्षा
  • दिमागी परीक्षा
  • विंडोज 7 ऑन /dev/sda6

मैं डिफ़ॉल्ट क्रम को कैसे बदलूं ताकि विंडोज 7 सूची में सबसे ऊपर हो?

  • विंडोज 7 ऑन /dev/sda6
  • उबंटू 11.10 कर्नेलगेनिक * 86
  • Ubuntu 11.10 कर्नेलजेनिक * 86 (सुरक्षित बूट)
  • दिमागी परीक्षा
  • दिमागी परीक्षा

5
इसी प्रकार के क्यू एंड ए: askubuntu.com/questions/52963/...
fossfreedom

क्या आपने ग्रब फ़ाइल बदलने के बाद 'sudo update-grub' किया था?
तिननेलस

हाँ, मुझे लगता है कि मैं ऐसा करने के लिए भूल गया हूँ, धन्यवाद! मैं परिणामों के साथ प्रयास और अपडेट करूंगा।
jeffery_the_wind

kubuntu 14.04 sudo apt-get install kde-config-grub2तो सिस्टम कॉन्फिग गोटो स्टार्टअप शटडाउन में
n611x007

जवाबों:


295

आप अपने जीवन को थोड़ा आसान बनाने के लिए Grub Customizer नामक GUI एप्लिकेशन का उपयोग आसानी से कर सकते हैं । जैसा कि नाम से पता चलता है, आप इसके साथ सिर्फ GRUB मेनू प्रविष्टियों को फिर से दर्ज करने से ज्यादा कर सकते हैं।

आप इसे इसके द्वारा स्थापित कर सकते हैं:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

(देखें उबंटू प्रश्न पूछें क्या मेरे सिस्टम में जोड़ने के लिए पीपीए सुरक्षित हैं और क्या कुछ "लाल झंडे" हैं जो इसे देखने के लिए हैं ।)

इसके बारे में एक How-To Geek लेख है, लिनक्स GRUB 2 बूट मेनू को कैसे कॉन्फ़िगर करें आसान तरीका है । यदि आप रुचि रखते हैं, तो इसे देखें। इसके अलावा, उबंटू फ़ोरम पर एक सुलझा हुआ धागा है, GRUB 2 में बूट क्रम बदलें जिसमें इस टूल का उल्लेख है।

यहाँ कुछ स्क्रीनशॉट हैं:

SCREEN_1

screen_2

screen_3


कुछ समस्या निवारण:

ग्रब कस्टमाइज़र सेटिंग्स केवल नवीनतम लिनक्स / उबंटू इंस्टॉलेशन के भीतर से ही काम कर सकती हैं, जो ग्रब स्थापित करता है।

उदाहरण के लिए, यदि किसी के पास दो OS-es स्थापित हैं (Windows और Ubuntu), और फिर एक तीसरा OS (Manjaro, आदि) स्थापित करता है और फिर उपरोक्त उत्तर का पालन करने की कोशिश करता है, दूसरे OS से किए जाने पर Grub Customizer परिवर्तन काम नहीं करेगा ( उबंटू, उदाहरण में)। कार्यक्रम को ओएस ओएस में स्थापित किया जाना है, क्योंकि ऐसा लगता है कि ग्रब कस्टमाइज़र केवल सिस्टम की स्थापना के द्वारा बनाई गई ग्रब फ़ाइलों को संपादित कर सकता है, जिस पर स्वयं स्थापित है।

ग्रब बूट मेनू निर्धारित करने वाली फाइलें ज्यादातर मामलों में एक मशीन पर स्थापित नवीनतम प्रणाली के साथ आती हैं, इसलिए ग्रब कस्टमाइज़र को उस लिनक्स सिस्टम से इंस्टॉल और उपयोग किया जाना है


4
सबसे अधिक स्वागत :) स्क्रीनशॉट उस ब्लॉगपोस्ट से आते हैं जो ऊपर लिंक किया गया है: P
नितिन वेंकटेश

2
यह नवीनतम उबंटू के साथ काम नहीं करता है। क्या हम यहाँ एक अद्यतन पोस्ट प्राप्त कर सकते हैं?
एटी

7
मुझे लगता है कि आपका उत्तर अच्छा और मददगार है, इसलिए कृपया मुझे गलत न समझें। जबकि GUI उपकरण साफ और आसान हैं, वे तथ्यों को छिपाते हैं। नीचे दिए गए मार्व का जवाब फाइलों में चर्चा करता है कि कैसे ग्रुब काम करता है। जब जीयूआई विफल होता है, और यह कुछ के लिए होगा, कम से कम अंडरपिनिंग पर एक नज़र डालें - वे सभी के बाद मुश्किल नहीं हैं और मैन्युअल हेरफेर शायद लंबे समय में आसान हो जाएगा।
बैरीपिकर

1
मैं भी इस उपकरण का उपयोग कर समस्याओं में भाग गया। ऐसा लगता है कि यह अपडेट करता है / etc / default / grub correclty लेकिन फिर यह कोर डंप और निरस्त कहता है।
मौरिसियो ग्रेसिया गुटिरेज़

1
इसके लिए वर्तमान ग्रब मेनू के दोहरे स्तरों से संबंधित अपडेट की आवश्यकता है।
हन्नू

243

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

सबसे पहले, की एक बैकअप प्रतिलिपि बनाएँ /etc/default/grub। यदि कुछ गलत हो जाता है, तो आप आसानी से ज्ञात-अच्छी प्रतिलिपि पर वापस लौट सकते हैं:

sudo cp /etc/default/grub /etc/default/grub.bak

फिर vimअपनी पसंद के टेक्स्ट एडिटर का उपयोग करके फाइल को संपादित करें :

sudo vim /etc/default/grub

उस पंक्ति को खोजें जिसमें सम्‍मिलित है

GRUB_DEFAULT=0

और इसे सेट करें

GRUB_DEFAULT=x

xग्रब मेनू आइटम का इंडेक्स कहां है, जिसे आप डिफ़ॉल्ट रूप से बूट करना चाहते हैं। ध्यान दें कि मेनू आइटम शून्य-अनुक्रमित हैं। इसका मतलब है कि सूची में पहला आइटम है 0और वह छठा आइटम वास्तव में है 5। तो सूची में छठे आइटम को बूट करने के लिए, लाइन पढ़ेगी:

GRUB_DEFAULT=5

यदि आप आइटमों का क्रम भूल गए हैं, तो एक बार देख लें /boot/grub/grub.cfg। प्रत्येक मेनू प्रविष्टि प्रकार की एक पंक्ति द्वारा निर्दिष्ट की जाती है:

menuentry 'Ubuntu' [options] {

आप इंडेक्स के बजाय नाम से डिफ़ॉल्ट को भी चुन सकते हैं, जैसे:

GRUB_DEFAULT='Ubuntu'

अगर वहाँ एक menuentry 'Ubuntu'लाइन थी /boot/grub/grub.cfg। यह एक बेहतर तरीका हो सकता है, क्योंकि यह प्रविष्टियों के क्रम पर निर्भर नहीं करता है, जो बदल सकता है।

"पिछले लिनक्स संस्करण" में एक कर्नेल का उपयोग करने के लिए उप-मेनू का उपयोग करें:

GRUB_DEFAULT="Previous Linux Versions>x"

(कोटेशन शामिल करना सुनिश्चित करें), जहां xउप-मेनू पर पुराने कर्नेल का सूचकांक है, या कर्नेल का नाम जैसा कि यह प्रकट होता है /boot/grub/grub.cfg। उदाहरण के लिए,

GRUB_DEFAULT="Previous Linux Versions>4.13.0-43-generic"

फिर अपडेट किए गए ग्रब मेनू का निर्माण करें:

sudo update-grub

5
अंतिम बार मैंने देखा कि grub2 मक्खी पर इतनी अधिक प्रविष्टियाँ उत्पन्न करता है कि किसी प्रविष्टि के लिए किस संख्या का उपयोग करना है, यह पता लगाना वास्तव में कठिन है।
जो

52
एक सूचकांक का उपयोग करना बहुत गड़बड़ हो सकता है - अपडेट के बाद ओएस की सूची बदल सकती है। लेकिन आप /boot/grub/grub.cfg में एक नज़र डाल सकते हैं और वांछित डिफ़ॉल्ट ओएस के नाम की खोज कर सकते हैं । फिर इंडेक्स के बजाय उद्धृत नाम का उपयोग करें। उदाहरण: GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)"इसके बजायGRUB_DEFAULT=7
geekQ

1
इसके लिए वर्तमान ग्रब मेनू के दोहरे स्तरों से संबंधित अपडेट की आवश्यकता है।
हन्नू

5
उबंटू 16.04 के वर्तमान संस्करण के साथ, यदि आप बूट करने के लिए एक विशिष्ट कर्नेल का चयन करना चाहते हैं, तो आपको Advanced options for Ubuntuउप मेनू में जोड़ना होगा , जैसे:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic'
ज्योफ विलियम्स

1
@ BandaMuhammadAlHelal आपकी सूची में 7 वें आइटम को बूट करने का प्रयास करेगा - यह है कि आप क्या चाहते हैं? यदि आप अपनी सूची में 6 वां आइटम चाहते हैं, तो उपयोग करें GRUB_DEFAULT=5
निक

39

से tombuntu साइट (द्वारा लेख टॉम ):

/etc/default/grubफ़ाइल का उपयोग करके GRUB को कॉन्फ़िगर किया जा सकता है । इससे पहले कि आप इसमें कोई बदलाव करें, एक कॉपी बनाकर इसे वापस करना एक अच्छा विचार हो सकता है:

sudo cp /etc/default/grub /etc/default/grub.bak

आप मूल पर बैकअप बैकअप को पुनर्स्थापित कर सकते हैं:

sudo cp /etc/default/grub.bak /etc/default/grub

रूट विशेषाधिकारों के साथ पाठ संपादक का उपयोग करके फ़ाइल खोलें:

gksu gedit /etc/default/grub

पंक्ति का GRUB_DEFAULT=0अर्थ है कि GRUB बूट करने के लिए पहले मेनू आइटम का चयन करेगा। इसे बदलें GRUB_DEFAULT=saved। यह परिवर्तन बाद में डिफ़ॉल्ट आइटम को बदलना आसान बना देगा।

फ़ाइल को सहेजें और बंद करें। GRUB के कॉन्फ़िगरेशन में अपने परिवर्तन लागू करने के लिए यह कमांड चलाएँ:

sudo update-grub

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

बूट करने के लिए मेनू आइटम की संख्या के साथ चलाएँ ( grub-set-defaultया ) (पहला आइटम 0 है)। यह आदेश डिफ़ॉल्ट को दूसरे आइटम में बदल देगा:grub-rebootsudo

sudo grub-set-default 1

15
यह उत्तर tombuntu.com/index.php/2011/09/25/… से लगभग शब्दशः लिया गया है । आप तारीफ के काबिल है।
जेम्स मैकमोहन

यह उत्तर बूट आइटम के क्रम को बदलने के लिए प्रतीत नहीं होता है।
स्पार्कहॉक

मैं लिनक्स मिंट डेबियन संस्करण का उपयोग कर रहा हूं। मेरे पास / etc / default / grub नहीं था, लेकिन संशोधित करने के लिए GRUB_DEFAULT मान /etc/grub.d/00_header के बजाय मिला। मेरे इच्छित बूट प्रविष्टि नाम के साथ GR__DEFAULT को 00_header में संशोधित करने के बाद, मैंने बस "sudo update-grub" और voila, सफलता को चलाया।
फजी विश्लेषण

मैंने tipsonubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04 में इन्हीं कमांड्स को देखा, मैंने महसूस किया कि ये कमांड केवल तभी काम करेंगे जब इन्हें बूट ऑर्डर 0 में सिस्टम से जारी किया गया हो।
Sun Bear

-2

मैंने निम्नलिखित की कोशिश की और अच्छे परिणाम मिले।

एक टर्मिनल विंडो खोलें ( Ctrl+ Alt+ T),

टाइप करें sudo gksu nautilusऔर एंटर दबाएं। अपने उपयोगकर्ता पासवर्ड में टाइप करें।

फ़ाइल पर नेविगेट करें /boot/grub/grub.cfg। फ़ाइल को उसी निर्देशिका में कॉपी और पेस्ट करें, बैकअप प्रयोजनों के लिए grub.cfg फ़ाइल की प्रतिलिपि बनाना चाहिए। फिर एक पाठ संपादक में फ़ाइल खोलने के लिए grub.cfg पर डबल-क्लिक करें।

फाइल में आपको लाइन ( set default="0") मिलेगी । Grub में उस पंक्ति संख्या को 0 पर संपादित करें जिसे आप लोड करना चाहते हैं। मेरा छठा लाइन था, इसलिए मैंने 5 का उपयोग किया, क्योंकि पहली पंक्ति को 0. फ़ाइल को सहेजें। पीसी को रिबूट करें और यदि आपने सही लाइन चुनी है तो ग्रब लोड होने पर इसे हाइलाइट किया जाएगा।

सौभाग्य


10
जैसा कि आप फ़ाइल की शुरुआत में देख सकते हैं, यह कहता है कि आपको ऐसा नहीं करना चाहिए। इसके बजाय संपादित करें /etc/default/grubऔर फिर चलाएं update-grub
सैजरी

7
और मैं घीसू नॉटिलस की भी सिफारिश नहीं करूंगा। वहां से अपने सिस्टम में बम गिराना बहुत आसान है।
सिल्वेनुलग

इस पोस्ट की जाँच करें: psychocats.net/ubuntu/bootmenu
tqjustc

किसी कारण से यह उत्तर Google में "स्वचालित उत्तर" के रूप में दिखाया जाता है, जब खोज के लिए: "बूट परिवर्तन बदलें"।
लेप

@lepe, चिंता मत करो, मेरे लिए डिफ़ॉल्ट linuxandubuntu.com/home/… है
vladkras

-5

एक टर्मिनल विंडो ( Ctrl+ Alt+ T) खोलें , या Alt+ दबाएं F2

टाइप करें gksu nautilusऔर दबाएँ Enter

यह रूट के स्वामित्व वाली फ़ाइलों को बदलने की अनुमति के साथ फ़ाइल ब्राउज़र Nautilus खोल देगा।

फ़ाइल पर नेविगेट करें /boot/grub/grub.cfgऔर पाठ संपादक में फ़ाइल खोलने के लिए डबल-क्लिक करें।

उस फ़ाइल के अनुभागों को काटें, खिसकाएँ और चिपकाएँ जो विभिन्न ऑपरेटिंग सिस्टमों से संबंधित हैं। ऐसा करते समय आपको बहुत सावधान रहना चाहिए , जैसे अगर आप इसे गलत करते हैं तो आप बूट नहीं कर पाएंगे। विंडोज बूट को हमेशा विंडोज इंस्टॉलेशन डिस्क ( FIXMBR) से टूल से रिपेयर किया जा सकता है , जो कि GRUB-MBR को एक खास विंडोज-एमबीआर के साथ ओवरराइट करता है।

मैंने इसे Ubuntu 9.04 से 12.04 तक परीक्षण किया है और इसने हर बार ठीक काम किया है।

लेकिन मैंने केवल डिफॉल्ट बनने के लिए विंडोज बूट सेक्शन को सूची के शीर्ष पर ले जाने की कोशिश की है।

यदि मेरी मेमोरी सही है, तो फ़ाइल में प्रत्येक बूट मेनू सेक्शन एक begin... से शुरू होता है और एक ... से समाप्त होता है end। और कई पाठ पंक्तियों को फैलाता है।

उस फ़ाइल का पाठ थोड़ा और अधिक जटिल हो गया है और यह पिछले संस्करणों की तरह ही उबंटू संस्करण में नहीं दिखता है। इसलिए गलती करने से बचाने के लिए अपने दिमाग का इस्तेमाल करें


4
क्या आपको sudo update-grubकिसी बिंदु पर नहीं चलना है ?
एलियाह कगन

4
/boot/grub/grub.cfgप्रभावी रूप से आह्वान करते हुए ग्रब के अपडेट को स्थापित / अद्यतन किए गए हर पैकेज पर अधिलेखित किया जा रहा है update-grub। और वह एक नया उत्पन्न करता है grub.cfg। इसलिए, ग्रब को कॉन्फ़िगर करना /etcनिर्देशिका में फ़ाइलों में किया जाता है जैसा कि अन्य उत्तरों द्वारा समझाया गया है, यह सुनिश्चित करने के लिए कि यह लगातार है।
gertvdijk
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.