搭建一个双系统个人服务器
搭建一个双系统个人服务器
- 0.前言
- 一、双系统安装
- 1.磁盘划分
- 2.windows安装
- 3.ubuntu安装
- 二、系统启动项
- 美化:
- 1. refind引导
- 2. 美化 grub 界面
- 三、系统代理
0.前言
年后找了份工作,忙于适应新环境所以更新也减缓了,最近闲暇时间给个人电脑进行了整理和修缮,改造出了一台私人服务器,便于后续的学习和工作。
一、双系统安装
配置方面就无所谓了,主要是上层的系统和环境需要搭建。首先是双系统安装,硬盘方面是一个 1T m.2 固态用于安装 windows,一个 470G 固态用于安装ubuntu。
1.磁盘划分
将 1T 固态分成 EFI + GPT 磁盘,EFI 大小 300M,用于存放windows 和 ubuntu 引导,GPT 磁盘用于存放 windows 系统的文件。
将 470G 固态分成 70G + 400G 的GPT磁盘,不需要EFI引导分区。
2.windows安装
这部分没什么好说的,直接 windows 官方安装工具,安装到 1T 固态中即可。由于安装 win11 后的使用过程遇到些不知名的bug,所以最后安装的 win10 系统。
3.ubuntu安装
这部分安装的时候,搜索了一下相关示例,感觉教程都挺杂乱,所以就小记一下。目前很多教程都分出好多分区,什么 boot、swap、home、根分区 / 等等,很多参考的人也不知道什么意思就跟着操作了。
从ubuntu下载镜像,使用 rufus 制作安装盘,安装步骤一搜一大把,这里就不赘述了。然后关于分区,首先是根分区 /,这个分区类似于 windows 下的系统盘,通常一些 Linux 内核文件及系统工具等存放在此。这里我分了 70G,建议最低不低于 30G,否则后续安装 pytorch、cuda 等大型工具以后很容易就满了,磁盘充足也可以相应扩大。
/home目录,这部分就相当于用户个人磁盘,将它单独分出来的目的是后续如果想重装ubuntu系统,直接安装在 / 目录即可,用户文件不会丢失。这里我将剩余的400G全部分配。
/swap目录,这部分争议较大,有说分出大小为内存的两倍,有说随便分点就行的。这个分区可以理解为手机的虚拟内存,比如有的手机6G内存不够,会有个+3G虚拟内存的功能,将一部分存储空间作为内存使用。由于我的内存较充足,且系统装在固态中,频繁的读写会降低磁盘寿命,所以我就直接舍弃了这部分分区。如果是安装在vmware虚拟机,或者电脑硬件资源有限,交换分区可以分出合适的大小,4G - 8G 即可。
最后是/boot分区,这部分就是存放系统引导的,由于我将 ubuntu 引导和 windows 引导放在一起,这部分也就不要了。如果有实际需求,分出 300M 左右大小就足够。
磁盘格式(按以下顺序进行手动分区):
根目录 /:ext4,主分区,从磁盘起始位置,70G
交换分区/swap(按照需求):swap格式,逻辑分区,从磁盘起始位置
引导分区/boot(按照需求):ext4,逻辑分区,从磁盘起始位置,300M
/home:ext4,逻辑分区,从磁盘起始位置,剩余空间
如果是安装在虚拟机,可以选择自动分区,也就是只创建一个根目录 /,将所有文件都存放在此目录下,因为虚拟机文件备份较简单。如果是安装独立系统,建议使用手动分区,数据安全最重要。
二、系统启动项
安装好双系统后,进入 bios 设置启动项顺序,如果将 windows 放在第一个,启动时通常没有选项,直接进入windows。所以将 ubuntu 放在第一项,这样启动时会进入 ubuntu 的 grub 引导,也就是下面这种黑白的。(图是搬运的,仅做示范)

美化:
笔者使用了两种方法对这个界面进行美化,更换 refind 引导和美化 grub 界面。
1. refind引导
具体可以参考这个视频,主要步骤为:①下载 refind 官方引导文件②github 下载 refind 美化主题包③修改 refind 引导的配置文件,将美化包引入使用。然后使用 deskginus 工具,设置新的引导项后重启即可。(注:这里还有个小坑,重启以后还是要修改 bios 引导项,将 refind 放在第一项,否则无法生效)
2. 美化 grub 界面
由于找到的几个 refind 美化包个人觉得都不大好看,感觉想上个世纪的风格,所以最后又找了找美化 grub 的方法。参考这篇帖子,从 gnome-look 下载相关的美化包,然后直接脚本安装即可。总体是比较简单的,因为之前设置了 ubuntu 为第一启动项,启动时会自动加载 grub 引导,所以只要对 grub 进行美化即可。并且这个网站上的美化包风格更现代一点,还是不错的。
三、系统代理
因为服务器需要经常访问 github,以及资源下载等,所以就搭了个系统 proxy。试过将之前的旁路由作为服务器的网络路由,不过有些网页还是会有一些转发丢包的现象,所以就直接在系统里搭了一个新的代理。
在 windows 系统下使用Cla for win,订阅,生成 ymal 文件,然后拷贝到 linux 中,使用 Cla for Linux,配置文件可以直接用 win 中生成的,如果需要其他设置,可以使用 Cla 的 webui,总体还是比较方便的。将 ubuntu 的网络代理指向 Cla 就可以全局使用了。
至此,服务器搭建完毕,之后看看找点小东西玩玩。
相关文章:
搭建一个双系统个人服务器
搭建一个双系统个人服务器0.前言一、双系统安装1.磁盘划分2.windows安装3.ubuntu安装二、系统启动项美化:1. refind引导2. 美化 grub 界面三、系统代理0.前言 年后找了份工作,忙于适应新环境所以更新也减缓了,最近闲暇时间给个人电脑进行了整…...
电脑长按电源键强行关机,对SSD有伤害吗?SSD 掉盘之殇
说到“按住电源键强制关机”的操作,想必大家都不会陌生,毕竟在电脑蓝屏或者电脑死机的时候,我们总是束手无策。而且,身边的人在遇到同样的情况时,往往都是选择长按电源键强制关机,所以当我们遇到同样的情况…...
Linux:centos内核优化详解
一、系统内核部分设置在以下文件 vim /etc/sysctl.conf 1.禁用IPV6 net.ipv6.conf.all.disable_ipv6 1 # 禁用整个系统所有接口的IPv6 net.ipv6.conf.default.disable_ipv6 1 net.ipv6.conf.lo.disable_ipv6 1 # 禁用某一个指定接口的IPv6(此处为:lo) 理想情况下,…...
链表经典OJ题合集(包含带环问题,相交问题,随机指针复制等,附动画讲解)
目录 一:前言 二:简单题目 (1)移除链表元素 (2)反转链表 (3)找链表的中间结点 (4)输入一个链表,输出该链表中倒数第k个结点 (5)合并两个有序链表 (6)相交链表 (7)判断链表是否带环 三:较难题目 (1)链表分割 (2)判断链表是否为回…...
CSS新增
系列文章目录 前端系列文章——传送门 CSS系列文章——传送门 文章目录系列文章目录什么是 CSS3渐进增强和优雅降级CSS3 中的选择器CSS3 中的背景CSS3 中的边框CSS3 中的文本效果CSS3 中的字体 font-face什么是 CSS3 CSS3是CSS(层叠样式表)技术的升级版…...
奇安信_防火墙部署_透明桥模式
奇安信_防火墙部署_透明桥模式一、预备知识二、项目场景三、拓扑图四、基本部署配置1. 登录web控制台2.连通性配置3.可信主机配置4.授权导入5.特征库升级6.安全配置文件五、透明桥配置1. 创建桥2. 端口绑定桥3. 创建桥端口六、结语一、预备知识 安全设备接入网络部署方式 二、…...
C语言——字符串函数(2)和内存函数
(一)strtok函数dilimiters参数是个字符串,定义了用作分隔符的字符集合第一个参数指定一个字符串,它包含了0个或者多个由dilimiters字符串中一个或者多个分隔符分割的标记。strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回…...
第1节 线性回归模型
1. 模型概述 对于收集到的数据(xi,yi)(x_i,y_i)(xi,yi),建立线性回归模型yiθTxiεi(1)y_i\theta^{^T} x_i \varepsilon_i (1)yiθTxiεi(1) 需要估计的参数为θT\theta^{^T}θT,我们的目的是让估计的参数θT\theta^{^T}θT和xix_ixi…...
CodeGeeX 130亿参数大模型的调优笔记:比FasterTransformer更快的解决方案
0x0 背景 相信大家都使用或者听说过github copilot这个高效的代码生成工具。CodeGeeX类似于github copilot,是由清华大学,北京智源研究院,智谱AI等机构共同开发的一个拥有130亿参数的多编程语言代码生成预训练模型。它在vscode上也提供了插件…...
Linux驱动之并发与竞争
文章目录并发与竞争的概念原子操作原子整形操作 API 函数原子位操作 API 函数自旋锁自旋锁简介自旋锁结构体自旋锁 API 函数自旋锁的注意事项读写自旋锁读写自旋锁的API顺序锁顺序锁的APIRCU(Read-Copy-Update)RCU的API信号量信号量API互斥体互斥体的API完成量(Completion)完成…...
【密码学复习】第四讲分组密码(三)
AES算法的整体结构 AES算法的轮函数 1)字节代换(SubByte) 2)行移位(ShiftRow) 3)列混合(MixColumn) 4)密钥加(AddRoundKey)1-字节代换…...
JVM(内存划分,类加载,垃圾回收)
JVMJava程序,是一个名字为Java 的进程,这个进程就是所说的“JVM”1.内存区域划分JVM会先从操作系统这里申请一块内存空间,在这个基础上再把这个内存空间划分为几个小的区域在一个JVM进程中,堆和方法区只有一份;栈和程序…...
工作中遇到的问题 -- 你见过哪些写的特别好的代码
strPtr : uintptr((*(*stringStruct)(unsafe.Pointer(&str))).str)代码解析: 这是一段 Go 代码,它的作用是获取一个字符串变量 str 的底层指针,即字符串数据的起始地址。 这段代码涉及到了 Go 语言中的指针、类型转换和内存布局等概念&…...
基于chatGPT设计卷积神经网络
1. 简介 本文主要介绍基于chatGPT,设计一个针对骁龙855芯片设计的友好型神经网络。 提问->跑通总共花了5min左右,最终得到的网络在Cifar100数据集上与ResNet18的精度对比如下。 模型flopsparamstrain acc1/5test acc1/5ResNet18(timm)1.8211.18~98…...
java.sql.Date和java.util.Date的区别
参考答案 java.sql.Date 是 java.util.Date 的子类java.util.Date 是 JDK 中的日期类,精确到时、分、秒、毫秒java.sql.Date 与数据库 Date 相对应的一个类型,只有日期部分,时分秒都会设置为 0,如:2019-10-23 00:00:0…...
动态规划---线性dp和区间dp
动态规划(三) 目录动态规划(三)一:线性DP1.数字三角形1.1数字三角形题目1.2代码思路1.3代码实现(正序and倒序)2.最长上升子序列2.1最长上升子序列题目2.2代码思路2.3代码实现3.最长公共子序列3.1最长公共子序列题目3.2代码思路3.3代码实现4.石子合并4.1题目如下4.2代…...
常见的2D与3D碰撞检测算法
分离轴分离轴定理(Separating Axis Theorem)是用于解决2D或3D物体碰撞检测问题的一种方法。其基本思想是,如果两个物体未发生碰撞,那么可以找到一条分离轴(即一条直线或平面),两个物体在该轴上的…...
STM32 10个工程篇:1.IAP远程升级(二)
一直提醒自己要更新CSDN博客,但是确实这段时间到了一个项目的关键节点,杂七杂八的事情突然就一涌而至。STM32、FPGA下位机代码和对应Labview的IAP升级助手、波形设置助手上位机代码笔者已经调试通过,因为不想去水博客、凑数量,复制…...
Unity+ChatGpt的联动 AICommand
果然爱是会消失的,对吗 chatGpt没出现之前起码还看人家的文章,现在都是随便你。 本着师夷长技以制夷的思路,既然打不过,那么我就加入 github地址:https://github.com/keijiro/AICommand 文档用chatGpt翻译如下&#…...
STM-32:按键控制LED灯 程序详解
目录一、基本原理二、接线图三、程序思路3.1库函数3.2程序代码注:一、基本原理 左边是STM322里电路每一个端口均可以配置的电路部分,右边部分是外接设备 电路图。 配置为 上拉输入模式的意思就是,VDD开关闭合,VSS开关断开。 浮空…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
Monorepo架构: Nx Cloud 扩展能力与缓存加速
借助 Nx Cloud 实现项目协同与加速构建 1 ) 缓存工作原理分析 在了解了本地缓存和远程缓存之后,我们来探究缓存是如何工作的。以计算文件的哈希串为例,若后续运行任务时文件哈希串未变,系统会直接使用对应的输出和制品文件。 2 …...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...
