ฉันจะเพิ่มความละเอียดของโหมดคอนโซลได้อย่างไร


52

เมื่อเร็ว ๆ นี้ฉันได้ทำการติดตั้ง Maverick ที่ติดตั้งใหม่บนคอมพิวเตอร์ของฉันแล้ว จะใช้ไดรเวอร์ Nvidia propietary

ทุกอย่างทำงานได้ดียกเว้นว่าฉันเห็นข้อความน่าเกลียดมากมายเมื่อทำการบูทและปิด Ubuntu

ฉันไม่รังเกียจข้อความเลย ในความเป็นจริงฉันชอบที่จะเห็นการเริ่มต้น / ปิดข้อมูล

สิ่งที่ฉันไม่ชอบมันน่าเกลียด!

เมื่อคอมพิวเตอร์ของฉันไปที่โหมดคอนโซล - (บูตเครื่องปิดตัวเองหรือ CTRL + ALT + F1) ข้อความนั้นใหญ่มาก - ฉันไม่สามารถจับภาพหน้าจอได้ แต่ดูเหมือนความละเอียด 640x480 โดยปกติจอภาพของฉันใช้งานได้ที่ 1440x900

ฉันจำได้ว่าข้อความคอนโซลที่ปรากฏขึ้นขณะติดตั้งจากซีดีนั้นดีและเล็ก

ฉันจะทำให้ข้อความคอนโซลดูเหมือนในขณะที่บูตจากซีดีได้อย่างไร

คำตอบ:


34

ฉันพบวิธีแก้ไขปัญหาที่ใช้งานได้จากโพสต์ในฟอรัมนี้

ในระยะสั้น:

เปิด/etc/default/grubด้วยเครื่องมือแก้ไขที่คุณชื่นชอบในฐานะรูท

จำกัด บรรทัดที่พูดGRUB_GFXMODE= ...และเปลี่ยนเป็นความละเอียดที่คุณต้องการ เพิ่มบรรทัดใหม่สำหรับตัวแปรใหม่ที่เรียกว่าGRUB_GFXPAYLOADมีความละเอียดเดียวกัน ควรมีลักษณะคล้ายกับนี้:

GRUB_GFXMODE=1440x900x32
GRUB_GFXPAYLOAD=1440x900x32

บันทึกและออก. จากนั้นแก้ไขเป็นรูท/etc/grub.d/00_header

Localize if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=...บรรทัดที่ระบุว่า ก่อนหน้านี้ให้เปลี่ยนความละเอียดที่นั่นเป็นสิ่งที่คุณต้องการและเพิ่มอีกบรรทัดหนึ่งสำหรับส่วนของข้อมูล

if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1440x900x32 ; fi
if [ "x${GRUB_GFXPAYLOAD}" = "x" ] ; then GRUB_GFXPAYLOAD=1440x900x32 ; fi

ในที่สุดค้นหาบรรทัดที่ระบุว่าตั้งค่าgfxmode=${GRUB_GFXMODE}และเพิ่มบรรทัดสำหรับส่วนของข้อมูลด้านล่าง ควรมีลักษณะเช่นนี้:

set gfxmode=${GRUB_GFXMODE}
set gfxpayload=${GRUB_GFXPAYLOAD}

บันทึกและออก.

ยังคงเป็นรากรีเฟรชด้วงด้วย

update-grub2

รีบูตและทั้งเมนูด้วงและคอนโซลควรมีความละเอียดที่ดีกว่า

เสร็จแล้ว!


1
วิธีแก้ปัญหาของฉันจะใช้ได้กับ grub2 เท่านั้นฉันคิดว่า คุณใช้ด้วง 1 หรือเปล่า? ถ้าใช่ลองด้วยความละเอียดที่ต่ำกว่าก่อน - เช่น 1024x768x32 ความนับถือ!
egarcia

1
น่าเสียดายที่ไม่ได้ผลสำหรับฉันทำงาน 10.10
segfault

3
ดูเหมือนว่าในขณะนี้ grub2 ไม่ได้ใช้ตัวเลือก 'GRUB_GFXPAYLOAD' เพียง 'GRUB_GFXPAYLOAD_LINUX' เท่านั้น ดูเอกสารอย่างเป็นทางการเกี่ยวกับ grub2: gnu.org/software/grub/manual/grub.html#gfxpayload
mbaitoff

2
มันจะน่าสนใจมากขึ้นที่จะเห็นคำตอบที่กว้างกว่าซึ่งจะทำงานได้ดีที่สุด
sorin

2
คำตอบนี้ถูกคิดค่าเสื่อมราคาและไม่ได้ผลสำหรับฉันบน Ubuntu Server 12.04 LTS นอกจากนี้ยังเกี่ยวข้องกับการแก้ไขไฟล์00_headerที่ไม่ควรแก้ไข
Serge Stroobandt

23

สิ่งนี้ช่วยฉันใน Ubuntu 14.04 ด้วย ESXi 5.5:

sudo vi /etc/default/grub

เปลี่ยนสายเป็น:

GRUB_CMDLINE_LINUX_DEFAULT="splash vga=792"

จากนั้นเรียกใช้:

sudo update-grub
sudo reboot -r now

ใช้ 795 หรือ 799 สำหรับความละเอียดที่สูงขึ้น (รายละเอียดเพิ่มเติมที่นี่ )


1
โซลูชันนี้ใช้ได้สำหรับฉัน splashตัวเลือกหน้าจอเข้าระบบแช่แข็งและมันเป็นสิ่งที่ไม่จำเป็นในความคิดของฉัน Btw ฉันไม่ชอบตัวเลือกที่คลุมเครือเช่น 792!
Kyr

1
เลิกใช้แล้วใน 15.04
JiříDoubravský

ใช้ได้กับ fedora 21 ด้วย
Edward Torvalds

@ Jiříคู่ทวีคูณแล้วจะทำอย่างไร? คำตอบอื่น ๆ ไม่ได้
Edward Torvalds

1
rebootคำสั่งไม่ชอบ-rตัวเลือกอย่างไรก็ตาม
Jin Kwon

15
  1. เริ่มในเมนูด้วง
  2. กดCเพื่อไปที่บรรทัดคำสั่ง GRUB
  3. เรียกใช้vbeinfoและตัดสินใจ (เช่น 1920x1200x32)
  4. เริ่มระบบของคุณอีกครั้ง
  5. sudo nano /etc/default/grub
  6. เปลี่ยนGRUB_GFXMODE=(เช่นGRUB_GFXMODE=1920x1200x32)
  7. ตั้งค่าGRUB_GFXPAYLOAD_LINUXเป็นGRUB_GFXPAYLOAD_LINUX=keep
  8. sudo update-grub
  9. รีบูทระบบของคุณ

ในบรรดาคำตอบทั้งหมดของคำถามนี้นี่เป็นคำตอบที่เหมาะกับฉันกับเซิร์ฟเวอร์ Ubuntu 16.04 (และเป็นคำที่ง่ายที่สุด)
Seb - ทีม SonarSource

Wrt ขั้นตอนที่ 2 ด้านบน: ฉันพบหนึ่งควรกด 'c' สำหรับบรรทัดคำสั่ง (ไม่ใช่ 'E')
kaiwan

ไม่ทำงานบน VMware Workstation Player กับ Ubuntu 16.10
Sebi2020

@ Sebi2020 ทีนี้อันไหนล่ะ? VMware Player หรือ VMware Workstation? ทำงานได้สำหรับฉันบน VMware Workstation 14.0 กับ Ubuntu 16.04
0xC0000022L

1
@ 0xC0000022L VMWare Workstation 10
Sebi2020

14

ตั้งค่าโหมดกราฟิกด้วย GRUB_GFXPAYLOAD_LINUX

ก่อนอื่นให้ติดตั้งxrandrและเรียกใช้:

$ sudo apt-get install xrandr
$ xrandr

โหมดหน้าจอที่มีอยู่จะแสดงรายการ

ตอนนี้แก้ไข/etc/default/grub:

$ sudo nano /etc/default/grub

สมมติว่าไฟล์ที่ไม่มีการแก้ไขก่อนหน้านี้ทำการเปลี่ยนแปลงต่อไปนี้:

ตัวแปรGRUB_CMDLINE_LINUX_DEFAULTควรมีอย่างน้อยnomodesetอาจนอกเหนือจากquietและsplashบนระบบเดสก์ท็อป

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

บนระบบเซิร์ฟเวอร์ให้ยกเลิกหมายเหตุGRUB_TERMINAL=consoleเพื่อดูข้อความเพิ่มเติมที่ผ่านระหว่างการบู๊ตก่อนเข้าสู่คอนโซลกราฟิก

ปล่อยให้บรรทัดนี้เป็นความคิดเห็น:

#GRUB_GFXMODE=640x480

ในตอนท้ายของไฟล์เพิ่มบรรทัด:

GRUB_GFXPAYLOAD_LINUX=1280x1024x16

หรือแทนที่ค่าด้วยโหมดอื่น (คั่นด้วยเครื่องหมายจุลภาค) ที่ฮาร์ดแวร์ของคุณรองรับ ค่าtext, keep, auto, vgaและaskควรทำงาน

ในที่สุดหลังจากบันทึกการแก้ไข/etc/default/grubด้วยCtrl+ Oและออกด้วยCtrl+ Xออกคำสั่งต่อไปนี้:

$ sudo update-grub
$ sudo reboot

คำตอบนี้จะทำงานเพื่อลดความละเอียดและ / หรืออัตราการรีเฟรชหรือความถี่บัฟเฟอร์เฟรมในระบบที่ไม่ได้โอเวอร์คล็อก โดยทั่วไปจอภาพ CRT จะแสดงแถบกะพริบเมื่อความถี่รีเฟรชสูงเกินไป


1
ไม่มี hwinfo อีกต่อไป
obayhan

1
@obayhan สังเกตได้ดี! คุณสามารถใช้xrandrแทน
Serge Stroobandt

1
ทำงานร่วมกับ 16.04
Jin Kwon

1
นี้. นี่เป็นสิ่งเดียวที่ทำงานกับฉันในวันที่ 16.10
Siguza

4

เพียงแค่พื้นหลังส่วนบุคคล: ในคอมพิวเตอร์เครื่องอื่นของฉันฉันไม่มีปัญหากับโหมดแฟนซี (160 cols x 60 แถว แต่มีจอภาพ CRT 4: 3) มันมาพร้อมกับ TNT2 (ใช่ฉันสาบาน) และโหมดนั้นก็ปรากฏขึ้นทันทีในการบูตครั้งแรก ปัญหาคือมันทำได้โดยการโหลดไดรเวอร์นูโวและผู้ชายคนนี้ยังคงเป็นความผิดพลาดเล็กน้อย (ในกรณีของฉันมันแฮงค์ทั้งระบบเมื่อพยายามย้ายหน้าต่าง) ดังนั้นเพื่อให้มีระบบที่ใช้งานได้ฉันต้องปรับลดรุ่นเป็นไดรเวอร์nvเก่าและเสถียรและยังปิดใช้งานการตั้งค่าโหมด ('ทำให้เคอร์เนลมักจะโหลดนูโวเมื่อเปิดใช้งาน) โปรดทราบว่าฉันไม่ได้ใช้ไดรเวอร์ที่เป็นกรรมสิทธิ์ของ nVidia แต่เช่นเดียวกับคุณฉันเปลี่ยนกลับเป็น 80x25 ในโหมดคอนโซล

นี้เป็นเพราะคนขับ NV ไม่ได้ใช้เคอร์เนลโหมดการตั้งค่า ตอนนี้ฉันไม่รู้เกี่ยวกับไดรเวอร์ที่เป็นกรรมสิทธิ์ แต่ฉันเดาว่าพวกเขาอาจเปลี่ยนการกำหนดค่าของคุณเพื่อให้สามารถใช้งานได้และนั่นอาจเป็นเหตุผลว่าทำไมคุณถึงเห็นโหมด "ใหญ่" อาจเป็นไปได้ว่าพวกเขาปิดใช้งานการตั้งค่าโหมดเมื่อติดตั้ง นั่นเป็นเหตุผลที่คุณเห็นโหมดข้อความ "เล็ก" เมื่อบูตจาก Live CD

คุณสามารถลองบูทได้ด้วยโหมด VESA อื่น แต่มันขึ้นอยู่กับฮาร์ดแวร์ของคุณเป็นอย่างมาก เพื่อที่โปรดตรวจสอบhttp://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers ตัวอย่างเช่นหากคุณต้องการลองบูทโหมดข้อความของคุณใน 1024x640 คุณจะพบว่า ID โหมดนั้นคือ 877

ดังนั้นเมื่อทำการบูทให้กดปุ่ม SHIFT ค้างไว้ (ในกรณีที่คุณไม่มีการหมดเวลาของ GRUB) เพื่อเรียกเมนูของ GRUB ขึ้นมา เลือกโหมดที่คุณต้องการบู๊ตแล้วกด 'e' (เพื่อแก้ไขคำสั่ง) ในตอนท้ายของคำสั่ง "เคอร์เนล" vga=877เพิ่ม หมายเลขคือ ID โหมดหากคุณต้องการลองใช้โหมดอื่นแทนที่ด้วยหมายเลขที่ต้องการ

นอกจากนี้ในหน้า Wikipedia เดียวกันคุณสามารถลองใช้ "รูปแบบสากล" ที่เป็นประโยชน์ด้านล่างตารางโหมด ว่าhwinfoคำสั่งเป็นประโยชน์มาก


1
ฉันใช้ grub2 ไม่ใช่ด้วง ฉันไม่รู้ว่าด้วงนั้นรับผิดชอบคอนโซลดังนั้นฉันจึงไม่ได้พูดถึงสิ่งนี้ในคำถามของฉัน ขอโทษ ฉันพบวิธีแก้ปัญหาด้วย grub2 ความนับถือ!
egarcia

ความจริงแล้วโซลูชันที่คุณพบนั้นดูง่ายขึ้น ดีใจที่คุณแยกออกและขอขอบคุณสำหรับการแบ่งปัน!
Charles Roberto Canato

4

ทำไมฉันตอบภัยคุกคามนี้แม้ว่าจะเก่ามาก คำตอบนั้นง่ายมากเพราะภัยคุกคามอื่น ๆ มากมายที่อ้างถึง

หากvbeinfoหรือhwinfo --framebufferไม่แสดงความละเอียดดั้งเดิมของจอแสดงผลของคุณให้ปิดการใช้งาน vesa เพื่อลบตัวเลือก vga = ใน:

sudo nano /etc/default/grub

ค้นหาGRUB_CMDLINE_LINUX_DEFAULT=และลบvga=หากคุณพบมัน

หากคุณลบตัวเลือกอย่าลืมสร้าง grub.cfg ใหม่:

sudo update-grub

หากคุณไม่ทราบว่าคุณทำได้ดีแล้วให้รีบูตและเปิดเทอร์มินัล:

grep vga /proc/cmdline
grep -ir vga /etc/modprobe.d/

หาก grep ไม่แสดงสิ่งใดแสดงว่าคุณลบตัวเลือก vga =

ตอนนี้ติดตั้ง uvesafb:

sudo apt-get install v86d

ตรวจสอบให้แน่ใจว่าโมดูล uvesafb รวมอยู่ใน initrd ของคุณ เพิ่มไปที่ท้าย / etc / initramfs-tools / modules:

sudo sh -c "echo uvesafb >> /etc/initramfs-tools/modules"

วิธีดูว่ามีโหมดใด:

sudo modprobe uvesafb
cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes

ตอนนี้กำหนดค่า uvesafb mode_option = YOURxResoultion-BitColorMode เช่น 1280x1024-32:

sudo sh -c "echo options uvesafb mode_option=1280x1024-32 scroll=ywrap > /etc/modprobe.d/uvesafb.conf"

อย่าลืมสร้าง initrd ของคุณใหม่:

sudo update-initramfs -k all -u

ตอนนี้คุณสามารถรีบูต!

ดูสิ่งนี้สำหรับรายละเอียดเพิ่มเติม มันเป็นเดเบียน แต่มันก็ใช้ได้กับอูบุนตูด้วย ฉันหวังว่ามันจะช่วยคุณและควรจะเป็นแบบทั่วไปมากกว่าการใช้ grub2


+1 ไม่จำเป็นต้องเปลี่ยนการตั้งค่าด้วงและuvesafbทำงานกับฉันใน Ubuntu 16.04 พร้อมไดรเวอร์ nvidia ที่เป็นกรรมสิทธิ์ ( แนะนำในที่อื่น KMSไม่รองรับในกรณีนี้)
jfs

1

โหมดคอนโซล Ubuntu 18 :

แก้ไข

GRUB_CMDLINE_LINUX_DEFAULT="splash quite"

ใน

/etc/default/grub

ขึ้นบรรทัดใหม่ดังนั้น:

GRUB_CMDLINE_LINUX_DEFAULT="splash quiet vga=XXX nomodeset"

XXX มาจากไหน

https://www.pendrivelinux.com/vga-boot-modes-to-set-screen-resolution/

จากนั้นรีโหลดการตั้งค่าด้วงและรีบูต

update-grub2
reboot

ดูเหมือนว่าคำถามนี้มีคำตอบที่คล้ายกันจำนวนมากอยู่แล้ว บางทีคุณสามารถชี้แจงสิ่งที่กระตุ้นให้คุณเพิ่มคำตอบของคุณ (เช่นข้อมูลที่หายไปจากคำตอบที่โพสต์ก่อนหน้านี้)
cauon

มันง่ายมาก และเหมาะสำหรับ Ubuntu 18 ใหม่ล่าสุด
Paul Paku

0

นี้จะไม่เปลี่ยนแบบอักษรในการบูต แต่สำหรับคอนโซลบนCtrl+ Alt+F[1-6]

ติดตั้งแบบอักษร Ubuntu ที่กำหนดเองสำหรับคอนโซลของคุณ:

sudo apt-get install fonts-ubuntu-font-family-console

และสร้างสคริปต์/usr/local/bin/fontsetด้วยคำสั่งนี้:

#!/bin/sh
setfont /usr/share/consolefonts/Uni3-TerminusBold32x16.psf.gz

(เลือกฟองที่ต้องการจากโฟลเดอร์/usr/share/consolefonts/)

คุณสามารถโทรfontsetแต่ละครั้งบนคอนโซลของคุณหลังจากใช้Ctrl+ Alt+F1

หรือเพิ่มบรรทัดนี้ใน /root/.profile

[ ! -t 0 ] && sleep 1 & /usr/local/bin/fontset

(อย่าเพิ่มสิ่งนี้กับผู้ใช้ของคุณ. profile หรือคุณได้รับข้อผิดพลาดในการบูตกราฟิก)

แหล่งที่มา: ปรับขนาดแบบอักษรบนหน้าจอข้อความบูตและคอนโซล


0

เรื่องต่อไปนี้ใช้ได้กับฉันใน Debian Stretch 4.9.51-1
ไม่มี GUI, โหมดคอนโซลเท่านั้น:

แก้ไข/etc/default/grubและเพิ่มบรรทัดต่อไปนี้

GRUB_CMDLINE_LINUX_DEFAULT="splash vga=795 nomodeset"

สำหรับรายการvga=รหัสดูhttp://pierre.baudu.in/other/grub.vga.modes.html

การnomodesetป้องกันความละเอียดจากการเปลี่ยนอีกครั้งหลังจากด้วงเริ่มต้น [ขอบคุณฉันจะเพิ่มความละเอียดโหมดคอนโซลได้อย่างไร? ]

แก้ไข: ดังกล่าวโดย @Videonauth: หลังจากนั้นทำ: sudo update-grub


เพื่อให้การเปลี่ยนแปลง/etc/default/grubไม่เพียงพอคุณต้องดำเนินการในภายหลังsudo update-grubเพื่อให้มันเกิดขึ้น
Videonauth
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.