爆改老旧笔记本---将笔记本改造为家用linux服务器
有一些脚本或者定时任务需要托管,虽然可以上各种云服务器,但是毕竟一年下来也要不少RMB,本着节省的目的,将家中无用的笔记本电脑改成linux服务器,以下记录改造过程中遇到的各种问题以及解决方法。
linux启动盘制作
参考:https://blog.csdn.net/LL596214569/article/details/138290658
链接中的大佬描述的非常详细,下面记录一些常识性问题。
镜像文件
笔记本常用的CPU主要是AMD和Intel,虽然架构不同,但都是64位,需要安装对应的64位的linux系统镜像;链接中下载的linux镜像文件名是:ubuntu-xx.xx.xx-desktop-amd64.iso,这个amd64并不是说只能运行在amd架构的芯片,只要是64位的CPU,都可以运行;
分区类型:MBR分区和GPT分区的定义
MBR分区(Master Boot Record)
MBR是一种传统的分区表格式,最早出现在IBM PC DOS 2.0中,具有以下特点:
- 分区限制:最多支持4个主分区(或3个主分区加一个扩展分区,扩展分区可以包含多个逻辑分区)。
- 存储容量限制:支持的最大硬盘容量为2TB(使用512字节扇区)。
- 启动机制:通过存储在第一个扇区的引导代码加载操作系统。
GPT分区(GUID Partition Table)
GPT是更现代的分区表格式,作为MBR的替代方案,与UEFI(统一可扩展固件接口)标准紧密相关,具有以下特点:
- 分区限制:支持最多128个主分区(具体数量受操作系统限制)。
- 存储容量限制:理论上支持最大18EB(Exabytes)。
- 数据冗余:分区表和启动信息在磁盘开头和结尾都备份,增加数据安全性。
- 分区标识:每个分区都有一个唯一的GUID标识。
应用场景和优势
MBR的应用场景和优势
- 适用于小容量磁盘(≤2TB)。
- 老旧系统或硬件中使用(如旧版Windows、BIOS固件设备)。
- 安装需要MBR分区的操作系统(如32位系统)。
GPT的应用场景和优势
- 大容量硬盘(>2TB)。
- 支持多分区且需要更高安全性的场景。
- UEFI模式下启动的新系统(如Windows 10、Linux现代发行版)。
- 数据中心和服务器,因其稳定性和数据安全性更高。
Linux中如何查看分区类型
在Linux中可以使用以下方法查看分区类型:
- 使用fdisk命令
sudo fdisk -l
输出中会显示磁盘分区信息,其中包括MBR或GPT标识。
- 使用parted命令
sudo parted /dev/sdX print
输出中的 Partition Table 项会显示分区表类型(msdos表示MBR,gpt表示GPT)。
- 使用lsblk命令
lsblk -f
显示块设备的文件系统信息,辅助查看磁盘分区类型。
使用blkid命令
sudo blkid
显示设备UUID等信息,可判断是否为GPT(GUID格式)。
其他补充内容
文件系统和分区的关系
- 分区表(如MBR、GPT)决定了磁盘的分区方式,而分区内部可以选择不同的文件系统(如ext4、NTFS、FAT32)。
兼容性考虑
- Windows不支持在MBR分区的磁盘上创建超过2TB的卷。
- 一些UEFI固件可能要求磁盘必须使用GPT分区表才能正常启动。
转换分区表
- 从MBR转为GPT:可以使用gdisk或parted工具(需注意转换会清空数据)。
- 从GPT转为MBR:也需要类似工具,且通常会丢失超过2TB的空间。
UEFI与MBR/GPT的关系
- 传统BIOS通常使用MBR。
- UEFI通常要求GPT,但一些实现支持MBR。
MBR分区限制原因分析
MBR(Master Boot Record)只能有4个主分区的限制,源自其分区表的设计方式。以下是原因的详细分析:
- 分区表结构限制
- MBR分区表设计在磁盘的第一个扇区(512字节,或称0号扇区)。
- 分区表的主要部分只有64字节(每个分区占16字节,共4个分区条目),因此只能记录最多4个主分区的信息。
- 每个分区条目包含起始扇区、结束扇区等信息,但因空间限制无法记录更多分区。
- 主分区与扩展分区
- 为了突破4个分区的限制,设计了“扩展分区”的概念:
- 在4个分区条目中,可以用其中一个条目指向一个特殊的分区(扩展分区)。
- 扩展分区本质上是一个容器,里面可以包含多个逻辑分区。
- 逻辑分区的信息存储在扩展分区的链式结构中,不直接记录在MBR的64字节区域。
- 历史与兼容性
- MBR诞生于上世纪80年代,当时的硬件能力和磁盘容量远低于今天,最多4个主分区已经足够。
- 为了兼容早期操作系统和硬件,MBR的分区表格式被沿用下来,分区数量限制也随之保留。
- 为什么不能直接扩展主分区数量
- 增加主分区数量需要更改MBR分区表的格式(例如增加分区条目空间)。
- 修改分区表格式会导致与现有系统和工具的不兼容性,因此行业选择通过扩展分区和逻辑分区的方式解决问题,而不是直接改变标准。
文件系统
电脑文件系统概述
文件系统是操作系统用来组织、存储和管理数据的一种方法。它为数据在存储设备(如硬盘、SSD、U盘)上的存储和访问提供结构化的方式。本节以 FAT32 和 NTFS 为主,介绍文件系统的概念、特点以及应用场景。
什么是文件系统?
文件系统定义了如何在存储设备上组织文件和目录,并管理文件的元数据(如文件名、大小、权限等)。
常见功能包括:
- 数据组织(文件与目录结构)。
- 存储空间分配与回收。
- 文件访问与管理。
一个文件系统通常包括以下组成部分:
- 引导区:包含文件系统标识和启动信息。
- 文件元数据:描述文件的属性(如权限、大小)。
- 数据区:存储文件的实际内容。
常见文件系统类型
文件系统 | 支持平台 | 单文件最大大小 | 分区最大大小 | 特点与应用 |
---|---|---|---|---|
FAT32 | Windows、Linux、macOS、嵌入式设备 | 4GB | 2TB | 跨平台兼容性强,限制较多。 |
NTFS | Windows、部分支持macOS/Linux | 无上限(2^64字节) | 256TB | 高效、功能丰富,兼容性较弱。 |
exFAT | Windows、macOS、部分Linux | 无上限 | 128PB | 支持大文件,兼容性介于 FAT32 和 NTFS 之间。 |
ext4 | Linux | 16TB | 1EB | Linux 默认文件系统。 |
FAT32 文件系统
1. 简介
FAT32(File Allocation Table 32)是 FAT 文件系统的升级版本,由微软推出,广泛应用于小型存储设备。
2. 特点
- 跨平台兼容性强:支持 Windows、macOS、Linux 以及嵌入式设备。
- 简单易用:结构简单,容易实现和维护。
- 性能良好:适合小型存储设备,读写效率较高。
3. 限制
- 单文件最大限制 4GB:无法存储超大文件。
- 分区最大限制 2TB:不适合现代大容量硬盘。
- 无文件权限支持:无法实现高级文件保护功能。
4. 应用场景
- U盘与SD卡:由于其兼容性高,适合在多种设备之间传输文件。
- 嵌入式设备:如相机、MP3 播放器等小型设备常使用 FAT32。
NTFS 文件系统
1. 简介
NTFS(New Technology File System)是微软为 Windows 系统开发的文件系统,提供了更高的性能和更多的功能。
2. 特点
- 支持大文件和大容量分区:单文件大小和分区容量几乎无上限。
- 文件权限和加密:支持访问控制列表(ACL),提供更强的数据保护。
- 日志功能:通过记录文件操作日志,增强文件系统的可靠性。
- 压缩与快照:支持文件压缩和快照功能,提升存储效率和数据恢复能力。
3. 限制
- 跨平台兼容性差:macOS 默认只读 NTFS,Linux 需安装第三方驱动(如 NTFS-3G)。
- 复杂性较高:相比 FAT32,NTFS 的实现和维护更复杂。
4. 应用场景
- Windows 系统磁盘:NTFS 是现代 Windows 系统的默认文件系统。
- 大文件存储:适合存储高清视频、虚拟机镜像文件等。
- 安全需求场景:需要文件权限管理或加密的环境。
FAT32 与 NTFS 的对比
特性 | FAT32 | NTFS |
---|---|---|
跨平台兼容性 | 优秀 | 一般(需安装额外驱动)。 |
单文件大小限制 | 最大 4GB | 无限制 |
分区大小限制 | 最大 2TB | 256TB |
文件权限支持 | 不支持 | 支持 |
数据可靠性 | 无日志支持 | 支持日志记录与崩溃恢复。 |
性能 | 简单场景性能较好 | 复杂场景更高效 |
总结
- FAT32:适用于小型存储设备和跨平台文件传输,适合无需存储大文件的场景。
- NTFS:更适合 Windows 环境,提供强大的功能支持,适用于大容量存储和高安全性需求的场景。
根据使用需求和设备兼容性,选择合适的文件系统可以提升数据管理效率和可靠性。
安装linux
电脑 Boot 模式区别
在电脑启动过程中,boot 模式指的是计算机在开机时根据不同的硬件配置、启动介质或操作系统要求,选择的不同启动流程。常见的启动模式包括 BIOS 启动模式和 UEFI 启动模式,此外,还可以选择不同的启动方式,如 Legacy Mode 和 UEFI Mode。这些启动模式的区别主要体现在硬件兼容性、启动速度、安全性等方面。
1. BIOS(基本输入输出系统)启动模式
定义
- BIOS 是传统的计算机启动固件,它负责初始化硬件设备并启动操作系统。它通常存储在主板上的一个非易失性存储器芯片中。
- BIOS 启动模式采用传统的 MBR(Master Boot Record)分区表来识别启动设备。
特点
- 使用 MBR 分区表:支持最多四个主分区,且最大支持 2TB 的磁盘。
- 启动流程较慢,因为它在启动时执行硬件初始化过程,且引导操作系统的方式较为简单。
- 不支持现代安全功能,如安全启动(Secure Boot)和大容量硬盘支持。
使用场景
- 较老的计算机和操作系统(如 Windows XP、Windows 7 等)。
- 需要兼容旧硬件和操作系统的环境。
2. UEFI(统一扩展固件接口)启动模式
定义
- UEFI 是替代传统 BIOS 的新一代固件标准,设计上更现代化,支持更大的硬盘、更快的启动过程,并增加了许多新的功能,如图形界面支持和安全启动等。
- UEFI 启动模式使用 GPT(GUID Partition Table)分区表来替代传统的 MBR 分区表,支持更大容量的磁盘和更多的分区。
特点
- 使用 GPT 分区表:支持超过 2TB 的硬盘和最多 128 个分区。
- 启动速度更快:由于 UEFI 采用了更先进的启动流程,初始化硬件的速度更快。
- 安全启动(Secure Boot):可以验证启动的操作系统是否经过认证,防止恶意软件(如 rootkit)在启动过程中运行。
- 支持图形界面和网络启动(PXE)。
使用场景
- 现代计算机和操作系统(如 Windows 10、Windows 11、Linux 等)。
- 对于 2TB 以上硬盘或需要多个分区的设备。
3. Legacy Mode(传统模式)
定义
- Legacy Mode 是指在 UEFI 启动模式下启用的一个兼容模式,允许计算机模拟传统 BIOS 的启动方式。Legacy Mode 基本上是让 UEFI 固件兼容旧的 MBR 分区系统。
- 启用 Legacy Mode 后,UEFI 固件将表现得像传统的 BIOS,支持 MBR 分区和其他旧硬件接口。
特点
- 使用 MBR 分区表,支持最多 2TB 的硬盘。
- 启动速度较慢,且不支持现代的安全启动功能。
- 主要用于旧操作系统或不支持 UEFI 的操作系统。
使用场景
- 需要兼容旧操作系统或硬件的环境,或者在不支持 UEFI 的操作系统上进行启动(如一些老版本的 Windows 或 Linux)。
4. UEFI + Secure Boot
定义
- Secure Boot 是 UEFI 的一项安全功能,确保计算机启动时只有经过认证的操作系统和引导程序才能加载。这一机制可以有效地防止恶意软件通过篡改启动程序来攻击系统。
- 在启用了 Secure Boot 的 UEFI 模式下,操作系统的启动加载器会被验证,如果其签名不合法或被篡改,计算机将拒绝启动。
特点
- 防止恶意软件或未授权的操作系统篡改启动过程。
- 仅允许具有有效数字签名的操作系统启动,如 Windows、受信任的 Linux 发行版等。
- 防止 rootkit、bootkit 等恶意软件在启动时感染系统。
使用场景
- 用于加强计算机的安全性,特别是在防止引导区病毒或恶意软件入侵的环境中。
- 现代操作系统通常启用此功能,但用户也可以根据需要禁用它。
5. 网络启动(PXE Boot)
定义
- 网络启动(PXE,Preboot Execution Environment)是一种允许计算机通过网络加载操作系统的启动方式。在启动过程中,计算机会从网络服务器上获取启动文件,并通过网络加载操作系统镜像。
- 通常用于无硬盘计算机或需要在大量设备中进行快速部署的环境。
特点
- 无需本地存储介质(硬盘或 SSD),可以通过网络加载操作系统。
- 通常用于大型企业环境中批量部署操作系统或进行远程恢复。
使用场景
- 系统管理员批量安装操作系统或进行远程维护。
- 需要在没有本地存储设备的情况下启动计算机。
6. 启动模式选择(双启动和多启动)
定义
- 双启动(Dual Boot)或多启动(Multi-Boot)是指在一台计算机上安装多个操作系统,启动时可以选择要加载的操作系统。计算机会根据用户选择的操作系统从相应的引导分区启动。
特点
- 可以安装多个操作系统(如 Windows 和 Linux),在开机时通过启动菜单选择操作系统。
- 需要特别配置的引导加载程序,如 GRUB(Linux)或 Windows Boot Manager。
使用场景
- 同时使用多个操作系统进行开发、测试或个人使用。
- 需要在同一硬件上运行不同版本的操作系统。
总结
启动模式 | 启动方式 | 支持的分区表 | 主要特点 | 适用场景 |
---|---|---|---|---|
BIOS | 传统 BIOS 启动 | MBR(最大支持 2TB 硬盘) | 较慢的启动流程,缺乏现代安全性功能 | 旧设备,兼容旧操作系统 |
UEFI | 现代 UEFI 启动 | GPT(支持更大硬盘) | 更快的启动速度,支持安全启动(Secure Boot)等 | 现代操作系统,2TB 以上硬盘 |
Legacy Mode | UEFI 中的兼容 BIOS 模式 | MBR | 模拟 BIOS 启动,兼容旧系统 | 需要兼容旧操作系统或硬件的情况 |
Secure Boot | 仅 UEFI 启动时启用的安全功能 | GPT | 防止未经授权的操作系统启动,增强安全性 | 增强计算机安全,防止恶意软件 |
PXE Boot | 网络启动 | N/A(通过网络加载) | 通过网络加载操作系统 | 无硬盘计算机或远程操作系统部署 |
双启动 | 选择多个操作系统启动 | MBR 或 GPT | 同时支持多个操作系统,在启动时选择 | 需要同时运行多个操作系统的环境 |
对服务器的一些操作
关闭自动休眠
https://blog.csdn.net/reno_yuan/article/details/136293399
设置合盖不休眠
https://blog.csdn.net/qq_41830158/article/details/142259904
安装vscode远程工具,设置免密登录
设置免密登录
- 生成 SSH 密钥对:
在本地设备终端中运行以下命令:
ssh-keygen -t rsa -b 4096
按提示保存密钥文件(默认路径为 ~/.ssh/id_rsa)。
- 将公钥复制到服务器:
ssh-copy-id username@server-ip
测试免密登录:
- 运行以下命令,检查是否无需输入密码即可登录:
ssh username@server-ip
- 如果没有 ssh-copy-id,可手动添加:
将公钥内容追加到服务器的 ~/.ssh/authorized_keys 文件:
cat ~/.ssh/id_rsa.pub | ssh username@server-ip 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'