You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在2018款晚期Mac mini上无GRUB安装Ubuntu Server 20.04?

如何在2018款晚期Mac mini上无GRUB安装Ubuntu Server 20.04?

我明白你遇到的GRUB安装崩溃问题——2018款Mac mini的EFI环境确实和普通PC不太一样,Ubuntu Server的自动安装器在处理GRUB时容易出问题。不过既然你已经通过桌面版的ubiquity -b方法成功绕过GRUB安装并手动补装GRUB,那服务器版也可以用类似的思路:先跳过GRUB完成系统安装,再手动适配安装GRUB。下面是具体步骤:

一、跳过GRUB完成Ubuntu Server安装

Ubuntu Server用的是subiquity安装器,不像桌面版ubiquity有直接的-b参数,但可以通过自动安装(autoinstall)配置彻底跳过GRUB安装:

  1. 准备好带autoinstall配置的安装介质(或者在启动时手动指定autoinstall参数),修改你的autoinstall配置文件,把grub部分改成:

    grub:
      skip: true
    

    这样安装过程会完全跳过GRUB的安装步骤,直接完成系统文件的部署。

  2. 按常规流程完成分区配置:确保你的/dev/nvme0n1p1是200M的FAT32格式EFI分区,并且标记了boot flag,根分区挂载到/,其他分区按需设置。

  3. 完成安装后,系统会提示重启,此时不要直接重启(因为没有GRUB无法引导),选择进入Live系统或者用Ubuntu安装介质重新启动。

二、手动安装并配置GRUB适配Mac mini

接下来需要进入Live系统,挂载你的服务器系统分区,然后在chroot环境中安装GRUB:

  1. 挂载系统分区和EFI分区(假设你的根分区是/dev/nvme0n1p2,根据实际情况调整):

    sudo mount /dev/nvme0n1p2 /mnt
    sudo mount /dev/nvme0n1p1 /mnt/boot/efi
    # 挂载必要的系统目录,确保chroot环境正常工作
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    
  2. 切换到chroot环境,相当于进入你的服务器系统:

    sudo chroot /mnt
    
  3. 安装GRUB到EFI分区,适配Mac的EFI环境:

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
    

    这里--bootloader-id=ubuntu会在EFI分区创建对应的启动项,Mac重启时按Option键就能看到。

  4. 更新GRUB配置,让系统识别可用的内核:

    update-grub
    
  5. 退出chroot并卸载挂载的目录:

    exit
    sudo umount /mnt/sys
    sudo umount /mnt/proc
    sudo umount /mnt/dev
    sudo umount /mnt/boot/efi
    sudo umount /mnt
    

最后,重启Mac mini,按住Option键,选择标有“ubuntu”的EFI启动项,就能正常进入Ubuntu Server系统了。

补充一点:你之前的autoinstall配置尝试安装GRUB但失败,可能是因为install_devices指向了EFI分区而非整个磁盘(GRUB通常需要安装到磁盘/dev/nvme0n1而非分区),但直接跳过安装再手动补装是更可靠的方案,毕竟Mac的EFI对GRUB的兼容性确实有些特殊。

备注:内容来源于stack exchange,提问作者Alex Still

火山引擎 最新活动