如何从外部USB存储设备在Mac上启动Ubuntu?


17

我希望通过外部USB存储器(外部磁盘或闪存驱动器)在iMac上运行Ubuntu。

我可以轻松地创建可引导的USB记忆棒,并使用该记忆棒将Ubuntu 14.04安装到正确分区的USB设备上。但是,与此处和其他地方的某些断言相反,Mac重新启动后未将结果检测为可启动。

我已经在Google上进行了广泛的搜索,我敢肯定可以启动Mac来启动它,但是我发现的说明要么太含糊(在Mac上安装Ubuntu和外部硬盘并在Mac上启动),要么在某种情况下,太复杂了(http://www.rodsbooks.com/ubuntu-efi/),就说不通了。但是,公共线程似乎正在使用rEFInd重新调整引导选项。

因此,我设法在外部驱动器的分区上安装了rEFInd,但它无法检测到Ubuntu安装。我在同一磁盘上有一个ext2 / boot分区,并将ext2_x64.efi复制到/ EFI目录中,但没有成功。

在这一点上,我有些卡住,接下来的步骤将是对引导加载程序和EFI进行详细研究。但是,我认为我必须接近破解这一点,并希望有人可以在某处指向逐步指南。

回顾一下:

  • USB磁盘具有ext2 / boot分区(上面带有vmlinuz映像),并且ext4 /分区已安装了Ubuntu 14.04的其余部分
  • 安装后无法启动
  • 将rEFInd放在另一个包含/ EFI目录的FAT32分区上
  • 将ext2_x64复制到/ EFI / boot和/ EFI / refind
  • 可以启动,rEFInd加载,可以选择启动ext2_x64.EFI(?),但不能启动Ubuntu / vmlinuz。

如果我能解决这个问题,我会在网上的某个地方放置清晰的指南!

Answers:


23

好吧,我花了整整第二天的时间,现在我已经破解了。

我衷心希望其他可怜的人能够从中获得一些价值。

这是一个有效的食谱(至少在使用Ubuntu 14.04的iMac上):

  • 使用可启动的USB启动,安装Ubuntu
  • 如下划分USB:
    • 200MB EFI引导分区
    • 200MB ext2,安装到 /boot
    • 交换空间(如果需要)
    • 一个或多个其他分区可正常使用Ubuntu(例如上的ext4 /
  • 完成安装,重新启动到OS X
  • 获取gdisk(用于OS X的pkg安装程序)和rEFInd二进制文件
  • 从控制台执行“磁盘工具列表”,并注意设备名称和EFI分区(例如/dev/disk3/dev/disk3s1
  • 按照http://www.rodsbooks.com/ubuntu-efi/上的gdisk配方进行“修复安装”点下的6
  • 在USB的EFI分区上安装rEFInd。从refind目录:

    ./refind-install -–usedefault /dev/disk3s1
    

    (您可以将文件拖到命令提示符中以获取完整路径)

然后,当您重新引导时,可以“ EFI引导”到rEFInd,并且应该有一个引导GRUB / linux的选项。

我在这里对此进行了详细记录:http : //coljac.net/2014/stuff/installing-ubuntu-onto-a-bootable-usb-stick-or-other-device-on-a-mac/


3
4天不见了!现在我在这里,谢谢:)
Ahmed Ghoneim'Aug

refind中不再有install.sh文件。
johndpope

7

如果您不想更改Mac的默认启动加载程序,并且可以从任何Mac启动USB密钥,那么可以找到以下解决方案:

  • 通过选择“不安装而尝试Ubuntu”来启动Ubuntu Live版本
  • ubiquity --no-bootloader通过终端命令通过启动安装程序来防止任何引导程序安装
  • 擦除并在目标USB驱动器上安装Ubuntu
  • 重新启动Mac并使用Ubuntu live USB启动grub命令行,并在出现GRUB引导程序时按'c'
  • 对已安装的Ubuntu系统执行手动启动
  • 修复EFI分区:

    • 安装所需的软件包:

      $ sudo apt-get update
      $ sudo apt-get install mactel-boot hfsprogs gdisk grub-efi-amd64
      
    • 使用gdiskmkfs.hfsplus用Apple HFS / HFS +替换现有分区

    • 替换现有条目UUID=... /boot/efi vfat defaults 0 1中的/etc/fstab文件,UUID=<your usb EFI partition uuid> /boot/efi auto defaults 0 0
    • sudo mount /boot/efi
    • 创建所需的目录和文件:

      $ sudo mkdir -p "/boot/efi/EFI/$(lsb_release -ds)/"
      $ sudo bash -c 'echo "This file is required for booting" > "/boot/efi/EFI/$(lsb_release -ds)/mach_kernel"'
      $ sudo bash -c 'echo "This file is required for booting" > /boot/efi/mach_kernel'
      
    • 安装GRUB:

      $ sudo grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id="$(lsb_release -ds)"
      
    • 保佑引导程序代码:

      $ sudo hfs-bless "/boot/efi/EFI/$(lsb_release -ds)/System/Library/CoreServices/boot.efi"
      
    • 创建GRUB配置:

      $ sudo sed -i 's/GRUB_HIDDEN/#GRUB_HIDDEN/g' /etc/default/grub
      $ sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=0.1/' /etc/default/grub
      $ sudo grub-mkconfig -o /boot/grub/grub.cfg
      

现在,只需在启动时按住“ Option”键,就可以从任何Mac引导系统。

具有Ubuntu条目的Mac启动菜单的图像

我在这里详细说明了:通过纯EFI引导在USB记忆棒上进行Ubuntu安装(与Mac兼容)


3

我跳过了解决方案中提到的整个gdisk。这一个对我有用

./refind-install -–usedefault /dev/<EFI-disk-of-external-storage-where-ubuntu-is-installed>

install.sh不再是refind(refind-bin-0.11.0)的一部分。也许我想念一些东西。
johndpope

2

我的故事(对遇到相同问题的人可能有用-因此现在该为社区提供帮助):我已在2013年底的iMac上将Ubuntu安装在外部USB 3.0硬盘上。我在该外部驱动器上创建了以下分区方案:

EFI (200MB FAT), BOOT (200MB EXT2) and / (20GB EXT4)

我选择将引导加载程序添加到外部驱动器(而不是iMac驱动器)中。成功安装后,当我无法引导OS X时我感到非常震惊。这很奇怪,因为我没有在主驱动器上安装任何引导加载程序。如果卸下外部驱动器,则grub提示命令会出现黑屏!

出于恐慌,我在网上进行了研究,因此决定尝试rEFInd。从.deb源安装(http://www.rodsbooks.com/refind/installing.html-建议从.deb文件安装以解决Ubuntu 16.x版本的问题- # dpkg -i refind_0.10.3-1_amd64.deb)后,我可以启动我的OSX。

要恢复原始的引导菜单(和Ditch Linux),可以在OS X上使用启动磁盘实用程序,也可以挂载EFI分区,然后使用“ sudo rm ...”命令删除该分区上的“ refind”和“ Ubuntu”文件夹。

重新启动,一切将像以前一样工作。


1

在外部驱动器上安装OSX的新副本,然后像双引导系统一样在同一外部驱动器上安装Ubuntu。安装完成后,如果已插入Ubuntu,Ubuntu将从USB驱动器启动。如果移除了USB驱动器,您将获得Grub命令行。只需键入“ exit”即可启动内部OSX安装。插入USB驱动器以加载Ubuntu。

这样就不会影响原始的OSX安装。

我能够在64GB USB闪存驱动器上安装Ubuntu,然后安装Kubuntu,它运行得很好。我刚安装了Kodi,它从闪存驱动器中运行得非常好。我只有USB 2.0,所以速度有点慢。我最终安装了Kubuntu,因为Plasma 5.0桌面环境在思想上比Ubuntu使用的环境要精致一些。

我希望这有助于简化一些事情。这不是最优雅或技术性的方法,因此它虽然不完美,但可以工作。


1

在一些错误的开始之后,这起作用了:

我使用了由dd-copy和ISO制作的实时USB(当然是另一个HD)。

我用Gparted而不是INSTALLER对磁盘(插入USB3.1 caddy的240GB SSD)进行了分区。字节块对齐在安装程序中混乱了,我只能让它安装在XFS中,但是这种尝试无法启动。我会得到GRUB,但没有Ubuntu。所以我再次尝试了Gparted。

我使用了以下分区布局:

efi   (200mB)
\     (44GB, \ the system root) note, this isn't the \boot, it's just  \
swap  (44GB swap)

已安装。
重新启动并按住选项。
使用箭头键选择磁盘。

这是在新的imac 2019上; osx不受损害。


0

我从来没有碰到过直接的外部USB连接,但是不久前,我拿起了Seagate GoFlex雷电适配器,并能够轻松地将27英寸iMac引导至与其连接的外部SATA上的ubuntu。我使用了rEFInd,但没有使用希捷试图给人一种印象,那就是您需要使用与其连接的一个驱动器,但是标准笔记本电脑大小的SATA驱动器可以正常工作,我确实需要对驱动器进行匀速以使其正确地装入机箱。确实是您在这里寻找的答案,并且它不是一个便宜的解决方法(如果我没记错的话,大约是80美元),但根据您的情况,这可能是值得的。


0

在外部硬盘驱动器上安装Ubuntu后,通过按住Option +控制键并按向左箭头键(可能需要多次按向左箭头键)从Mac启动Ubuntu。


0

您只需要选择键即可获得启动选择器。但是,如果您不想在默认情况下不按此键启动进入Mac OS,则需要在选择Mac OS磁盘时通过按住控制按钮来设置启动音量,否则它将/可能会继续启动到Grub中。

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.