我有一个相当特殊的设置,在 MacBook 笔记本电脑上使用 Linux。
要关闭其中的辅助显卡,我需要将这些行添加到我的 grub 中
outb 0x728 1
outb 0x710 2
outb 0x740 2
outb 0x750 0
我通过按“e”键选择我选择的 grub 菜单选项并逐行添加行来完成此操作。然后最终启动。但正如我们所知,这不是永久的。
我真的不知道需要将它添加到哪里,以便 grub 始终将它附加到我的 Linux 启动选项中。
它似乎不属于 /etc/default/grub,因为在这里我可以向内核启动行添加内容
老实说,我害怕在我的计算机上摆弄太多的 grub,因为让它三重启动 Linux/Mac/Windows 是一件非常微妙且需要时间的事情。
有人知道应该把它添加到哪里吗?
答案1
如果将此代码添加到 /boot/grub/custom.cfg(如果文件不存在则创建该文件)那么它将在显示 grub 菜单之前执行。
我不知道这些 outb 命令到底在做什么,所以我不知道运行它们是否安全,或者运行它们是否会干扰 grub 菜单的显示,所以请您自行承担风险。
答案2
老实说,为了防止更新grub
破坏您的系统,/boot/grub/custom.cfg
我强烈建议您在GRUB
提示时点击e
编辑默认启动菜单:
如果一切顺利,通常需要改变线路,在我的例子中MBP 8 2:
A。启动 USB 驱动器 -
linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash ---
到
linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper radeon.modeset=0 i915.modeset=1 i915.lvds_use_channel_mode=2 i915.lvds_use_ssc=0 ---
B.Ubuntu 应该启动并显示正常的图形屏幕。
安装完成后,重复 A从上面。
C 从刚刚安装了 Ubuntu 的硬盘启动后,从实时 USB戳,
- 编辑
sudo vi /etc/grub.d/00_header
- 并插入:
outb 0x728 1 outb 0x710 2 outb 0x740 2 outb 0x750 0
- 并插入:
在该行后面,搜索gfx
,内容为:set gfxmode=${GRUB_GFXMODE}
。代码片段摘录如下:
set gfxmode=${GRUB_GFXMODE} load_video insmod gfxterm
这个过程之后/etc/grub.d/00_header
看起来应该是这样的:
set gfxmode=${GRUB_GFXMODE} outb 0x728 1 outb 0x710 2 outb 0x740 2 outb 0x750 0 load_video insmod gfxterm
- 问题
update-grub
这样,下次您运行时sudo apt update && sudo apt upgrade
碰巧有grub
升级,您的安装就不会搞砸了。
干杯,里瓦诺夫