我希望有人能帮助我...运行 Ubuntu 12.10 GNOME Remix
我正在努力Grub2使用分辨率1600x900...
我检查过信息和hwinfo --framebuffer两者都提供:
模式 0x037f:1600x900 (+6400),24 位
此解决方案适用于以前的 Ubuntu 和 Fedora 安装。
这是我的 /etc/default/grub:http://paste.ubuntu.com/1308444/
第 25 行 =GRUB_GFXMODE="1600x900"
以及我的 /boot/grub/grub.cfg:http://paste.ubuntu.com/1308446/
第 72 行 =set gfxmode=1600x900
我曾尝试使用 grub-customizer:
为啥没生效??我尝试了不同的分辨率...背景和字体颜色是可以改变的。
感谢您的见解。
答案1
设置模式时,请尝试同时包含位深度/etc/default/grub
,例如:
GRUB_GFXMODE=1600x900x24
还添加这一行:
GRUB_GFXPAYLOAD_LINUX=keep
运行sudo update-grub
,重新启动,并让我们知道它是否有效。
答案2
我认为GRUB_GFXMODE
被忽略了(或者至少在某个时间点之前)。你总是可以尝试使用 vga 代码的传统方式
首先安装
hwinfo
:sudo apt-get 安装 hwinfo
然后您将获得 vgacode
hwinfo
(首选分辨率,24 位):sudo hwinfo --framebuffer
02:无 00.0:11001 VESA 帧缓冲区
[在 bios.464 上创建]
唯一 ID:rdCR.ku_DuSHewh1
硬件类:帧缓冲区
型号:“Intel(R)Sandybridge 移动图形控制器”
供应商:“Intel Corporation”
设备:“Intel(R)Sandybridge 移动图形控制器”
子供应商:“Intel(R)Sandybridge 移动图形芯片组加速 VGA BIOS”
子设备:
修订版:“硬件版本 0.0”
内存大小:63 MB + 960 kB
内存范围:0xd0000000-0xd3feffff (rw)
模式 0x0360:1366x768 (+1408),8 位
模式 0x0361:1366x768 (+2752),16 位
模式 0x0362: 1366x768 (+5504),24 位
模式 0x0363: 1600x900 (+1600),8 位
模式 0x0364: 1600x900 (+3200),16 位
模式0x0365:1600x900 (+6400),24 位
模式 0x0366:1920x1080 (+1920),8 位
模式 0x0367:1920x1080 (+3840),16 位
模式 0x0368:1920x1080 (+7680),24 位
模式 0x0307:1280x1024 (+1280),8 位
模式 0x031a:1280x1024 (+2560),16 位
模式 0x031b:1280x1024 (+5120),24 位
模式 0x0305:1024x768 (+1024),8 位
模式 0x0317:1024x768 (+2048),16 位
模式 0x0318:1024x768 (+4096),24 位
模式 0x0312:640x480 (+2560),24 位
模式 0x0314:800x600 (+1600),16 位
模式 0x0315:800x600 (+3200),24 位
模式 0x0301:640x480 (+640),8 位 模式
0x0303:800x600 (+832),8 位
模式 0x0311:640x480 (+1280),16 位
配置状态:cfg=new、avail=yes、need=no、active=unknown您编辑一行
/etc/default/grub
(或者您只是使用grub-customizer
)来包含vga=0x0365
或vga=891
(0x365 是 869):sudo gedit /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=891"
...更新 grub 配置:
sudo 更新 grub
重新启动并让我们知道发生了什么
答案3
刚刚为我解决了同样的问题。以下是我所做的:
禁用之前的帧缓冲区(对我来说是 vga16fb)并启用 uvesafb:
/etc/modprobe.d/blacklist-framebuffer.conf:
...
blacklist vga16fb
您可以使用命令找到当前正在使用的帧缓冲区lsmod | grep fb
。
/etc/modprobe.d/framebuffer.conf:
options uvesafb mode_option=1680x1050-24 mtrr=3 scroll=ywrap
/etc/模块:
...
uvesafb
下一步是将 uvesafb 放入 initrd 映像中。
在/etc/initramfs-tools/模块中:
...
uvesafb mode_option=1680x1050-24 mtrr=3 scroll=ywrap
重新创建 initrd:sudo update-initramfs -u
目前,高分辨率控制台应该在启动后可用。下一个任务是将 grub2 转为高分辨率模式。由于某些原因,我的 grub 配置文件中缺少几个重要选项,因此我将它们添加到 /etc/default/grub 中:
GRUB_VIDEO_BACKEND="vbe"
GRUB_TERMINAL_OUTPUT="gfxterm"
GRUB_GFXMODE="1680x1050x24"
GRUB_GFXPAYLOAD_LINUX="1680x1050x24"
我不确定下一节,它可能不是必需的,但这是我对 /etc/grub.d/00_header 所做的:
几乎在文件的顶部,有许多if [ "x${GRUB_...
后备操作符。我又添加了两个:
if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1680x1050x24 ; fi
if [ "x${GRUB_GFXPAYLOAD_LINUX}" = "x" ] ; then GRUB_GFXPAYLOAD_LINUX=1680x1050x24 ; fi
现在找到该文件中的文本set gfxmode=${GRUB_GFXMODE}
,并将以下代码插入下一行:
set gfxpayload=${GRUB_GFXPAYLOAD_LINUX}
再次,我不确定它是否需要最新的 grub2(我有 1.98)现在更新 grub 配置文件:
sudo update-grub2
并且一切都应该正常工作。
答案4
就我而言,除了 /etc/default/grub 之外,还有其他配置文件,/etc/default/grub.d/kali-themes.cfg(正如您所想象的,它是 Kali Linux,debian 衍生产品,就像 Ubuntu 一样)。
它有一行 GRUB_GFXMODE="auto,1280x720,1280x800",它破坏了一切。现在,删除它并执行 update-grub 可以在我的真实系统上修复它。
请注意,有些分辨率不能自动工作!它们是一些非标准分辨率,例如 1150xsomething(例如在 vmware 上)。您需要在 GRUB_GFXMODE 中明确告知 grub。
还要注意,在 vmware 中这永远不会起作用,因为 Vmware 中的 GOP UEFI 驱动程序不支持更高的分辨率(请参阅 uefi-grub 命令行中的 videoinfo 命令)。
还要注意,只有不带 CSM 的 UEFI 启动才支持 nvidia GPU 中的高分辨率,不支持 BIOS VESA 扩展,因为 nvidia 仍然没有编写该驱动程序,但有了 UEFI 就不再需要它了。
还请注意,尽管 grub 中可以有 60 fps,但无法设置 120 Hz 或 100 Hz(至少在我看来),这意味着切换到 Linux 内核屏幕时不流畅,这就是为什么您可能希望直接启动内核而不使用 grub。阅读有关 EFISTUB 内核模式的信息。它还将在 debian 支持的签名内核的许多情况下允许安全启动。