我长期使用 Linux,但自从 Ubuntu Netbook Edition 之后,我就远离了它。过去 10 年,我一直在使用 iMac Mid-2010,由于我不打算为购买一台最新的机器而牺牲自己的肾脏,而且我现有的这台机器已经足够好用了,所以我想安装 Ubuntu Studio 20.04。我是一名播客,我开始编辑在线课程的视频。
我的问题是这样的:我将 .iso 刻录到 DVD 上,但我的 iMac 无法识别它(我使用的是外置 DVD 驱动器,因为原来的驱动器刚坏了)。我尝试了三次将映像刷入 USB 闪存驱动器,但当我启动它并选择从闪存驱动器运行 Ubuntu(无论是否安全图形)时,屏幕变黑,迫使我重新启动计算机。
正如我所说,我有一台 2010 年中期推出的 21.5 英寸 iMac;Intel i3 3.06GHz、4GB 1333 MHz DDR3;500GB HD;ATI Radeon HD 4670 256MB。
有人能帮帮我吗?
6月29日,编辑:我成功安装了 Ubuntu Studio 20.04。但是,安装后,需要重新启动,导致屏幕变黑。iMac 正在运行,但屏幕什么都没显示。
答案1
我有一台 2009 年中期生产的 iMac 27 英寸,
安装了 Ubuntu 20.x,
遇到了类似的问题,但按照以下步骤操作后,现在运行正常:
安装后,我进入 LiveCD 模式(尝试 Ubuntu)。这是永久修复的唯一方法(即不是每次启动时都修复)。但是当你从 Live CD 运行时必须修复这个问题时,这有点棘手。本质上,这个想法是从 LiveCD 中安装已安装的 Linux。我这样做了,这对我有很大帮助。所以步骤如下:
- 从 Live CD 运行,然后安装 Ubuntu 或继续(如果已完成)
- 使用命令“gparted”检查已安装的分区。它会打开一个窗口,告诉您 Ubuntu 的安装位置。在我的情况下,它是 /dev/sda2,其中包含一个 ext4 分区。
- 挂载分区:sudo mount /dev/sdXY /mnt 然后挂载/绑定 Grub 需要访问的目录,如下所示:
sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys
- 然后使用 chroot 进入该环境
sudo chroot /mnt
- 您现在应该可以编辑 /etc/default/grub 了。
sudo vi /etc/default/grub
并改变行
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
附言:我发现删除安静和飞溅效果也非常有用,这样我就能看到幕后发生的事情。
- 我唯一剩下的就是更新 grub
sudo update-grub
重新启动后,新设置就位。使用“nomodeset”选项,我能够从 MacBook Pro 硬盘启动 Ubuntu 和 Lubuntu。
祝你好运
答案2
我遇到过类似的黑屏/空白屏幕问题。从我一年多前的研究来看,这似乎源于旧版 Radeon HD 4670 GPU 缺乏用户空间模式设置支持 (UMS)。虽然我找不到原始链接,但有人已经发布了 2010 年版配备 Radeon HD 4670 的 iMac 的关键 xrandr 参数。在此基础上,以下是对我有用的解决方案。希望它能帮助其他人。
我让 iMac 完全启动,按一次回车键选择我看不到的默认登录名,然后输入密码。接下来,我输入 Ctrl+Alt+t 打开终端。当然,我仍然在盲目运行,所以我按了退格键以确认终端已打开。终端中的退格键会发出提示音。接下来我输入:
xrandr -d $DISPLAY --output eDP --crtc 1
黑暗中出现了我的桌面。
为了让 xrandr 与 GDM3 一起工作,我必须通过取消注释 /etc/gdm3/custom.conf 中的 WaylandEnable=false 来禁用 Wayland。
接下来,我使用上面的 xrandr 命令创建了一个 bash 脚本 /usr/local/bin/fix_display。
printf '%s\n' '#!/bin/bash' 'xrandr -d $DISPLAY --output eDP --crtc 1' | sudo tee /usr/local/bin/fix_display
sudo chmod 755 /usr/local/bin/fix_display
从 /etc/gdm3/Init/Default 调用 fix_diplay 脚本不起作用,可能是因为报告的错误导致 GDM3 实际上没有调用 Init/Default 脚本。所以我搜索了其他解决方案。Journalctl 显示 /etc/gdm3/Prime/Default 被调用,所以我编辑了 /etc/gdm3/Prime/Default 以调用 /usr/local/bin/fix_display,这允许在 GDM3 启动时运行 xrandr 命令。
最后,我编辑了 ~/.xsessionrc 来调用 /usr/local/bin/fix_display,这样我就不必在每次登录时盲目地打开终端并输入命令。
echo /usr/local/bin/fix_display >> ~/.xsessionrc
我重新启动并且 X11 的内部显示器可以正常工作。
现在,重新启动时屏幕最初会变黑,但一旦 GDM3 启动就会恢复。登录时,屏幕再次变黑片刻,然后在 .xsessionrc 运行时恢复。注意,GDM3 在显示器 :0 上运行,每个并发用户从那里开始递增...因此第一个用户最终在显示器 :1 上,第二个并发用户在 :2 上,依此类推。
最终,我无法将上面的 xrandr 命令参数转换为有效的 Xorg 配置文件,因此我将继续使用此解决方法。
说到 2010 年的 iMac,如果您使用 mbpfan 来控制风扇速度,请确保将所有三种风扇速度添加到 conf 文件中。我的 iMac 运行起来有点热,我想我只是丢失了 LED 驱动板,因为我的背光灯坏了。需要克服的新黑暗……
答案3
我正在经历这个过程,并且拥有与您完全相同的硬件。唯一的区别是我是从实时 USB 而不是 DVD 启动的。当 GRUB 菜单显示您需要按下E并通过添加 来修改命令行时nomodeset
,它将以图形界面启动。安装后,您需要更改 GRUB 配置以使其永久生效。