在 Mac 上安装 Linux 时应该注意什么?

在 Mac 上安装 Linux 时应该注意什么?

我有一台 Macbook Pro,我很喜欢它,虽然我仍然想念我的 Linux 机器,但我需要的很多东西与 Mac OS X 不完全兼容。我听到了很多关于在 Mac 操作系统上安装 Linux 的故事,有人说这是不是问题,但其他一些人往往有不同的说法。

我的问题是,在 Mac OS 机器上安装 Linux 可以吗?优缺点都有什么?

我非常了解虚拟机,但说实话,它们在物理硬件上运行时运行得不太好。

答案1

太长了;博士: 这是可行的,但你需要做一点工作。如果您没有能力使用以太网,并且从 netinst 介质进行安装,那么您基本上就完蛋了(尽管如果您真的下定决心可以让它工作)。

当我最初写这个答案时,我只做了一次,但现在我在另一台 Mac 上再次做了一次,所以我把这篇文章分成了两部分。

MacBook Pro 上的 Debian Jessie

2011 年初,我已在我的 MacBook Pro 上成功安装了 Debian Jessie(目前又称为 Debian 测试)。

我马上要说的是:如果你有 MacBook Air 和/或没有以太网线,如果你使用基于网络安装的发行版(例如 Arch Linux 或推荐的 Debian 映像),那么你基本上就完蛋了,或 Ubuntu 备用 CD 之一)。您基本上必须下载所有固件文件,以阻止进行网络配置的方式启动安装介质,手动安装固件,然后尝试让它获取固件。然后让它进行网络配置。说实话,我从来没有做到这一点,也不完全确定这是一个合理的计划。

除此之外,安装过程很顺利。如果您打算保留 OS X,则应该使用 OS X 的内置磁盘实用程序来调整大小,因为 GNU/Linux 目前不支持默认 Mac 文件系统配置(带有日志功能的 HFS+,对于那些好奇的人来说;仅支持写入)无需日记即可工作)。请注意,您不必启动到恢复分区即可执行此操作 - HFS+ 可以在线调整大小 - 但是您可能会看到磁盘工具或整个计算机冻结。别担心,这种情况在我身上发生过几次,你只需要让它做它的事情,但在这个过程发生时你将无法使用 Mac。我听说磁盘工具在创建空分区时存在错误(您必须为磁盘工具执行此操作才能调整大小)。因此,我建议在新分区上创建 FAT 文件系统。欢迎您尝试选择“无”选项,但我谨慎行事。

由于我使用了 Debian 安装程序,我不太确定它是如何安装 GRUB 的(我很快就会用 Arch 替换 Debian,所以我将用我的结果编辑这个答案)。它似乎已安装到 Mac 中的 EFI 分区,但我不确定除此之外它是否还有其他作用。大概不是,但谁知道呢。安装 GRUB 后,您需要重新启动到 Mac OS X。打开终端,挂载 EFI 分区(用于diskutil list转储有关磁盘的信息;它类似于 OS X 的blkid或版本lsblk),然后使用该bless实用程序,直到进入 GRUB重新启动时的菜单。 (我不知道具体的步骤,因为我同时尝试了很多事情,因为我不想等待 OS X 漫长的重启时间)。man bless有关此实用程序的详细信息,请参阅OS X 中的内容。

请注意,是的,成功后您将直接进入 GRUB 启动菜单(假设您正在使用 GRUB)。我不确定它的内部工作原理,尤其是 Apple 的 Moon-man EFI 实现,但以下是您选择启动操作系统的方式:

  1. 如果你想要 GNU/Linux,什么也不做。将出现 GRUB 启动菜单(再次假设您正在使用 GRUB)。

  2. 如果您需要 Mac OS X,请等待启动音,然后按住 Option 直至出现磁盘选择器菜单。应出现两个磁盘选项:Macintosh HD 和 EFI Boot。选择Macintosh HD。笔记:GRUB 中的 Mac OS X 选项似乎除了挂起之外什么也不做。

  3. 如果您想要 Mac OS X 恢复,请等待启动音,然后按住 Option 直至出现磁盘选择器菜单。这与启动常规 OS X 完全相同,只是您选择 EFI 启动而不是 Macintosh HD。

Xorg 中的触摸板驱动程序极其缺乏。 Xorg 将为你选择 Synaptics 驱动程序,这在 Apple 触摸板上简直就是垃圾。因此,谷歌搜索直到你找到一个像样的驱动程序,然后在你的xorg.conf(或xorg.conf.d,取决于发行版)中用它覆盖Synaptics驱动程序,尽管我从来没有找到一个真正可以在Apple触控板上右键单击的驱动程序,这很好颈部疼痛。我会告诉你我的配置的具体细节,但我有一个初始的 Time Machine 备份正在运行,并且懒得重新启动到 Debian。不过,当我这样做时,我会编辑这个答案。

除了无线(需要固件,但只要有以太网线就可以轻松启动)之外,最大的问题是如果我合上盖子,屏幕无法唤醒。键盘背光会打开,但屏幕不会打开。初步谷歌搜索说这是一个内核错误,但我还没有研究确切的修复方法。我已经开始尝试使用pm-*实用程序系列(例如pm-suspend),但还没有做任何深入的事情。此问题的解决方法是切换到虚拟控制台,以“散焦”Xorg。这样,当您合上盖子时,您的计算机根本不会尝试暂停。请注意,这意味着背面的 Apple 徽标将继续点亮,尽管调低屏幕亮度也会影响 Apple 徽标。但请注意,只有当 Xorg 处于“焦点”状态时,您才能使用功能键。这让我很清楚地进入了下一个主题......

键盘基本可以正常使用。选项的工作原理与您所期望的完全一样。命令是超级键。唯一让我困惑的是——虽然时间不长——是不需要按下 Fn 的功能键是硬件问题,而不是软件问题。因此,按亮度调高的工作原理与 OS X 中相同 - 当您按 F2 时,它会调高亮度,当您按 Fn+F2 时,它会发送 F2 键。

我要提到的最后一件事是我从未使用过 3D 加速功能。 GLX Gears 演示适用于(我认为)mesa,但我启动到了 GNOME Fallback,所以显然真正的加速不起作用。我发现的解决方案让我在启动时挂起(请参阅我的博客中关于 Debian 安装的最后一篇文章),所以我认为实际上没有解决方案,至少在软件包linux-firmware-nonfree被进一步拆分之前是这样。

如果您对所有血腥细节感兴趣,您应该阅读我关于此事的博客文章(只需单击“下一步”,直到到达“我修复了一切”)。他们可能还提到了一些我一时记不起的细节(比如触摸板驱动程序的名称!)。

iMac 上的 Arch Linux(2013 年 9 月图像)

我从 OS X 为 Arch 安装分配了空间(请参阅 Debian 部分的开头以了解其背后的原因),/home/.

CD 可以正常启动 - 只需按住选项,然后选择标有“EFI Boot”的 CD 图标即可。键盘工作正常,直到您在“启动 Arch”选项上按 Enter 键,此时 Arch 可能会接管 EFI,从而接管 EFI 蓝牙键盘驱动程序。因此,您需要一个 USB 键盘来实际完成安装。

启动后我做的第一件事就是使用 连接到互联网wifi-menu,令人惊讶的是,它运行顺利。接下来,我用 搞乱了为 Arch 分配的分区大小cgdisk,因为我改变了主意 - 这显然没问题,我能够毫无问题地重新启动到 OS X。我遇到的一个问题是我的分区太小了,想切入OS X分区来扩展它。然而,当我使用“磁盘工具”缩小 OS X 分区时,它说“准备分区...”,然后就再也没有进一步的信息了。尝试从恢复分区执行此操作(Macintosh HD 已安装和未安装):结果相同。所以这个故事的寓意是:确定你的分区布局你安装!

从那时起,安装就没有问题了。当我开始安装引导加载程序时,我安装了Arch 的grubefibootmgrdosfstools软件包,正如维基百科推荐的那样。我另外安装了os-prober,尽管根据软件包描述这仅适用于 BIOS 系统。我安装了 EFI 系统分区/boot/efi(按照 wiki,我将在$esp下面引用它)。请注意(至少在我的计算机上)EFI 系统分区是第一个分区,使其/dev/sda1在 GNU/Linux 和/dev/disk0s1OS X/Darwin 下。我使用以下命令安装了 GRUB:

grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --recheck --debug

如果您懒得看的话,这几乎是 wiki 推荐的简单安装方式(不是将所有内容都保留在 EFI 分区中,所以有些东西会放进去/boot)。最后它说“此系统不支持 EFI 变量”,但它似乎仍然安装正常(ls /boot/efi/EFI除了“APPLE”之外还返回“grub”)。

接下来,我生成了grub.cfg

grub-mkconfig -o /boot/grub/grub.cfg

我会注意到,它似乎在正确的分区上找到了 OS X,尽管根据我在 Debian 中的经验,我打赌菜单项将无法工作。我们拭目以待。接下来,我重新启动到 OS X - 我似乎没有破坏任何东西,尽管 EFI 固件似乎需要稍长的时间才能看到 Apple 徽标,而不仅仅是灰屏(可能只是我个人的问题,不确定)。

为了准备使用,bless我在 OS X 中安装了 EFI 分区:

sudo mkdir /mnt
sudo mount -t msdos /dev/disk0s1 /mnt
cd /mnt

接下来,我执行了这一精确的命令序列,在每个命令之间重新启动以检查它是否有效(并在每次重新启动时重新安装):

sudo bless --folder /mnt/ --bootefi EFI/grub/grubx64.efi

这产生了不同的结果,而且可以说比我在 Debian 上的尝试更好。这次发生的事情是,当您按住 Option 时,现在会提供“EFI Boot”作为选项,以及“Macintosh HD”和“Recovery-$YOUR_INSTALLED_OS_X_VERSION”。

GRUB 成功加载了 Arch,但我陷入了 initrd shell。这是因为我配置错误,导致 LUKS 设备从未创建,但这并不是由于 Mac 特定的问题。

这是我所了解到的,但稍后我会回来进行更多编辑。

答案2

我在 2010 MBP 上安装了 Ubuntu 12.04 64bit for Mac。这个对我有用。安装没有问题,等等。但是......看起来 - 我强调这些只是印象,没有经过测试支持......电源管理不太正确,整体用户体验不如操作系统那么流畅X. 这很奇怪,因为我在 HP 笔记本上使用 Ubuntu 12.04 没有问题。

和你一样,我也尝试过寻找答案,但没有找到太多答案。考虑到 Linus Torvalds 使用 MacBook Air,这些琐碎的问题“应该”已经得到解决。话又说回来,这可能都是因为我使用的是较旧的 MBP。

最后,我拉出了 HD 并安装了带有 OS X 的 SSD。

相关内容