GRUB2 और कर्नेल vga = पैरामीटर


16

प्रलेखन के अनुसार, vga=कर्नेल पैरामीटर का उपयोग GRUB2 के रूप में दर्शाया गया है। तथ्य यह है कि कुछ नए कर्नेल कुछ एडेप्टर पर अब इसका समर्थन नहीं करते हैं, मुझे कोई चिंता नहीं है क्योंकि मेरे पास जो ग्राफिक्स कार्ड है वह सात से आठ साल पुराना है।

अब समस्या यह है कि मैं एक उच्च रिज़ॉल्यूशन टेक्स्ट मोड का उपयोग करना चाहूंगा, जैसे कि डिफ़ॉल्ट 80x25 वर्णों के बजाय 80x50। जाहिरा तौर पर सभी ग्राफिक्स (VBE / VESA) मोड इस ग्राफिक्स कार्ड (ATI Rage XL) के लिए प्रश्न से बाहर हैं - केवल उपलब्ध मोड की सूची से पता चलता 0है 66है, 80x60लेकिन भयानक लग रहा है, तो मैं 1(80x50) के साथ जाना चाहते हैं ।

जब भी डिफ़ॉल्ट मोड का समर्थन नहीं किया गया (डिफ़ॉल्ट टिप्पणी के साथ GRUB_TERMINAL=console) और मुझे चुनने के लिए प्रेरित किया गया था, जब भी उपलब्ध मोड की सूची प्राप्त करने के बाद मैंने 80x50 और 80x60 को काम करते देखा है ।

मैं कैसे मोड, अगर मैं इसे कर्नेल कमांड लाइन पर स्थापित करने के लिए माना जाता नहीं कर रहा हूँ सेट कर सकते हैं और के हर उपयोग GRUB_GFXMODE(के साथ या पहले से लोड होने के बिना vbeमॉड्यूल) और GRUB_GFXPAYLOAD_LINUX=keepविफल रहता है? में विफल रहता है: स्क्रीन खाली रहती है क्योंकि यह इस मशीन में मेरे पास मौजूद कार्ड के लिए एक अमान्य ग्राफिक्स मोड है?

मेरा विचार nomodesetअभी कर्नेल को पास करना होगा , लेकिन बूट लोडर को फिर भी ग्राफिक्स मोड सेट करना होगा। और मैं vga=ऐसा करने के लिए कर्नेल पैरामीटर के अलावा कोई विकल्प नहीं देख सकता ।

नोट:vbetest और videotestGRUB2 सांत्वना इच्छा खाली पर आदेशों स्क्रीन और फिर स्क्रीन का दावा कोई वीडियो इनपुट नहीं है के बाद स्लीप मोड में चला जाएगा। vbeinfoऔर videoinfoउपर्युक्त के अलावा कुछ उपलब्ध मोड दिखाते हैं, लेकिन इस बात का कोई उल्लेख नहीं है कि इसे कहां सेट किया जाना चाहिए। इसके अलावा, जब कर्नेल कमांड लाइन पर vga=1(बिना nomodeset) गुजरते हुए , मुझे इसके संक्षिप्त होने के बारे में बहुत संक्षिप्त चेतावनी दिखाई देती है, लेकिन यह पूरी तरह से पढ़ने के लिए बहुत लंबा है - और आउटपुट इसमें दिखाई नहीं देता है dmesg



vgaपैरामीटर कर्नेल पर लागू होता है, नहीं करने के लिए grub2। कोई फर्क नहीं पड़ता कि कैसे grub2डेवलपर सरल जटिल बनाने की कोशिश कर रहा है, यह अभी भी काम करता है जब तक कि गुठली इस पैरामीटर को नहीं समझती है।
आजेह

जवाबों:


9

हो सकता है कि इसे grub2 द्वारा हटा दिया गया हो, हालांकि इसे अभी भी काम करना चाहिए और काम करना जारी रखना चाहिए। यह मेरे लिए ग्रब 2 और डेबियन मट्ठा के साथ-साथ rhel7.3 (पुष्टि 01-2017) का उपयोग करके काम करता है। इसके अलावा आधिकारिक दस्तावेज के अनुसार यह पदावनत नहीं है:

https://www.kernel.org/doc/Documentation/x86/boot.txt

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

vga = यहाँ या तो एक पूर्णांक है (C संकेतन में, या तो दशमलव, अष्टक, या षोडश आधारी) या एक तार "सामान्य" (जिसका अर्थ है 0xFFFF), "ext" (मतलब 0xFFFE) या "पूछें" (जिसका अर्थ है 0xFFFD)। यह मान vid_mode फ़ील्ड में दर्ज किया जाना चाहिए, क्योंकि इसका उपयोग कर्नेल द्वारा कमांड लाइन के पार्स होने से पहले किया जाता है।

और https://www.kernel.org/doc/Documentation/svga.txt आपको वह सब बताएगा जो आपको जानना आवश्यक है। संकल्प के कुछ उदाहरणों के नीचे मैं आमतौर पर उपयोग करता हूं:

vga=0x31b --> 1280x1024x32
vga=0x34d --> 1600x900x32
vga=0x31e --> 1600x1200x32

समर्थित मोड के उपयोग की सूची प्राप्त करने के लिए:

vga=ask

1024 × 768x24 स्क्रीन के लिए, जो मुझे बहुत सारे सिस्टम पर काम करती है और मेरे द्वारा उपयोग किए जाने वाले मॉनिटर (दशमलव में और हेक्स में):

vga=792
vga=0x318

1
मेरे लिए यह काम करता है जब मैं मौजूदा मूल्य/etc/default/grubvga=792GRUB_CMDLINE_LINUX
शशांक व्यास

एक उबंटू अपडेट ने आज नया ग्रब यूईएफआई बूट सामान स्थापित किया और vga=currentक्रैश डंप सामान के साथ जोड़ने के लिए कमांड लाइन परिवर्तन का प्रस्ताव दिया । मैंने परिवर्तनों को अस्वीकार कर दिया लेकिन यहाँ आकर आश्चर्य हुआ कि vga=currentइसका क्या मतलब है।
WinEunuuchs2Unix

2

Vga पैरामीटर अभी भी linux16 और initrd16 कमांड के साथ समर्थित है, इसलिए यदि आप "linux16" को "linux16" या "initrd" को "initrd16" में बदलते हैं तो आप पुराना व्यवहार प्राप्त कर सकते हैं। मुझे यकीन नहीं है कि अन्य कारण क्या होते हैं, लेकिन यह मेरे लिए काफी अच्छा काम करता है। :-)


1
यह बहुत अच्छी सलाह है! बस ग्रब 2 में एडिट करने के लिए ई दबाएं, फिर नीचे लाइन में कहे जाने वाले स्थान पर नेविगेट करें और अंत में 16 डालें। तब आप vga = लाइन के अंत में पूछ सकते हैं। यदि फ़्रेमबफ़र को अभी भी कर्नेल में सक्षम किया गया है, तो यह संभवतया तेज़ वीजीए पाठ से बहुत जल्द ही उस मोड में चला जाएगा।
एलेक्स तोप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.