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


9

我在2013年末安装了双引导MacBook Pro,并且已经安装了macOS Sierra和Windows 10(BOOTCAMP)。我想将Ubuntu安装为第三个操作系统。有什么(简便)的方法吗?

> Disk Partitions:

在此处输入图片说明

> Gpt dev disk0

在此处输入图片说明

> Fdisk disk0

在此处输入图片说明

磁盘工具


这应该相当容易,但是在发布答案之前,您可以先显示有关分区的更多详细信息。从以下命令输出更新你的答案:diskutil listsudo gpt -r show /dev/disk0sudo fdisk /dev/disk0。另外,您下载了哪个Ubuntu安装文件,并能够从USB闪存驱动器引导到实时版本?
David Anderson

图像已添加。我已经下载了ubuntu版本的最后一个16.10。然后,使用UNetbootin USB安装程序将其放入USB记忆棒中,并执行以下步骤: @DavidAnderson
恢复Monica

Answers:


22

其更新版本已发布在此处

注意:这些说明已更新,可与Ubuntu 18一起使用。

此答案将Ubuntu安装在您的计算机上,而无需使用用于启动Ubuntu的安装的第三奇偶校验工具。我下载的Ubuntu文件名为ubuntu-16.10-desktop-amd64.iso。我假设您已经创建了可启动的Ubuntu USB闪存驱动器安装程序,并且已经验证了其中的内容。我还假定您已通过成功启动实时版本的Ubuntu验证了硬件兼容性。这些说明已分为以下三个主要部分。

  • 在Ubuntu驱动器上创建空间:这是通过使用MacOS Terminal应用程序输入命令来完成的。
  • 安装Ubuntu:这使用Ubuntu闪存驱动器安装程序。
  • 将Ubuntu添加到Startup Manager-在这里,您基本上是使用MacOS将必要的文件移动到正确的位置。这将允许从启动管理器中选择Ubuntu。您将不需要rEFInd来启动Ubuntu。

注意:如果另一个用户的分区方案与本示例不同,请向我发布评论,我将尝试更新我的答案。

在Ubuntu驱动器上创建空间

为了说明所需的步骤,我创建了一个比实际驱动器稍大的驱动器。

注意:macOS 10.11及更高版本具有系统完整性保护(SIP)。您必须先禁用此功能,然后再执行以下命令。

的输出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如下。

注意:重新分区驱动器后,应验证以下所示的值未更改。某些更改将导致Windows将驱动器视为混合分区。如果发生这种情况,Windows可能无法启动或出现故障。

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总共允许大约40 GB。如果需要其他尺寸,请进行适当的调整。我将为Ubuntu创建3个新分区。下面给出每个的描述。

  • 交换分区。此分区的大小应为Mac计算机中安装的内存大小的1-2倍。我将使用800 MB的大小。显然,您将使用的大小会大得多。
  • Ext4 Journaling文件系统分区,用于容纳Ubuntu。这个分区将消耗我为Ubuntu分配的大约40 GB的大部分空间。
  • EFI系统分区。这是Ubuntu在Mac Startup Manager上出现所必需的。当您打开或重新启动Mac并按住option键时,将显示此管理器。启动管理器可以用于更改默认启动盘(即操作系统),也可以用于从启动盘临时启动。我为此分区选择了500 MB的大小。

我选择允许Ubuntu安装程序实际创建3个新分区。因此,在这一点上,我只需要将MacOS分区缩小大约40 GB并创建3个新的占位符分区。占位符稍后将由Ubuntu安装程序替换为上述实际分区。

下面给出了更改为分区的命令。由于MacOS分区约为180 GB,因此我使用了140 GB(140G)的期望值。另外,800M对于新的Swap分区,我使用了800 MB()的值。由于您需要更大的尺寸,因此需要进行适当的替换。注意:200M任意选择了两个200 MB()值,这些值以后将更改。

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. 选择您的键盘。

    72

  17. 继续并安装Ubuntu Linux。完成后,重新启动并按住option键以调用启动管理器。选择从MacOS卷启动。

将Ubuntu添加到启动管理器

安装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            140.0 GB   disk0s2
   3:                 Linux Swap                         800.0 MB   disk0s3
   4:           Linux Filesystem                          39.3 GB    disk0s4
   5:                        EFI NO NAME                 500.2 MB   disk0s5
   6:         Microsoft Reserved                         16.8 MB    disk0s6
   7:       Microsoft Basic Data BOOTCAMP                70.1 GB    disk0s7

该命令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

注意:3个占位符分区已由安装Ubuntu时指定的分区替换。

要使Ubuntu出现在启动管理器中,请执行以下步骤。

  1. 通过输入以下给出的命令来挂载EFI系统分区。

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

  3. 如果您安装Ubuntu 18或更高版本,则可以跳过步骤4、5和6。
  4. 将卷上的所有文件夹和文件夹中的EFI/Boot文件EFI移到“废纸rash”。
  5. 复制该文件bootmgfw.efiEFI从文件夹卷/EFI/Microsoft/Boot到文件夹/EFI/Boot
  6. 重命名该文件bootmgfw.efi中的/EFI/Boot文件夹上EFI卷的名称bootx64.efi
  7. 删除EFI在Ubuntu安装过程中添加到该卷的文件夹和文件。为此,请将卷EFI/Ubuntu上的文件夹 EFI移到“废纸rash”。
  8. NO NAME卷中删除与Microsoft相关的文件。为此,请将卷EFI/Microsoft上的文件夹NO NAME移到“废纸rash”。
  9. 如果您正在安装Ubuntu 18或更高版本,那么你可以跳过步骤10,11和12。
  10. 将卷EFI/Boot/bootx64.efi上的文件NO NAME移到“废纸rash”。
  11. 复制该文件grubx64.efiNO NAME从文件夹卷/EFI/ubuntu到文件夹/EFI/Boot
  12. 重命名该文件grubx64.efi中的/EFI/Boot文件夹上NO NAME卷的名称bootx64.efi
  13. 清空垃圾。
  14. (可选)从sourceforge网站Mac icns下载图标集。使用Finder应用程序打开下载的文件mac-ices.dmg,然后在下面输入命令以将Ubuntu图标文件复制os_ubuntu.icns到该NO NAME卷。

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

    这会将以下Ubuntu图标添加到“启动菜单”。

    os_ubuntu.png

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

  15. 使用Finder应用程序或在下面输入命令以卸载标有EFI和的EFI系统分区NO NAME

    diskutil unmount disk0s1
    diskutil unmount disk0s5
    

我在Windows(均为128Gb)旁边安装了MacOS。我想用Ubuntu替换Windows,是否可以简单地用Ubuntu覆盖Windows部分?
jonynz

jonynz:是的,在很多情况下都可以。要获得更准确的答案,请提出问题,并包括Mac的型号/年份,Ubuntu的版本以及命令的输出diskutil list
大卫·安德森


安装程序检测到Windows(Bootcamp),并将其链接到grub,从而禁用了从Apple Startup Manager引导。在启动管理器中选择Ubuntu会启动到提供Ubuntu和Windows的grub。在此列表中,我只希望Ubuntu而不是Windows-我想继续从标准Apple Startup Manager引导到Windows。
therobyouknow

我想获得mac启动管理器的Windows启动选项,以链接到Windows分区以启动到该分区,就像它最初所做的那样。apple.stackexchange.com/questions/367635/…–
therobyouknow

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.