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

搭建一个双系统个人服务器

搭建一个双系统个人服务器

  • 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) 理想情况下&#xff0c…...

链表经典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开关断开。 浮空…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...

DBLP数据库是什么?

DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...

轻量级Docker管理工具Docker Switchboard

简介 什么是 Docker Switchboard ? Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...