最近给自己的老笔记本换了一块大硬盘,顺便装了 Windows 和 Ubuntu 两个操作系统。记录一下安装过程。

提示:Ubuntu 安装程序可以检测到磁盘已有的 Windows 安装。所以如果先安装 Windows,再安装 Ubuntu,可以免去稍后修改 GRUB 配置的流程。

安装 Ubuntu

  1. 下载 Ubuntu Desktop 镜像文件。

  2. 使用镜像文件制作启动 U 盘。

    制作启动盘的工具有很多。Ubuntu 官方推荐 balenaEtcher,因为它在 Windows、macOS 和 Linux 系统上均能运行。

  3. 使用启动盘引导机器启动。

    • 将启动盘插入电脑,然后在开机时按住 F12 进入 BIOS 设置页面。

    • F12 是最常用的设置按键。如果不起作用,可以试试 EscF2F10,或者根据你的电脑型号或主板型号查询对应的 BIOS 设置键。

  4. 安装 Ubuntu。

    • 在安装时记得选择手动安装(Manual Installation),以便能够自己对硬盘分区并安装系统。

    • 安装 Ubuntu 时与 Windows 不同的一点是,对硬盘分区后要设置硬盘的挂载点。

      我们需要两个分区,一个是 EFI 分区,用于存储引导文件,将其格式化为 VFAT(FAT32),挂载到 /boot/efi 。以及一个基本数据分区,格式化为 Ext4,挂载到 /

    • 关于其他安装选项的介绍,详见 Type of installation | Ubuntu Tutorials

安装 Windows

  1. 制作启动 U 盘。

    • Microsoft 官方提供了媒介制作工具,可以自动下载镜像并制作启动盘。可以在 Download Windows 11 页面的第二个选项“Create Windows 11 Installation Media”处下载。

    • 当然,你也可以使用安装 Ubuntu 时的方法,下载 ISO 镜像文件,然后再写入到启动盘。

  2. 安装 Windows。过程不再赘述。

检查 BIOS 启动项

重启机器并打开 BIOS 设置。找到引导选项设置,在这里你会看到 BIOS 找到的引导选项以及它们的启动顺序。

在这里你应该看到两个引导选项:Windows Boot ManagerUbuntu

  • Windows Boot Manager 是 Windows 的引导加载程序,你可以在 Windows 启动后对其进行配置。

  • Ubuntu (实际是 GNU GRUB2),是 Linux 的引导加载程序,你可以在启动时或启动后对其进行配置。

如果你在这里缺少了 Ubuntu,则需要手动添加其引导文件。

点击 Add Boot Option(不同 BIOS 显示名称可能不一样)进入引导文件选择页,在这里你可以浏览磁盘上的所有 FAT32 分区的内容(是的,所谓 EFI 分区不过就是一个隐藏的 FAT32 分区罢了)。Ubuntu 的引导文件路径为 /EFI/ubuntu/grubx64.efi,但是如果你的 BIOS 启用了 Secure Boot 选项的话,则必须设置引导文件为 /EFI/ubuntu/shimx64.efi,通过它再启动真正的引导文件。

选中引导文件后,为该引导选项设置一个喜欢的名字,然后保存退出。

配置 GRUB

在启动电脑的时候注意观察一下 GRUB 启动选项中有没有 Windows Boot Manager。如果有的话则已经配置好了双系统。如果没有的话,我们需要更新 GRUB 配置。

启动 Ubuntu,编辑 GRUB 默认配置文件:

sudo vim /etc/default/grub

确保 GRUB_TIMEOUTGRUB_DISABLE_OS_PROBER 选项如下设置:

GRUB_TIMEOUT=5                # 设置启动菜单显示时间
GRUB_DISABLE_OS_PROBER=false # 启用操作系统检测工具

然后重新生成 GRUB 配置:

sudo update-grub

接下来重启电脑,你应该能在启动选项中看到 Windows Boot Manager。如果你希望启动 Windows 的话,选中这个选项就可以了。

                                         GNU GRUB  version 2.12
Ubuntu
Advanced options for Ubuntu
Memory test (memtest86+x64.efi)
Memory test (memtest86+x64.efi, serial console)
*Windows Boot Manager (on /dev/sda1)
UEFI Firmware Settings

参见:

安装 Ubuntu / Windows 双系统的更多相关文章

  1. 安装ubuntu+Windows双系统, Windows启动项消失

    这里主要介绍grub分区损坏的问题: 首先介绍最简单的方法, 不确定能不能成功, 但是最好先用此方法, 毕竟最简单如果解决就不用下一个方法了. 1. (1)用U盘做一个ubuntu的镜像, 开机进入U ...

  2. Ubuntu/Windows双系统修复引导

    Ubuntu/Windows双系统修复引导   首先说明:在Windows存在的前提下安装Ubuntu(或者Ubuntu系列)是不需要修复引导的.因为grub会自动搜索存在硬盘中的系统.   而在Ub ...

  3. git-win10下安装ubuntu,双系统,免U盘

    关键词:win10,ubuntu,双系统,免, U盘 1-6,8 参考:https://www.jianshu.com/p/417c1001a5597 参考: https://segmentfault ...

  4. 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)

    转载:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 当需要频繁使用ubuntu时,vmware虚拟机下运行ubuntu, ...

  5. win7安装Ubuntu变双系统以及删除Ubuntu分区操作

    Window7系统基础上安装Ubuntu使构成双系统,整个过程如下: 1. 一块空闲磁盘分区准备. “我的电脑”右键 > 管理 > 磁盘管理 > 压缩(从有空余分区压缩)/删除(删除 ...

  6. Ubuntu Windows双系统重装windows后看不到ubuntu启动引导

    1.下载并安装Easy BCD 2.点击编辑引导菜单,看到只有windows一项 3.点击“添加新条目”,添加引导菜单,选择linux/bsd ,类型选择GRUB 2,然后输入名称,选择Ubuntu所 ...

  7. 急速安装Ubuntu/windows双操作系统

    本文出自:http://www.cnblogs.com/svitter FAQ 因为很多人都不看FAQ,比如像我,所以直接把FAQ写在最前面,然后把正文卸载最后面逼你看- - 常用软件下载(官网) d ...

  8. win8.1系统下安装ubuntu实现双系统实践教程

    寒假闲来无事,一程序猿哥们给发了一个linux的shell编程指南,看了几张感觉不错.于是装一个试试. 没想到一装才知道了那么的问题. 下面开始: step 1: 软件准备:Ubuntu 系统镜像,这 ...

  9. ubuntu windows 双系统 磁盘乱搞 grub 导致 error:no such partition grub rescue>

    乱搞分区磁盘什么的导致开机和这位仁兄一样:http://zhidao.baidu.com/question/495602654256708364.html?ssid=0&from=100187 ...

  10. U盘安装Windows 7 + Ubuntu 14 双系统笔记

    第一个系统是Windows 7系统,现在采用U盘安装 Ubuntu 14,实现双系统,主要会用到3个软件: 1.DiskGenius - 磁盘修复.分区.调整分区工具,点击下载: 用这个工具先腾出一个 ...

随机推荐

  1. [WPF]用HtmlTextBlock实现消息对话框的内容高亮和跳转

    动手写一个简单的消息对话框一文介绍了如何实现满足常见应用场景的消息对话框.但是内容区域的文字仅仅起到信息展示作用,对于需要部分关键字高亮,或者部分内容有交互性的场景(例如下图提示信息中的"w ...

  2. HTTP 和 HTTPS,为什么HTTPS安全?

    HTTP协议通常承载与 TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS 默认HTTP的端口号为80,HTTPS的端口号为443 因为网 ...

  3. 基于EF Core存储的Serilog持久化服务

    前言 Serilog是 .NET 上的一个原生结构化高性能日志库,这个库能实现一些比内置库更高度的定制.日志持久化是其中一个非常重要的功能,生产环境通常很难挂接调试器或者某些bug的触发条件很奇怪.为 ...

  4. thinkphp5 关于跨域的一些坑

    1.首先在tp5的入口文件:public/index.php 在里面添加三行: // [ 应用入口文件 ] header("Access-Control-Allow-Origin:*&quo ...

  5. [oeasy]python0016_在vim中直接运行python程序

    回忆上次内容 上次 置换 esc 和 caps lock 任何操作 都可以在 不移动 手腕的状态下完成了 每次都要 退出vim编辑器 才能 在shell中 运行python程序 有点麻烦 想要 不退出 ...

  6. css3实现背景三角形样式

    话不多说上效果图: css: font-family: PingFang-SC-Heavy, PingFang-SC; font-weight: 800; color: #2160AD; border ...

  7. 使用 @Audited 增强Spring Boot 应用程序的数据审计能力

    介绍 在Spring Boot开发的动态世界中,确保数据完整性和跟踪变化是至关重要的.实现这一目标的一个强大工具是@Audited注解.本文深入探讨了该注解的复杂性.其目的.实现步骤以及如何利用其功能 ...

  8. Goutte爬虫

    安装 composer require fabpot/goutte:4.0

  9. .Net 6.0 Web API 项目生成镜像并上传到私有仓库 Harbor

    〇.前言 本文首先简单介绍了 Dockerfile 内容和常用命令: 然后是在 Windows 环境 Docker desktop 的安装和配置: 最后创建了 Web API 示例项目,并简单说明了从 ...

  10. 【Tutorial C】03 数据类型、变量

    在程序的世界中,可以让计算机按照指令做很多事情, 如进行数值计算.图像显示.语音对话.视频播放.天文计算.发送邮件.游戏绘图以及任何我们可以想象到的事情. 要完成这些任务,程序需要使用数据,即承载信息 ...