MacBook Pro macOS 安装 Linux 双系统教程(一)

2023-05-16

前言

macOS已经很不错了,为什么还要安装Linux了?
网上看到的解释很多,虽然我已经安装了window的双系统

Linux 各个发行版与 macOS 相比哪个写代码更舒服?为什么?[^1]

其实最主要的需求还是资源有限吧,从百度的 Apollo 开源项目上看到软件运行条件

Pre-requisite Software Installation Guide
This article describes all the pre-requisite steps needed before installing Apollo.

Installing Ubuntu Linux
Installing NVIDIA GPU Driver
Installing Docker Engine
Installing NVIDIA Container Toolkit

因为历史原因,macOS与Nvidia的gpu之间在2019年就停止更新了,macOS想要使用Nvidia的新GPU只能通过转接的方式实现,具体实现网上有很多大佬的教程,我就单纯 的使用普通的硬件来安装使用笔记本自带的Nvidia 显卡

Nvidia Download Center

下载 Linux(Ubuntu) ISO
  • 进入Ubuntu的官网
    ubuntu home page
    我就下载了 LTS版本 下载地址 https://ubuntu.com/download/desktop

具体下载就是点击download按钮,就会弹出下载窗,如果没有下载成功可能需要手工选择下载

制作可启动U盘

通过macOS的命令行就可以实现对ISO文件的烧录,当然也可以借助现有软件对ISO进行烧写,我这里是通过macOS自带的命令行实现的

  • 查找所有硬盘
# 查找所有硬盘
diskutil list

diskutil list
我这里使用的Sandisk的64G SD卡,对应的盘符是/dev/disk3,磁盘编号是disk3

  • 卸载当前磁盘(unmount disk)
diskutil unmountDisk /dev/disk3

unmount disk

  • 通过命令行烧写系统到SD卡上

将ISO文件 直接通过Finder 拖动到命令行工具 即可找到对应的路径

if 后面接ISO镜像文件的具体路径,可以通过直接在Finder中找到文件拖动到命令行找到,还要就是打开Finder的文件路径显示,具体实现可以寻找网上方案^3

of后面接的是U盘的磁盘编号(需要将disk3,换成rdisk3 ,需要替换为自己系统中挂载的磁盘)

执行烧写的时候,命令行窗口将没有任何输出,直到下方文字出现:

2929+1 records in
2929+1 records out
3071934464 bytes transferred in 43.320384 secs (70911986 bytes/sec)

表明文件烧写成功

分区准备

需要将苹果的分区分出一部分用来安装Ubuntu,可使用磁盘工具(启动台->其他)来操作。我的电脑上已经安装过window系统,因此使用同样的方法

disk utility

  • 打开磁盘工具,点击苹果磁盘分区,选择上方的分区按钮。接下来,在分区的窗口中,选择分区的大小为50G(建议至少20G以上),并将格式设置为MS-DOS(FAT),以便Ubuntu能够进一步格式化为EXT4分区。点击下方应用按钮,执行分区操作。
    选择磁盘

执行格式化 分区操作,由于我已经格式化了分区,因此只需要格式化就可以
执行分区操作

从U盘启动进行安装

在准备好安装U盘后,便可重启mac电脑来安装Ubuntu。

重启电脑,并按住 键盘的 option 键,将出现选择启动项的的界面,选择EFI boot进入U盘。
Ubuntu installation

成功进入U盘后,将看到如下的界面,点击桌面的 Install Ubuntu ,开始安装程序。

选择“English“,点击“继续”。
在这里插入图片描述

在“更新和其他软件”界面,选择默认即可,点击“继续”。

install software

在安装类型这一步需要注意,如果你选择“清除整个磁盘并安装Ubuntu”,那么苹果系统就会被删掉,这里我们是要选择双系统,所以选择“其他选项“。再次点击”继续“。
这里要注意

根据磁盘分区的大小,以及分区类型(FAT32),确定哪个分区是我们需要用来安装Ubuntu。
选择ubuntu

点击下方的 – 号, 删除该Fat32分区。

选择分区

删除后,该区域将变为“空闲“空间。点击下方的+号,可以新建分区。创建200MB的EFI分区,用来安装Ubuntu的引导文件。

选择这个分区

在 “安装启动引导器的设备“中,选择新建的EFI分区所在的设备号(sda)。
在这里插入图片描述

点击现在安装,再次点击继续后,即可开始安装Ubuntu到新建的分区中。

时区选择“Shanghai”。
选择时区

创建一个用户名, 以及密码。和macos不同的是,Linux可以直接运行创建少于4位数的密码。

经过几分钟的安装后,安装成功后,可以选择“继续试用“,或者”现在重启“。
安装中
安装中

重启后,你会发现会自动重启进入Ubuntu,不要慌,开机按下Option,将会出现系统选择器,可以选择从哪个系统启动了。

参考链接

^1:Linux 各个发行版与 macOS 相比哪个写代码更舒服?为什么?
^2:Apollo Software Installation Guide
^3:MacOS如何显示文件完整路径?
4. macos 安装Linux
5. Create a bootable USB stick on macOS

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MacBook Pro macOS 安装 Linux 双系统教程(一) 的相关文章

  • 【java力扣算法《代码随想录》02】第2章程序的性能分析(刷题如果关键的部分直接用库函数就可以解决,建议不要使用库函数)

    第二章 程序的性能分析 代码随想录刷题整理刷题注意关于使用库函数ACM模式代码风格 时间复杂度O n 中 logn无底数空间复杂度 代码随想录刷题整理 代码随想录 刷题网站 刷题注意 关于使用库函数 如果题目关键的部分直接用库函数就可以解决
  • 四轴飞行器姿态控制

    四轴飞行器姿态控制 一 姿态解算相关概念 1 欧拉角 用来表示三维空间中运动物体绕坐标轴旋转的情况 xff0c 即物体每时每秒的姿态可以由欧拉角表示 2 四元数 四元数用于物体的旋转 xff0c 是一种复杂但是效率较高的旋转方式 对于一个物
  • 串级PID控制四轴飞行器状态-实现

    参考网页 xff1a http blog csdn net nemol1990 article details 45131603 一 上下运动 向上运动 xff0c 四个轴的速度同时增加向下运行 xff0c 四个轴的速度同时减小 二 前后运
  • c和c++调用Python

    参考网页 xff1a https docs python org 3 6 c api index html http blog csdn net taiyang1987912 article details 44779719 http bl
  • yoloV3 darknet GPU手把手从编译到训练再到C++调用API

    我要先声明一下 xff0c 系统是Ubuntu18 04 xff0c 我的机器已经装好了opencv4 1 1 和 cuda10 0 的 xff0c 过程可参考我另一篇博客 xff0c 这部分不再说明 IDE使用qtcreator 1 下载
  • 使用Git命令创建新分支

    1 进入Git Bash Here xff0c 查看仓库所有分支git branch a 2 使用命令 git checkout master xff0c 表示切换到master分支 xff0c 并git pull拉取最新代码 3 由于的所
  • VINS-初探(一)

    vins是香港科技大学开源的一个单目相机结合IMU的一个VIO xff0c 在github上可以下载源码 xff0c 分为iOS系统下的和ros系统下的两种 xff0c ros下的为 span class hljs label https
  • ROS使用官方包进行串口通信

    https www jianshu com p c30f390427e7 参考http span class hljs comment www roswiki com read php tid 61 557 amp fid 61 39 sp
  • STM32F446ZET6关于使用PA11,PA12,PB14,PB15的使用注意事项

    STM32F446ZET6关于使用PA11 xff0c PA12 xff0c PB14 xff0c PB15的使用注意事项 这两天在用PB14做输入时 xff0c 发现总是不灵敏 xff0c 开始还以为布线有问题 xff0c 检查后发现不是
  • numpy基本方法总结

    NumPy基本方法 一 数组方法 创建数组 xff1a arange 创建一维数组 xff1b array 创建一维或多维数组 xff0c 其参数是类似于数组的对象 xff0c 如列表等 读取数组元素 xff1a 如a 0 a 0 0 数组
  • 如何实现Qt上位机软件串口的按字节数据处理?

    1 Qt串口类的选择 最近在做一个小项目 xff0c 需要用到Qt做上位机软件 xff0c 本人也是边学边做 xff0c 买了本 QtCreator快速入门 看了看就动手了 xff0c 由于初学不是很了解Qt5的官方资源 xff0c 一开始
  • 如何使用HAL库手动修改OSC引脚为PD0/1?

    CubeMX不能直接重映射OSC引脚为PD0 1 xff0c 那么 xff0c 如何使用HAL库手动修改OSC引脚为PD0 1 如下图所示配置即可 xff1a
  • “野火FreeRTOS教程”第7章补充知识点-异常流程

    一 知识点 1 Cortex M3 4在复位后CONTROL寄存器初始值为0 xff0c 也就是说MCU会处于线程模式 具有特权访问权限且使用主栈指针 MSP 2 当进入异常时CM3会自动入栈 xff0c 如下图所示 xff1a 3 当异常
  • mini四旋翼飞行器DIY日志

    一 方案 功能描述 xff1a 具备mini四旋翼飞行器的基本功能 xff0c 可以拓展其他模块实现定高 对航向角yaw的校准 xff0c 将所有io引出并设计出最小系统板子功能 xff0c 将设计I2C总线挂载选择电路便于调试和使用 可以
  • Quartus II 13.1.0.162三件套安装包

    QuartusSetup 13 1 0 162 链接 https pan baidu com s 1B01zWG76kfNcGLA0VmwyMw 提取码 jjdd ModelSimSetup 13 1 0 162 链接 https pan
  • DSP Builder安装时的注意事项

    注意事项1 DSP Builder是以组件的形式安装在altera下面的 xff0c 并且altera要与matlab 32位 xff01 xff01 安装在同一路径下 xff0c 这个路径不要带有中文 xff0c 或者空格字符 xff0c
  • Maven3.6.1下载与配置,超详细

    Maven3 6 1下载与配置 xff0c 超详细Maven3 6 1下载与配置 xff0c 超详细Maven3 6 1下载与配置 xff0c 超详细 Maven下载与配置 1 官网下载对应版本 xff0c 推荐下载免安装版 下载地址 ht
  • 【GIS】GIS矢量空间分析(上)

    0 GIS的基本概念 栅格数据与矢量数据 上图中 xff0c a为图形模拟表示的地理对象 xff0c b为控件对象对应的栅格数据模型表示 xff0c c为对应的矢量数据模型表示 矢量模型的表达源于原型空间实体本身 xff0c 通常以坐标来定
  • ROS简介-从零开始讲解ROS(适合超零基础阅读)

    1 前言 笔者以前是机械专业 xff0c 对于计算机方面的学习是少之又少 xff0c 接触机器人的学习之后 xff0c 比如路径规划 算法等 xff0c 发现很难入门 xff0c 不过慢慢摸爬滚打之后还是有了一些认识 xff0c 俗话说的好
  • C++primer plus第六版课后编程练习答案14.1

    include lt iostream gt include lt string gt using namespace std template lt class T1 class T2 gt class Pair private T1 a

随机推荐

  • 区块链——脱坑truffle

    使用truffle构建一个智能合约 实现输出 helloworld 的功能 网上有很多帖子 但也有很多坑 这里展示我的搭建过程 帮助大家绕过那些麻烦 一 安装web3 solc truffle npm g install solc npm
  • ucosii消息队列使用

    ucosii消息队列简介 ucosii的消息队列源码定义在os q c文件 xff1b 接口全部声明在ucos ii h xff0c 总共有如下接口 xff1a span class token keyword void span span
  • rtthrea-ucosii-freertos三系统学习总结

    三系统基本功能对比 RT thread ucosii freertos 任务调度 抢占式 时间片式 xff08 多级队列位图调度 xff09 抢占式 xff08 纯位图调度 xff09 抢占式 时间片式 xff08 遍历列表调度 xff09
  • VScode的git安装与配置

    git下载与安装 1 在官网下载git的最新版本 2 按照提示一步步安装完成 具体步骤参看以下文章 xff1a 转https blog csdn net qq 40342589 article details 105676715 VScod
  • 将python代码封装成c版本的dll动态链接库

    前言 将python程序打包成DLL文件 xff0c 然后用C 43 43 调用生成的DLL文件 xff0c 这是一种用C 43 43 调用python的方法 xff0c 这一块比较容易遇到坑 网上关于这一块的教程不是很多 xff0c 而且
  • gazebo加载异常或者加载缓慢

    在我们安装完ros的时候会在命令行里运行gazebo命令会打开gazebo一个空白世界 xff0c 往往会卡在如图所示的界面 xff1a 这是模型文件加载缓慢需要很长时间 xff0c 这是在ubuntu16 04下的情况 xff0c 在ub
  • FreeRTOS学习笔记二【源码文件介绍及命名规范】

    FreeRTOS学习笔记二 源码文件介绍及命名规范 源码文件介绍源码中的命名规范两个重要数据类型变量名函数名宏名 参考 本文介绍源码中的命名规范 xff0c 下篇开始介绍FreeRTOS中的任务管理 源码文件介绍 Free RTOS源码中包
  • FreeRTOS学习笔记八【队列-下】

    FreeRTOS学习笔记八 队列 下 队列中传输大数据 一个包 或大小可变的数据传输大数据传输不同类型和长度的数据 从多个队列中获取数据队列集合xQueueCreateSet xQueueAddToSet xQueueSelectFromS
  • 软件mongodbmanager.exe 在打开数据库Collection时报错

    The GuidRepresentation for the reader is CSharpLegacy which requires the binary sub type to be UuidLegacy not UuidStanda
  • CMakeList.txt使用指南

    cmake minimum required 设置所需的最低cmake版本 cmake minimum required VERSION major minor patch tweak FATAL ERROR execute process
  • 初入机器学习之——朴素贝叶斯分类器NBC及Python代码剖析

    初入机器学习之 朴素贝叶斯分类器NBC NBC模型的理论基础一 参数释义二 Training阶段模型所需参数三 Predict阶段四 代码剖析trainingpredicting NBC模型的理论基础 理论基础 xff1a 贝叶斯公式 P
  • 1秒学会 Vim 插件管理

    Vim pathogen 通常情况下安装vim插件 xff0c 通常是将所有的插件和相关的doc文件都安装在中一文件夹中 xff0c 如将插件全部安装在 usr share vim vim73 plugin 目录下 xff0c 将帮助文档全
  • 使用docker-compose在启动mysql容器时新建一个mysql用户并赋予其权限

    使用docker compose在启动mysql容器时新建一个mysql用户并赋予其权限 先来看看启动文件 span class token comment 原始的yml文件 xff0c 只创建了一个wordpress user用户 spa
  • Google Cloud Platform设置centos ssh登录

    Google Cloud Platform设置centos ssh登录 Google Cloud Platform设置centos ssh登录1 创建centos实例2 切换到root编辑ssh配置文件3 修改以下内容4 查看状态5 重启服
  • Apple M1 安装PhpStorm解释器

    执行以下命令 bin bash c span class token string 34 span class token variable span class token variable span span class token f
  • PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试

    目录 PyCharm本地连接远程conda虚拟环境 TensorFlow 进行代码调试说明1 GCP创建Ubuntu 43 选择GPU2 示例并远程连接2 安装miniconda 43 创建新虚拟环境3 在新虚拟环境中安装tensorflo
  • 使用Kalibr进行IMU+相机的标定

    利用kalibr标定IMU和相机 xff1a https github com ethz asl kalibr wiki Camera IMU calibration 2 collect images 在开始需要明确几点的是 xff1a 需
  • Realsense无法启动彩色摄像头

    使用realsense的过程中 遇到了一些问题 设定了rs camera launch文件后提醒 WARN 1602639880 042525199 Given stream configuration is not supported b
  • VINS_MONO+D435i Realtime运行

    艰难地运行了三天 终于算是搞定了 主要的时间和精力都花在标定上了 总结一些需要注意的点 希望能对同样使用VINS MONO的人有帮助 先说一下我的初衷 其实是想要使用ORBSLAM3的Mono Inertial的 但是总是会初始化失败 图像
  • MacBook Pro macOS 安装 Linux 双系统教程(一)

    前言 macOS已经很不错了 xff0c 为什么还要安装Linux了 xff1f 网上看到的解释很多 xff0c 虽然我已经安装了window的双系统 Linux 各个发行版与 macOS 相比哪个写代码更舒服 xff1f 为什么 xff1