सबसे पहले, समझें कि कैसे Ubuntu Grub2 को कॉन्फ़िगर करता है।
- /boot/grub/grub.cfg Grub2 मेनू है
- अद्यतन-भोजन के आदेश है कि फाइल ऑटो उत्पन्न करता है
- ... / etc / चूक / ग्रब से डिफ़ॉल्ट सेटिंग्स पढ़कर
- ... और /etc/grub.d में गोले चलाना
इसलिए, यदि आप प्रत्येक कर्नेल अपडेट के बाद grub.cfg को संपादित नहीं करना चाहते हैं, तो आप स्क्रिप्ट को /etc/grub.d में ट्वीक करना चाहते हैं, ताकि आपके परिवर्तन कभी भी अपडेट हो जाएं- grub चलाया जाता है।
दूसरा, आपके पहले सवाल का सीधा जवाब देने के लिए, मैं विशिष्ट बूट विकल्पों को अदृश्य बनाने के किसी भी माध्यम से परिचित नहीं हूं, लेकिन ग्रब मेनू के माध्यम से अभी भी सुलभ है। Grub1 के बारे में बहुत कम चीजें हैं जो Grub2 में फिर से लागू नहीं हुईं, और यह मुझे आश्चर्यचकित नहीं करेगा अगर यह उनमें से एक था।
इसके बजाय, आप मेनू फ़ॉन्ट रंग को पृष्ठभूमि रंग के समान सेट करके सभी मेनू प्रविष्टियों को अदृश्य (हाइलाइट किए जाने तक) बना सकते हैं । में /etc/grub.d/05_debian_theme , परिवर्तन menu_color_normal तो पहला रंग (फ़ॉन्ट) दूसरे रंग (पृष्ठभूमि) से मेल खाता है। Menu_color_highlight को अलग छोड़ दें , इसलिए कर्सर के नीचे प्रविष्टि दिखाई देती है।
# example from a likely-tweaked Karmic /etc/grub.d/05_debian_theme
set menu_color_normal=white/black
set menu_color_highlight=black/white
# ...to this
set menu_color_normal=black/black
set menu_color_highlight=black/white
ग्रब मेनू में विभाजक प्राप्त करना।
Grub1 में आप इस तरह एक नई प्रविष्टि सम्मिलित करेंगे। जैसा कि मुझे याद है, आपको इसे वैध मेनू प्रविष्टि बनाने के लिए मूल घोषणा की आवश्यकता थी , अन्यथा Grub1 ने इसे अनदेखा कर दिया।
# separator
title --------------------
root
मुझे संदेह है कि Grub2 समान हो सकता है। एक बहुत ही मूल मेनू प्रविष्टि grub.cfg में इस तरह दिखती है :
# basic example
menuentry "Memory test (memtest86)" {
linux /boot/memtest86+.bin
}
चूंकि दोहरे उद्धरणों में "कुछ भी" शीर्षक के रूप में प्रदर्शित होता है, आप इसके साथ एक विभाजक नकली कर सकते हैं। Grub1 की तरह, Grub2 यह चाहता है कि linux कीवर्ड इसे वास्तविक मेनू प्रविष्टि के रूप में मानें, इसलिए सावधान रहें कि आप गलती से इसका चयन न करें।
# a separator! no, really!
menuentry "....." {
linux /boot/memtest86+.bin
}
दुर्भाग्य से, "कुछ भी" का मतलब कुछ भी नहीं है ; जब मैं यह परीक्षण कर रहा था तो मैंने डैश ("----------------") की एक लंबी स्ट्रिंग की कोशिश की और यह कभी काम नहीं किया। लेकिन यह ऊपर दिखाए गए डॉट्स के शॉर्ट स्ट्रिंग को पसंद करता है, इसलिए आप इसका उपयोग कर सकते हैं।
.....
अब, यह है कि एक विभाजक कैसे बनाया जाए। एक गुच्छा बनाने के लिए, और जहां आप उन्हें स्वचालित रूप से चाहते हैं, उन्हें रखने के लिए, आपको उन्हें /etc/grub.d में स्क्रिप्ट में जोड़ना होगा ।
इस उदाहरण के लिए, चलो grub.cfg के विभिन्न वर्गों के बीच एक साधारण विभाजक डालते हैं । यदि आप /etc/grub.d को देखते हैं, तो आप निम्न स्क्रिप्ट देखते हैं:
- 00_header
- 05_debian_theme
- 10_linux - उबंटू गुठली और वसूली के लिए प्रविष्टियां
- 20_memtest86 + - Memtest86 + के लिए प्रविष्टि
- 30_os-prober - विंडोज और अन्य लिनक्स डिस्ट्रो के लिए प्रविष्टियां
- 40_ कस्टम - डिफ़ॉल्ट रूप से कुछ भी नहीं; विशेष उपयोगकर्ता प्रविष्टियाँ यहाँ जा सकती हैं
हम एक नई स्क्रिप्ट बनाएंगे, विभाजक बनाएंगे , और उसमें निम्नलिखित को डालेंगे:
#!/bin/sh
# create a separator menu entry
cat << EOF
menuentry "....." {
linux /boot/memtest86+.bin
}
EOF
अब, उस स्क्रिप्ट को पहले विभाजक के लिए जगह में ले जाएँ, और इसे दूसरों के लिए जगह में लिंक करें। स्क्रिप्ट को क्रम में निष्पादित किया जाता है, इसलिए यदि आप चाहते हैं कि 10_linux से पहले आने वाला व्यक्ति इसे 09_सेपरेटर या कुछ और नाम दे ।
cd /etc/grub.d
# start the editor, paste in the script above, save, and exit
sudo nano separator
# set executable
sudo chmod +x separator
# rename into the first position
mv separator 09_separator
# link into remaining positions (can also use cp)
ln -s 09_separator 19_separator
ln -s 09_separator 29_separator
# not really necessary since 40_custom is empty by default
ln -s 09_separator 39_separator
यदि आपके पास / / etc / default / grub में डिफ़ॉल्ट के रूप में एक विशिष्ट प्रविष्टि सेट है , तो आपको इसे अपडेट करने की आवश्यकता हो सकती है - Grub2 0 पर मेनू प्रविष्टियां गिनना शुरू करता है, और इनमें से प्रत्येक "विभाजक" एक वैध प्रविष्टि है, इसलिए वे भी गणना करते हैं। यदि आपकी पिछली डिफ़ॉल्ट प्रविष्टि 0 थी, और आपने इससे पहले एक विभाजक जोड़ा है, तो GRUB_DEFAULT को 1 में बदलना याद रखें
अब अपडेट-ग्रब चलाएं , और /boot/grub/grub.cfg की जांच करें - आपको वहां विभाजकों को देखना चाहिए। यदि आप करते हैं, तो रिबूट करें और उन्हें बाहर की जाँच करें।
....
यदि आप विभाजकों को कहीं और रखना चाहते हैं, तो अलग-अलग कर्नेल संस्करणों के बीच, सीधे 10_linux (या अन्य स्क्रिप्ट) को संपादित करने की आवश्यकता है , और विभाजक को जोड़ने के लिए उपयुक्त स्थान ढूंढें। आप ऊपर की स्क्रिप्ट से लाइनों का उपयोग कर सकते हैं; पहली #! / bin / sh लाइन को छोड़कर सब कुछ शामिल करें ।
यदि आप कुछ सुंदर चाहते हैं, तो ग्रब स्प्लैश चित्र या थीम का उपयोग करें। मुझे आपको उन विषयों पर एक रेनचेक देने की आवश्यकता है, लेकिन नीचे दिए गए संसाधनों की जांच करें।
संसाधन:
UbuntuForums पर दो बड़े Grub2 गाइड हैं जिन्हें मैंने जाना और प्यार किया है:
GNU ग्रब 2 एक और महान संसाधन है। उन्हें कर्म के ग्रब 2 ( पूर्ण प्रकटीकरण: मैंने उन्हें आज़माया नहीं है ) के लिए स्क्रिप्टिंग का एक सेट मिला है ।
Grub2 थीम पर हैकिंग के लिए Grub Wiki का थीम फॉर्मेट पेज होना आवश्यक है।