先說一下別人是怎麼修改文本模式下的屏幕分辨率的,隨便在網上搜索以下都可以看到好多教程,內容幾乎如出一轍,原話是:
教程一
Linux字符界面下設置分辨率:
vi /boot/grub/menu.lst
| 640x480 800x600 1024x768 1280x1024
256 | 0x301 0x303 0x305 0x307
32k | 0x310 0x313 0x316 0x319
64k | 0x311 0x314 0x317 0x31A
16M | 0x312 0x315 0x318 0x31B
其實簡單的很,就是grub即可,編輯grub.conf
在kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ rhgb quiet後面加上分辨率的設置:
kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ vga=791 rhgb quiet
不同色彩和分辨率所對應的值
depth-----640x480----800x600----1024x768-----1280x1024
8bit---------769--------771--------773----------775
15bit--------784--------787--------790----------793
16bit--------785--------788--------791----------794
24bit--------786--------789--------792----------795
好像添加一行vga=0x31?就行了(很久沒用lilo了,有點記不起來啦)
其中0x31?是設定具體分辨率值,可參考一下列表,不要亂設
1280x1024是0x31a
1024x768是0x317
800x600是0x314
640x480是0x311
筆者最近在百度知道里看到一個提問,內容是下面這樣的,似乎這位網友解決了分辨率配置的問題,我們也可以參考他的配置思路,看能不能實現文本模式下分辨率的配置。
教程二
提問:
在linux用vga=791 選項調文本模式下的分辨時,有時候重啓會提示不成功設置到這個模式。但是vga=788 的話,重啓沒有問題。我要怎麼做才能讓linux都可以正確設置到vga=791?
我的系統是fedora core 6 內核是2.6.33.3 顯卡最高能支持1024x768(85Hz)
問題補充:
謝謝kwydwuf,感覺很接近,有沒有工具可以在啓動後切換到模式1024x768 (8:8:8)上去?
VBE Version 3.0
NVIDIA
[256] 640x400 (256 color palette)
[257] 640x480 (256 color palette)
[259] 800x600 (256 color palette)
[261] 1024x768 (256 color palette)
[263] 1280x1024 (256 color palette)
[270] 320x200 (5:6:5)
[271] 320x200 (8:8:8)
[273] 640x480 (5:6:5)
[274] 640x480 (8:8:8)
[276] 800x600 (5:6:5)
[277] 800x600 (8:8:8)
[279] 1024x768 (5:6:5)
[280] 1024x768 (8:8:8)
[282] 1280x1024 (5:6:5)
[283] 1280x1024 (8:8:8)
[304] 320x200 (256 color palette)
[305] 320x400 (256 color palette)
[306] 320x400 (5:6:5)
[307] 320x400 (8:8:8)
[308] 320x240 (256 color palette)
[309] 320x240 (5:6:5)
[310] 320x240 (8:8:8)
[317] 640x400 (5:6:5)
[318] 640x400 (8:8:8)
[325] 1600x1200 (256 color palette)
[326] 1600x1200 (5:6:5)
[327] 1400x1050 (256 color palette)
[328] 1400x1050 (5:6:5)
[338] 2048x1536 (8:8:8)
網友回答:
# +-------------------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+--------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
# +-------------------------------------------------+
參考上表, 可能是顯卡或使用的framebuffer驅動不支持64K下的 1024x768, 你可以試一下低色率或者高色率下的1024x768 (比如790/792),看看是否能正常工作。另外,不知道fedora下是否有vbetest這個工具,vbetest可以測試顯卡支持的分辨率,運行vbetest (以root身份),你會得到類似於如下的輸出 (下面的是我機器上的輸出)
...
[261] 1024x768 (256 color palette)
[279] 1024x768 (5:6:5)
[280] 1024x768 (8:8:8)
...
[xxx]裏的xxx就是支持的模式對應的數字,這個xxx加上512就是你用到 vga=nnn 裏的數字,比如我要用24位真彩色(8:8:8),就填 280+512 vga=792
提問者評價:
雖然沒有完美解決,但有所改善。
謝謝!
謝謝其它人的回答(我的標題應該是"修改文本模式下的分辨率")。
筆者補充
筆者在上面囉嗦了這麼多廢話,可我要告訴你們的是,我並沒有實現文本模式分辨率的設置,不知道是不是因爲我是在虛擬機裏面運行Linux操作系統的緣故。也希望有人根據上面教程實現了文本模式分辨率的配置之後能給我提供一些寶貴意見。
不過我在分辨率配置的過程中遇到了一個很頭疼的問題,就是我按照第一個教程裏面說的修改了/boot/grub/menu.lst文件後,Linux系統無法正常啓動了,每次啓動顯示器都是全黑色連一個字符都不顯示,也就是說連文本模式也進不去了,更別提圖形界面。出現這種情況多次重啓無效,網上也沒找到解決辦法,我差一點就想重裝Linux系統了,不過後來經過我的摸索,這才發現瞭解決方案。
這裏我要跟大家分享的是,當分辨率設置出現問題,無法正常啓動Linux時該怎麼做!
第一步:打開系統時,按f2進入GNU啓動引導程序
圖1-1 按f2進入引導程序
第二步:進入之後可以看到以下提示,按e在引導前編輯命令,我們這時按"e"
圖2-1 按"e"編輯引導項
第三步:接着我們會進入下面的界面,如果你已經在kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ rhgb quiet後面加上分辨率的設置:kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ vga= 0x317 rhgb quiet那麼 線框圈着的引導項下面便會有當時配置的命令。即"kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ vga= 0x317 rhgb quiet",我們可以按"d"鍵把它移除,然後光標移動到第一行root(hd0,0)按"b"鍵進行引。這時我們就正常的進入系統啦!別忙着高興,儘管剛纔刪除了"kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ vga= 0x317 rhgb quiet"但是這只是這次引導時不加載這一選項,也就是說下次啓動還是不正常的。這時,我們要再次把原來的文件修改回初始狀態,把當時增加的"kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ vga= 0x317 rhgb quiet"刪除即可。
圖3-1 "d"刪除線框下面的引導項,移動光標到第一行按"b"引導
圖3-2 刪除"kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ vga= 0x317 rhgb quiet"並保存