मैं अगले बूट पर केवल एक अलग विकल्प बूट करने के लिए grub2 कैसे प्राप्त कर सकता हूं?


19

मैं एक दोहरी बूटिंग हेडलेस लिनक्स / विंडोज मशीन स्थापित कर रहा हूं। मैं ज्यादातर चाहता हूं कि मशीन हमेशा उबंटू को बूट करे, सिवाय कभी-कभी जब मुझे खिड़कियों में कुछ परीक्षण करने की आवश्यकता होती है।

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

मुझे ग्रब लिगेसी मिली - खंड 4.3.1 - केवल एक बार बूट करना लेकिन मैं Ubuntu 14.04 सर्वर का उपयोग कर रहा हूं जिसमें ग्रब का नया संस्करण है। जब मैंने पढ़ा है, तो मुझे विंडोज में बूट करने के लिए कुछ बदलाव करने /etc/default/grubऔर उपयोग करने की आवश्यकता है sudo grub-set-default

मुझे लगता है कि उन परिवर्तनों को इसके साथ जोड़ना शुरू होता है /etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=false

जब भी /etc/default/grubमुझे पता चलता है कि मुझे दौड़ने की जरूरत है
sudo update-grubऔर जिसके परिणाम हैं:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-43-generic
Found initrd image: /boot/initrd.img-3.13.0-43-generic
Found linux image: /boot/vmlinuz-3.13.0-32-generic
Found initrd image: /boot/initrd.img-3.13.0-32-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done

चूंकि विंडोज उस सूची में 7 वां विकल्प है, मेरा मानना ​​है कि मैं sudo grub-set-default 6(0 आधारित गिनती) चलाऊंगा - क्या यह सही है और क्या सिस्टम के बूट होने के बाद बूट विकल्पों की एक सूची प्राप्त करने के लिए एक अलग विधि है?

इसके अलावा, /etc/default/grubइस व्यवहार को प्राप्त करने के लिए पर्याप्त लाइनें हैं या क्या मुझे अतिरिक्त कॉन्फ़िगरेशन जोड़ने की आवश्यकता है?

जवाबों:


19

आपको यह सुनिश्चित करने की आवश्यकता है कि आपके पास GRUB_DEFAULT=savedआपके ग्रब कॉन्फिगरेशन (जो कि ऑटोजेनरेटेड है, आप उसके इस हिस्से को एडिटिंग / आदि / डिफॉल्ट / ग्रब द्वारा बदल सकते हैं)। sudo update-grubपरिवर्तनों को सक्रिय बनाने और फिर उपयोग करने के लिए sudo grub-reboot $1

grep -i "menuentry '" /boot/grub/grub.cfg

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

उदाहरण देखें

मेरे द्वारा परीक्षण नहीं किया गया क्योंकि मेरे पास 'विंडोज 7' स्थापित नहीं है।


धन्यवाद मुझे लगता है कि यह वही है जो मुझे चाहिए (अतिरिक्त विवरणों के साथ जो मैंने help.ubuntu.com/community/Grub2 पर पाया )
cwd

यदि आपने लाइन को बदलने के बिना इसे करने की कोशिश की है GRUB_DEFAULT=saved, तो आपको इसे बाद में मैन्युअल रूप से करना होगा जैसे कि Grub2 के लिए दूसरे पैराग्राफ में यहां बताया गया है और फिरgrub-set-default 0; grub-reboot 0
rubo77

1
प्रविष्टि की संख्या दिखाने के लिए एक कमांड:grep -i "menuentry '" /boot/grub/grub.cfg|sed -r "s|--class .*$||g"|nl -v 0
रुबों

1
के अनुसार askubuntu.com/questions/838704/grub-reboot-to-specific-kernel , menuentryएक के तहत submenuमें /boot/grub/grub.cfgको भेजे जाने चाहिए grub-rebootके रूप में SUBMENU>MENUENTRY। उदाहरण के लिए, @ rubo77 के समान कुछ बैश-फू का उपयोग करते हुए, मैं menuentry7 को बूट करना चाहता था , हालांकि यह प्रविष्टि थी, submenuजो कि शीर्ष-स्तरीय मेनू में दूसरी प्रविष्टि थी, इसलिए मुझे '1>6'इसके बजाय पास होने की जरूरत थी (बचने के लिए सिंगल कोट्स खोल की व्याख्या>)।
ट्रेंट नेल्सन

1
चेतावनी: यदि आप BTRFS विभाजन को बूट करते हैं तो यह काम नहीं करता है। ग्रब को ग्रुबेन को लिखने में सक्षम होने की आवश्यकता है क्योंकि यह विंडोज़ को बूट करता है, यह BTRFS को नहीं लिख सकता है। फ़ाइल आमतौर पर / बूट / ग्रब में संग्रहीत की जाती है और इसे ग्रब-एडिटेंव के साथ देखा जा सकता है। मैंने अपने सिस्टम को BTRFS /, एक EXT4 विभाजन / बूट में और फिर EFI विभाजन को / boot / efi में बढ़ते हुए तय किया।
नथन

-2

अपने Ubuntu सिस्टम में ग्रब-कस्टमाइज़र (नीचे अधिष्ठापन गाइड) स्थापित करने का प्रयास करें । यह GUI उपकरण आपको विकल्पों का एक अच्छा सेट प्रदान करेगा, जिसके साथ आप अपने GRUB सेटिंग्स को कॉन्फ़िगर कर सकते हैं, जिसमें बूट विकल्प, डिफ़ॉल्ट सिस्टम, स्क्रीन रिज़ॉल्यूशन, फोंट, पृष्ठभूमि आदि के नाम और क्रम शामिल हैं ...
मुझे यकीन नहीं है कि अगर यह है आप क्या चाहते हैं, यह निर्धारित करने की क्षमता है, लेकिन कम से कम यह आपको ओएस नंबर दिखा सकता है। मुझे उनके नाम से भी संदर्भित किया जा सकता है, मुझे लगता है।

ग्रब-कस्टमाइज़र कैसे स्थापित करें:

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

(स्रोत: लॉन्चपैड - डेनियल रिक्टर )


मैंने उस टूल को देखा, लेकिन मैं Ubuntu 14.04 सर्वर (कोई GUI) का उपयोग नहीं कर रहा हूं, इसलिए मुझे कमांड लाइन समाधान करना अच्छा लगेगा।
cwd

ओह, यह नहीं पता था। मैं 14.10 मानक (एकता) का उपयोग करता हूं और मैं व्यक्तिगत रूप से इन जैसे नौकरियों के लिए GUIs पसंद करता हूं। क्या आप इस साइट को जानते हैं ? यह इस बारे में वर्णन करता है कि आपने अपने प्रश्न में क्या लिखा है, लेकिन अगर यह आपके पहले स्रोत से अलग है, तो हो सकता है कि आपको वही मिल जाए, जिसकी आपको आवश्यकता है।
बाइट कमांडर

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

उफ़। लेकिन क्या आपको लगता है कि हर बार जब मैं एक नई टिप्पणी लिखता हूं या उत्तर देता हूं तो मैं हर प्रश्न और पूर्व पोस्टिंग को फिर से पढ़ता हूं, हर लिंक की जांच करता हूं !? इसके अलावा, आप सर्वर डिस्ट्रोस पर डीई भी स्थापित कर सकते हैं! मैं मानता हूं कि मैं कोई विशेषज्ञ (अभी तक) नहीं हूं, लेकिन कम से कम मैं दूसरों की मदद करने की कोशिश करता हूं जहां मैं कर सकता हूं, भले ही उत्तर हमेशा 100% सही या उपयोगी न हों। आपको खुशी होनी चाहिए कि इस समस्या को सुलझाने में आपकी मदद करने के लिए कोई भी कोशिश कर रहा है, लेकिन अगर आप मुझे पेशाब करना चाहते हैं, तो आप सफल हुए। एक आखिरी बात: आपने बात की GRUB_SAVEDEFAULT=false, लेकिन मैं इसे हमारे लिंक पर नहीं पा सकता। और आप वहाँ उल्लिखित अन्य लाइनों को भूल गए!
बाइट कमांडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.