在已经安装了macOS和Windows的Mac上安装Ubuntu

我有一台双系统的MacBook Pro 2013年底款,已经安装了macOS Sierra和Windows 10(BOOTCAMP)。我想要再安装Ubuntu作为第三个操作系统。有没有(简单)的方法可以实现这个?
> Disk Partitions:

enter image description here

> Gpt dev disk0

enter image description here

> Fdisk disk0

enter image description here

Disk Utility


相关链接:http://askubuntu.com/questions/110843/installing-ubuntu-on-mac-using-bootcamp?rq=1 - user589808
从2012年到现在?什么都还没有改变(无意冒犯!)@CelticWarrior - Soner from The Ottoman Empire
相关但不是重复的。如果你已经在使用Bootcamp了,添加另一个虚拟机可能比双(三)启动更容易。 - user589808
1个回答

这个答案在您的计算机上安装Ubuntu,不需要使用第三方工具来安装或启动Ubuntu。我下载的Ubuntu文件名为ubuntu-16.10-desktop-amd64.iso。我假设您已经创建了一个可引导的Ubuntu USB闪存驱动器安装程序,并验证了其内容。我还假设您已经通过成功启动Ubuntu的实时版本来验证了硬件兼容性。以下是将这些说明分为三个主要部分的列表:
- 创建用于Ubuntu的驱动器空间:通过使用MacOS终端应用程序输入命令来完成此操作。 - 安装Ubuntu:使用Ubuntu闪存驱动器安装程序进行安装。 - 将Ubuntu添加到启动管理器:在这里,您基本上使用MacOS将必要的文件移动到正确的位置。这将允许从启动管理器中选择Ubuntu。您不需要使用rEFInd来启动Ubuntu。
请注意: 如果其他用户的分区方案与此示例中显示的不同,请给我留言,我会尽力更新我的答案。
为了说明所需的步骤,我创建了一个比您实际驱动器稍大的驱动器。
以下是从diskutil list disk0命令的输出结果。
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            180.7 GB   disk0s2
   3:         Microsoft Reserved                         16.8 MB    disk0s3
   4:       Microsoft Basic Data BOOTCAMP                70.1 GB    disk0s4

下面是从sudo gpt -r show /dev/disk0命令的输出结果。
      start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  352968704      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  353378344       4056         
  353382400      32768      3  GPT part - E3C9E316-0B5C-4DB8-817D-F92DF00215AE
  353415168  136818688      4  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  490233856    9766151         
  500000007         32         Sec GPT table
  500000039          1         Sec GPT header

下面是使用sudo fdisk /dev/disk0命令的输出结果。
Disk: /dev/disk0    geometry: 31123/255/63 [500000040 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE 1023 254  63 - 1023 254  63 [         1 -  500000039] <Unknown ID>
 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused      

我决定为Ubuntu分配大约40GB的空间。如果你需要不同大小的空间,那么请做出相应的调整。我将会创建3个新的分区供Ubuntu使用。每个分区的描述如下:
- 一个交换分区。这个分区的大小应该在你的Mac电脑安装的内存大小的1到2倍之间。我将使用800MB的大小。显然,你将使用更大的空间。
- 一个用于存放Ubuntu的Ext4日志文件系统分区。这个分区将占用我为Ubuntu分配的大约40GB的大部分空间。
- 一个EFI系统分区。这是Ubuntu出现在Mac启动管理器中所需的。当你打开或重启Mac并按住“option”键时,启动管理器就会出现。启动管理器可以用来更改默认启动磁盘(即操作系统),或者可以临时从启动磁盘引导。我选择了500MB的大小作为这个分区的大小。
我选择允许Ubuntu安装程序实际创建3个新分区。所以在这一点上,我只需要将MacOS分区缩小约40GB,并创建3个新的占位符分区。这些占位符分区稍后将由Ubuntu安装程序替换为上述实际分区。
下面是更改分区的命令。由于MacOS分区大约为180GB,我使用了一个期望值为140GB(140G)。此外,我使用了800MB(800M)作为新Swap分区的大小。如果您需要更大的大小,则需要进行相应的替换。注意:两个200MB(200M)的值是任意选择的,这些值稍后会更改。
diskutil resizevolume disk0s2 140G 3 jhfs+ part1 800M jhfs+ part2 200M jhfs+ part3 200M

这个命令的输出如下所示。
Started partitioning on disk0s2 Macintosh HD
Verifying the disk
Verifying file system
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume Macintosh HD appears to be OK
File system check exit code is 0
Resizing
Waiting for the disks to reappear
Formatting disk0s3 as Mac OS Extended (Journaled) with name part1
Initialized /dev/rdisk0s3 as a 763 MB case-insensitive HFS Plus volume with a 8192k journal
Mounting disk
Formatting disk0s4 as Mac OS Extended (Journaled) with name part2
Initialized /dev/rdisk0s4 as a 191 MB case-insensitive HFS Plus volume with a 8192k journal
Mounting disk
Formatting disk0s5 as Mac OS Extended (Journaled) with name part3
Initialized /dev/rdisk0s5 as a 37 GB case-insensitive HFS Plus volume with a 8192k journal
Mounting disk
Finished partitioning on disk0s2 Macintosh HD
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            140.0 GB   disk0s2
   3:                  Apple_HFS part1                   800.0 MB   disk0s3
   4:                  Apple_HFS part2                   200.0 MB   disk0s4
   5:                  Apple_HFS part3                   39.5 GB    disk0s5
   6:         Microsoft Reserved                         16.8 MB    disk0s6
   7:       Microsoft Basic Data BOOTCAMP                70.1 GB    disk0s7

注意:最后的200M被diskutil命令忽略了。相反,大部分剩余的空闲空间被分配给了disk0s5切片。
sudo gpt -r show /dev/disk0的输出如下所示。
      start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  273437496      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  273847136     262144         
  274109280    1562496      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  275671776     390616      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  276062392   77057864      5  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  353120256     262144         
  353382400      32768      6  GPT part - E3C9E316-0B5C-4DB8-817D-F92DF00215AE
  353415168  136818688      7  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  490233856    9766151         
  500000007         32         Sec GPT table
  500000039          1         Sec GPT header

从上面给出的命令sudo fdisk /dev/disk0的输出结果没有发生变化。
安装Ubuntu。
  1. 插入Ubuntu闪存驱动器并重新启动Mac。按住 option键以调用启动管理器。选择从USB闪存驱动器启动EFI。 提示时,选择下面显示的选项。

    注意:为了更好地查看,请单击图像或在新窗口中打开图像。

    21

  2. 选择语言。

    22

  3. 我选择同时选择下面两个选项。

    23

  4. 选择下面显示的选项。

    24

  5. 选择下面显示的分区。此分区应与之前在输入diskutil resize volume命令时指定的交换分区大小相同。

    61

  6. 点击“更改…”并在弹出窗口中选择“交换区”,如下所示。不要更改分区大小。然后,点击“确定”。

    62

  7. 选择下面显示的分区。然后,点击“-”删除此分区。

    63

  8. 选择下面显示的空闲空间。

    64

  9. 点击“+”打开“创建分区”弹出窗口。选择“EFI系统分区”。同时,将大小更改为500 MB,并点击“此空间的末尾”按钮。然后,点击“确定”。

    65

  10. 选择下面显示的分区。然后,点击“-”删除此分区。

    66

  11. 选择下面显示的空闲空间。

    67

  12. 点击“+”打开“创建分区”弹出窗口。选择“Ext4日志文件系统”。同时,选择“/”作为“挂载点”。不要更改分区大小。然后,点击“确定”。

    68

  13. 点击下面显示的“立即安装”按钮。

    69

  14. 点击下面显示的“继续”按钮。

    70

  15. 选择您所需的位置。

    71

  16. 选择您的键盘。

    {{link16:72命令sudo gpt -r show /dev/disk0生成了以下输出。

          start       size  index  contents
              0          1         PMBR
              1          1         Pri GPT header
              2         32         Pri GPT table
             34          6         
             40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
         409640  273437496      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
      273847136     262144         
      274109280    1562496      3  GPT part - 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
      275671776       1312         
      275673088   76732416      4  GPT part - 0FC63DAF-8483-4772-8E79-3D69D8477DE4
      352405504     976896      5  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
      353382400      32768      6  GPT part - E3C9E316-0B5C-4DB8-817D-F92DF00215AE
      353415168  136818688      7  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
      490233856    9766151         
      500000007         32         Sec GPT table
      500000039          1         Sec GPT header
    

    注意:在安装Ubuntu时,3个占位分区已被替换为指定的分区。
    要使Ubuntu出现在启动管理器中,请执行以下步骤。
    1. 输入以下命令来挂载EFI系统分区。

      diskutil mount disk0s1
      diskutil mount disk0s5
      
    2. 使用Finder应用程序将EFI文件夹从卷EFI复制到卷NO NAME

    3. 删除在Ubuntu安装过程中添加到EFI卷中的文件夹和文件。为此,将EFI/Ubuntu文件夹移动到垃圾桶中。

    4. NO NAME卷中删除与Microsoft相关的文件。为此,将EFI/Microsoft文件夹和EFI/Boot/bootx64.efi文件移动到垃圾桶中。

    5. 清空垃圾桶。

    6. 复制文件grubx64.efi从文件夹/EFI/ubuntu到文件夹/EFI/Boot中的NO NAME卷。

    7. NO NAME卷上/EFI/Boot文件夹中的文件grubx64.efi重命名为bootx64.efi

    8. (可选)从sourceforge网站Mac icns下载一组图标。使用Finder应用程序打开下载的文件mac-ices.dmg,然后输入以下命令将Ubuntu图标文件os_ubuntu.icns复制到NO NAME卷中。

      cp /Volumes/mac-icns/OSX10.11.6/os_ubuntu.icns "/Volumes/NO NAME/.VolumeIcon.icns"
      

      这将在启动菜单中添加以下Ubuntu图标。

      os_ubuntu.png

      注意:完成后,您可以使用Finder应用程序弹出mac-icns卷。

    9. 使用Finder应用程序或输入以下命令来卸载标记为EFINO NAME的EFI系统分区。

      diskutil unmount disk0s1
      diskutil unmount disk0s5
      

一些附加说明:在制作Ubuntu出现在开始菜单的第6步中,第7步说将grubx64.efi(从'NO NAME'/Ubuntu复制)重命名为bootx64.efi。但是那里已经有一个bootx64.efi,所以这个文件必须先移动到垃圾桶中。还可以看到此操作的最终结果,包括文件夹树结构,这也会很有用。 - therobyouknow