当前位置: 首页 > news >正文

Windows11和Ubuntu22双系统安装指南

一、需求描述

台式机电脑,已有Windows11操作系统,想要安装Ubuntu22系统(版本任意)。其中Windows安装在Nvme固态上,Ubuntu安装在Sata固态上,双盘双系统。开机时使用Grub控制进入哪个系统,效果图如下所示:

二、准备条件

1、Ubuntu镜像,官网地址:Ubuntu中文版,官方教程:Ubutu安装;

2、U盘一个,用于制作镜像(官网教程有提到,也可使用其它方法);

3、Windows系统要有ESP分区(如果没有,请看附录),用于EFI引导,且主板支持UEFI引导方式。

三、开始安装

1、开机进入BIOS,选择U盘为第一启动方式,这里主板因人而异,就不再赘述;

2、选择Try Or Installer Ubuntu,如果进入之后黑屏(Ubuntu24可能会出现),可以选择safe模式;

3、 选择语言和安装Ubuntu;(安装系统时无法截图,所以手机拍照;照片倾斜是为了防止摩尔纹,请理解)

4、 键盘布局默认即可,直接点击继续;

5、设置网络,可设置可跳过,根据个人需求;

6、自定义安装内容,可根据个人需求选择;

7、安装类型选择,选择其它选项,自己设置引导位置以及分盘;

8、 首先设置引导器位置,这个位置要和Windows Boot Manager在一块,也就是ESP分区的位置,如果这一块你不显示Windows Boot Manager或者所有盘符都没有Windows Boot Manager,说明你的Windows引导一直有问题,如果这个问题不解决,安装过程中可能会出现“Grub安装失败,这是一个致命错误”。

注意,引导器位置一定时ESP分区盘符,且有Windows Boot Manager字样,这里我的是nvme0n1p2,自己根据自己情况来。

9、设置Ubuntu系统交换空间、根目录以及用户目录盘符。首先找到你想要在哪里分配你的Ubuntu系统,这里我闲置的是/dev/sdb,是我的一块SATA固态硬盘480G,我准备分配8G交换空间、120G根目录和300G的用户目录,你们可以根据自己的情况分配。

交换空间用于虚拟内存,如果内存足够大(>32G),可以不设置;

根目录相当于Windows的系统盘,我这里分配了120G左右(根据个人情况);

用户目录是你经常使用和操作的目录,建议剩下的存储都给它(根据个人情况);

推荐大小分区类型分区位置用于挂载点
2G-8G逻辑分区空间起始位置交换空间
120G左右主分区空间起始位置Ext4日志文件系统/
余下所有逻辑分区空间起始位置Ext4日志文件系统/home

上面大致介绍完情况,开始手动分配。

10、分配交换空间

在目标空闲盘符,点击+号,开始分配。(大小自定义,注意是MB)(注意是逻辑分区)

****MB-逻辑分区-空间起始位置-交换空间

11、挂载根目录

在目标空闲盘符,点击+号,开始分配。(大小自定义,注意是MB)(注意是主分区,挂载/)

****MB-主分区-空间起始位置-EXT4日志文件系统-/

12、挂载home目录

在目标空闲盘符,点击+号,开始分配。(大小自定义,注意是MB)(注意是逻辑分区,挂载/)

****MB-逻辑分区-空间起始位置-EXT4日志文件系统-/home

13、以上全部分配完成,确认好引导器位置一直三个盘符大小,点击 继续即可。

提示再次确认

继续即可。

14、设置时区,默认上海即可(后续会出现Windows与Ubuntu时间差8小时情况,解决办法见附录)

15、设置用户名与密码等信息

设置完成之后,请耐心等待完成即可。完成之后拔下U盘,BIOS设置正确的启动项,即可进入Ubuntu系统。

四、附录

4.1、Windows系统无ESP分区

新的台式机电脑,可能在没有先使用PE工具分区情况下,直接安装了操作系统,就可能会导致没有ESP分区。ESP分区,即EFI系统分区,是EFI(可扩展固件接口)系统中的一个关键组成部分。它通常位于硬盘驱动器的首个分区,用于存储启动时所需的EFI启动管理器和操作系统相关文件。此外,ESP分区的文件系统格式通常为FAT32,以确保在EFI环境下的顺畅读写和引导操作。

如果没有ESP分区,想要设置,需要确保你的主板支持UEFI启动,然后再需要以下几步:

1、你的系统盘分区表类型必须为GPT格式,不是MBR格式,这点请注意。

如果不幸你的分区形式为MBR格式,也不用慌,使用系统自带工具或者DiskGenius都可以将盘符类型改为GPT格式(具体怎么操作去百度)。但是,这两个方式有个缺陷--它会清空你的数据,如果这是你的系统盘或者数据盘,那就不考虑这两种方式。如果是空盘,那无所谓。

这里我了解到一个强大的工具---傲梅分区助手,当然不是给他做广告哈,我本身情况就是系统盘是MBR,想改成GPT,但是不想重装系统。这款软件免费(关注公众号),使用起来很方面,亲测转GPT不会丢失数据。

右键即可看到MBR可以转GPT,点击之后,自动会创建一个100MB的ESP盘符,非常的方便。如果你的盘符是系统盘,那就需要制作一个PE系统来搞。

具体怎么操作,你可以看看官网文档,非常的方便。这样就解决了无损MBR转GPT,并创建ESP分区。

4.2、ESP分区过小问题

如果你想后续美化GRUB或者其它,100MB的ESP分区,着实有点小,你可以压缩盘符,然后扩容ESP分区,系统分区扩容时如果使用DiskGenius需要让你在PE环境下,这时候可以使用系统自带的磁盘管理器压缩出400MB的盘符,然后再使用DiskGenius扩容,这样就不用重启再使用PE了。

4.3、Windows与Ubuntu系统时间差问题

1、安装时间同步软件

sudo apt install ntpdate

2、同步时间

sudo ntpdate time.windows.com

3、将系统时间同步机制由UTC改为与windows一样的LocalTime

sudo hwclock --localtime --systohc

在启动Windows的时候,更新一下Windows时间,后续就不会出现时间不同步问题了。

4.4、使用Grub Customizer美化GRUB界面

可以使用一个可视化工具,名字叫Grub customizer

安装过程:

1、添加源

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

2、更新源

sudo apt-get update

3、安装

sudo apt-get install grub-customizer

可以在列表配置界面,更改启动顺序,或者移除其它启动项;

在常规设置界面,可以设置第一启动项,GRUB显示时间等;

在外观设置界面,可以自定义GRUB界面,也可以使用其它主题。

一个神奇的网站GRUB主题,里面有各式各样的,境外网站,打开速度感人。

选择你认为好看的, 本文以Grub-theme-vimix为例,根据分辨率选择下载

下载完成之后,解压,放在/boot/grub/themes/路径下,例如(主题名字自定义)

sudo cp -r Tels/ /boot/grub/themes/

重启 Grub customizer软件,在外观设置界面,下拉框可以选择预设的主题。

保存之后开机,即可看到自定义样式。

相关文章:

Windows11和Ubuntu22双系统安装指南

一、需求描述 台式机电脑,已有Windows11操作系统,想要安装Ubuntu22系统(版本任意)。其中Windows安装在Nvme固态上,Ubuntu安装在Sata固态上,双盘双系统。开机时使用Grub控制进入哪个系统,效果图…...

Dockerfile-php7.4.33

# 使用一个包含基本编译工具的基础镜像 FROM ubuntu:latestRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \echo "Asia/Shanghai" > /etc/timezone# 更新包列表并安装必要的编译工具和库 RUN apt-get update && apt-get i…...

如何降低MCU系统功耗?

大家在做MCU系统开发的时候,是否也碰到过降低MCU系统功耗的需求? MCU系统整板功耗是个综合的数据,包括MCU功耗以及外部器件功耗,在此我们主要介绍如何降低MCU的功耗: 可以在满足应用的前提下,降低MCU的运…...

移动端 UI 风格,诠释精致

移动端 UI 风格,诠释精致...

【408考点之数据结构】数组和特殊矩阵的压缩存储

数组和特殊矩阵的压缩存储 在数据结构中,数组是一种基础的数据结构,用于存储相同类型的元素的集合。矩阵则是一个二维数组,常用于表示图像、图形以及数学运算中的系数。随着矩阵的广泛应用,一些特殊类型的矩阵也被引入并得到了有…...

26、matlab多项式曲线拟合:polyfit ()函数

1、前言 在 MATLAB 中,可以使用 polyfit() 函数进行多项式曲线拟合。polyfit() 函数可以拟合一个多项式模型到给定的数据点,从而找到最符合这些数据点的多项式曲线。以下是关于 polyfit() 函数的一些基本说明和示例用法: 语法 p = polyfit(x, y, n) x 和 y 是数据点的横纵…...

VMR,支持30+种编程语言的SDK版本管理器,支持Windows/MacOS/Linux。

官方文档地址:https://docs.vmr.us.kg/ 欢迎安装使用,分享转发,前往github star。 跨平台,支持Windows,Linux,MacOS支持多种语言和工具,省心受到lazygit的启发,拥有更友好的TUI&…...

模板初阶【C++】

文章目录 模板的作用模板的原理模板分为两大类——函数模板和类模板函数模板语法函数模板实例化模板函数的方式模板函数的类型转换既有函数模板又有已经实现的函数,会优先调用哪一个? 类模板语法模板类实例化对象模板类的模板参数可以有缺省值类模板中的…...

搭建Vue的环境

目录 # 开篇 步骤一,准备Vue 的环境 步骤二,下载Vue.js的包 步骤三,创建并打开写前端代码的文件夹 步骤四,在VSCode中引入Vue.js的包 步骤五,创建第一个vue.html Vue其他知识 Vue.config命令 # 开篇 介绍&…...

[学习笔记]-MyBatis-Plus简介

简介 Mybatis-Plus(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 简言之就是对单表的增删改查有了很好的封装。基本不用再单独写sql语句了。目前此类…...

2024.6.23 刷题总结

2024.6.23 **每日一题** 520.检测大写字母,本题是简单模拟题,考察了ASCLL码相关的知识,根据题意,本题对于字符串有三种正确的用法,所以我们分三类来讨论,先根据首字母的大小写来分类,如果首字母…...

mysql查询不同用户(操作记录)的最新一条记录

先用MAX(time) 和 group by item_id 查询出不同的item_id对应的最大时间,然后再在外面连表查询,查询 表中 item_id 和login_time 时间 相等于刚才的查询记录的记录 具体语句如下 select a.* from reyo a join (select item_id,max(login_time) as ti…...

Java中如何使用设计模式来解决编程问题?

Java中使用设计模式来解决编程问题,可以显著提高代码的可复用性、可维护性和可读性。设计模式是一套被广泛应用于软件工程的解决方案,描述了在特定上下文中面对具体问题时的可复用解决方案。以下是几种常用的设计模式及其应用场景: 单例模式…...

单机、集群和分布式

目录 1.概述 2.单机服务器 单机版的服务器的性能,设计上的瓶颈? 3.集群 解决瓶颈1: 没有解决瓶颈2: 没有解决瓶颈3: 集群的优点? 集群的缺点? 4.分布式 分布式的优点? 分…...

qt开发-10_LineEdit

QLineEdit 小部件是一个单行文本编辑器。行编辑允许用户使用一组有用的编辑函数输入和 编辑一行纯文本。包括撤消和重做、剪切和粘贴以及拖放。通过更改行编辑的 echoMode(),它 还可以用作“只写”字段,用于输入如密码等. 创建好项目后,进入 …...

福昕PDF编辑器快速去除PDF水印方法

在福昕PDF编辑器软件中打开一个带有水印的PDF文件,点击如图下所示的页面管理->水印,点击全部移除 点击 是 水印消除(注:部分类型的水印可以消除,但是有些类型的水印无法通过此方法消除)...

Cloudflare 常用操作

一、域名托管到cloudflare 登录cloudflare->添加站点->填写域名(例如阿里云)->继续选择free套餐->继续->保存cloudflare分配的DNS地址->进入阿里云域名管理->进入DNS管理/DNS修改把DNS地址修改为cloudflare分配的两个DNS->保存->回到cloudflare->…...

elementUI的table使用展开功能( type=“expand“ ),展开时合起上一次展开的内容,始终保持展开内容为一个,并且再次点击合起自身

直接上代码了没什么可讲的,主要是用到 row-key"id" :expand-row-keys"expands row-click"handleRowClick" <template><div class"ele-body"><el-card shadow"never"><!-- 数据表格 --><ele-pro-t…...

【金】?Y? python网页前端streamlit

1、如何从 Google Colab Notebook 启动 streamit参考-How to Launch Streamlit App from Google Colab Notebook !streamlit run web.py & npx localtunnel --port 8501 & curl ipv4.icanhazip.com...

数据仓库之Lambda架构

Lambda架构是一种设计大规模数据处理系统的架构模式&#xff0c;它结合了批处理和实时处理的优点&#xff0c;以应对大数据的多样性、速度和规模问题。该架构主要由三个层次组成&#xff1a;批处理层&#xff08;Batch Layer&#xff09;、速度层&#xff08;Speed Layer&#…...

Apriori 处理ALLElectronics事务数据

通过Apriori算法挖掘以下事务集合的频繁项集&#xff1a; 流程图 代码 # 导入必要的库 from itertools import combinations# 定义Apriori算法函数 def apriori(transactions, min_support, min_confidence):# 遍历数据&#xff0c;统计每个项的支持度 item_support {}for tr…...

Content Provider:深入解析Android数据共享的核心组件

在Android开发中&#xff0c;Content Provider是一个重要的组件&#xff0c;它允许应用程序之间共享数据。它扮演着“数据访问中间层”的角色&#xff0c;为不同应用程序提供了一个统一的数据访问接口。以下将从技术难点、面试官关注点、回答吸引力以及代码举例四个方面&#x…...

069、Python 函数的递归调用

函数可以自己调用自己吗&#xff1f;&#xff1f;&#xff1f; 这就涉及函数的递归的用法了。 递归的概念&#xff1a; 函数递归是指函数在其定义中直接或间接调用自身的过程。 递归是一种强有力的编程技术&#xff0c;通常用于解决可以被分解为相同问题的子问题的情况&…...

数仓开发那些事_番外

一位神州的正式员工&#xff08;没错&#xff0c;就是之前文章中出现的实习生&#xff09;&#xff1a;一闪&#xff0c;你今年涨工资了吗&#xff1f; 一闪&#xff1a;mad&#xff0c;一年辛苦到头只涨了500米 神州员工&#xff1a;你去年绩效不是优秀吗&#xff0c;怎么就涨…...

Vue3+TypeScript项目实战——打造雨雪交加的智慧城市

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 ⚡开源项目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1…...

经典游戏案例:植物大战僵尸

学习目标&#xff1a;植物大战僵尸核心玩法实现 游戏画面 项目结构目录 部分核心代码 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using Random UnityEngine.Random;public enum Z…...

Go 与 Java 字符编码选择:UTF-8 与 UTF-16 的较量

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

vscode+picgo+gitee实现Markdown图床

vscode中编辑Markdown文件&#xff0c;复制的图片默认是保存在本地的。当文档上传csdn时&#xff0c;会提示图片无法识别 可以在gitee上创建图床仓库&#xff0c;使用picgo工具上传图片&#xff0c;在Markdown中插入gitee链接的方式来解决该问题。 一、 安装picgo工具 1.1 v…...

【thinkphp问题栏】tp5.0分页技巧

一、调用内置方法paginate thinkphp内置了一个paginate方法支持分页功能 该方法位于library\think\db\Query.php内 /*** 分页查询* param int|array $listRows 每页数量 数组表示配置参数* param int|bool $simple 是否简洁模式或者总记录数* param array $config 配…...

获取时间戳是使用System.currentTimeMillis()还是使用new Date().getTime()(阿里开发规范)?

1.阿里规范 在阿里的Java开发手册中强制要求使用System.currentTimeMillis() 2.为什么(源码详解) new Date().getTime()它实际上也是调用的System.currentTimeMillis()&#xff0c;源码分析。 这个fastTime是它的成员变量&#xff0c;在new Date()的时候就被赋值了。 扩展一…...

长沙网站开/seo推广话术

之前的博文中介绍了如何使用Firefox插件来玩红白机游戏&#xff0c;这次给大家介绍如何使用Firefox来浏览CHM文档。日常生活中的CHM格式文档很多&#xff0c;如何使用Firefox来打开CHM格式文档&#xff0c;对了采用插件&#xff0c;ChmReader就是这么一款有趣的插件&#xff0c…...

如何制作网站导航栏/网络营销的方法

题目描述 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。分析&#xff1a;如果一个数组是一个二叉搜索树的后序遍历结果&#xff0c;那么这个数组有以下特征&#xff1a;数…...

mac wordpress 教程/广州网站建设技术外包

项目场景&#xff1a; 开发微信小程序时我遇到了一个bug&#xff0c;app.json里明明Page里添加了tabBar的pagePath,怎么就是显示不出来呢&#xff1f; 原因分析&#xff1a; 请问&#xff1a; 打开的第一个page里面就不是tabbar的pagepath&#xff0c;第一个page为什么要显示ta…...

展示型企业网站有哪些举例/网址导航怎样推广

docker笔记13--面试必知的容器核心技术容器和虚拟机区别Docker 隔离技术Docker 限制技术容器文件系统K8S 如何创建 podK8S 如何调度 GPU podQ & A参考文档最近在温习docker 的相关知识&#xff0c;把容器和 k8s相关的部分内容总结了一下&#xff0c;贴在此处&#xff0c;以…...

国际公司和全球公司/贵港网站seo

搞音视频开发好些年&#xff0c;分享过许多博客文章&#xff0c;比如&#xff1a;前几年发布的《FFmpeg Tips》系列&#xff0c;《Android 音频开发》系列&#xff0c;《直播疑难杂症排查》系列等等。最近想把多年来开发和优化播放器的经验也分享出来&#xff0c;希望能帮助到音…...

阿里云企业邮箱入口/关键词优化 搜索引擎

JS的解析 学习目标&#xff1a; 了解 定位js的方法了解 添加断点观察js的执行过程的方法应用 js2py获取js的方法 1 确定js的位置 对于前面人人网的案例&#xff0c;我们知道了url地址中有部分参数&#xff0c;但是参数是如何生成的呢&#xff1f; 毫无疑问&#xff0c;参数肯…...