惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
Security Latest
Security Latest
NISL@THU
NISL@THU
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
Cybersecurity and Infrastructure Security Agency CISA
Cloudbric
Cloudbric
T
Threat Research - Cisco Blogs
大猫的无限游戏
大猫的无限游戏
C
CXSECURITY Database RSS Feed - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
C
Cisco Blogs
V
Vulnerabilities – Threatpost
S
Security Archives - TechRepublic
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
J
Java Code Geeks
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Know Your Adversary
Know Your Adversary
博客园 - 叶小钗
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy International News Feed
P
Palo Alto Networks Blog
博客园_首页
V
V2EX
WordPress大学
WordPress大学
Schneier on Security
Schneier on Security
月光博客
月光博客
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
TaoSecurity Blog
TaoSecurity Blog
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
The Cloudflare Blog
罗磊的独立博客
美团技术团队
N
News | PayPal Newsroom
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Last Week in AI
Last Week in AI
K
Kaspersky official blog
Google Online Security Blog
Google Online Security Blog
S
SegmentFault 最新的问题
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Tailwind CSS Blog

又见苍岚

COLMAP PatchMatch Stereo 算法详解 事件驱动的状态机框架:从理论到工程实践 Git 在国内网络环境下无法 Push 的排查与修复 —— 配置 Clash 代理 分段五次多项式插值原理详解 路径插值方法深度对比研究 Claude Code 使用指南 OpenClaw 记忆管理与技能创建指南 CBS(Conflict-Based Search)算法详解 A* 算法及其变种详解 OpenClaw 配置多 Agents Windows Powershell 无法加载文件,因为在此系统上禁止运行脚本问题的解决方案 MaxClaw 安装流程 大模型 AI 名词介绍 AList 网盘聚合工具简介 Protobuf 简介与测试 Claude Code 简介以及 GLM 4.7 模型接入 Github 歌词下载工具 163MusicLyrics Python __getattr__ 懒加载 Python TypedDict 机器人仿真平台 Gazebo 安装记录 机器人仿真平台 Gazebo 简介 多机器人路径规划问题(Multi-Agent Path Finding, MAPF)简介 Python exifread 读取修改过的 jpeg 信息错误问题修复 3D 坐标系变换的理解 3D 旋转矩阵基本概念 MongoDB Compass 介绍 Python 环境管理工具 uv Flutter 开发指南 Snipaste 安装下载与黑屏问题解决方案 全局路径规划算法记录 2025 Python 版本性能测试 Flutter Hello World Flutter 安装环境配置 Ubuntu VMware 硬盘扩容后 SMBus Host controller not enabled 报错问题解决 Python NetworkX 教程 Docker GPU 报错 - Failed to initialize NVML Unknown Error 解决方案 Python matplotlib 图表绘制 cuda-toolkit 安装替代 Cuda 与 Cudnn Jinja2 Python 利用 docxtpl 和 Jinja2 生成基于模板的 Word 文档 Docker 实现 CPU 核心隔离 LoFTR 基于 Transformer 的特征提取匹配算法 OmniGlue 特征匹配 SuperGlue 使用图神经网络学习特征匹配 Ubuntu 下将 xlsx 文件按照 sheet 转换为 图片 Python 使用 SQLAlchemy Python FastAPI 教程 openwrt 软路由配置安装 Nav2 地图文件(PGM/YAML)规范标准 3D OBJ 模型转换为 glb 瓦片格式 Python 源码 Redis 数据库介绍 Ubuntu 22.04 内核自动升级导致 MongoDB 7.0.12 错误记录 ubuntu 20.04 安装 ROS Noetic ubuntu 18.04 安装 ROS Melodic VMware Workstation Pro 个人免费版下载、安装、使用指南 Hybrid A-star 路径规划 Reeds-Shepp 曲线 Dubins 曲线 Linux kvm 虚拟机网络不通的问题解决方法 Ubuntu 自动内存清理 BiliBili 缓存视频转 mp4 Python 求解线性规划 3D Gaussian Splatting 官方源码实践记录 ImageMagick 教程 Ubuntu 22.04 安装 Colmap 对数几率 odds Ubuntu nmcli 网络管理工具使用指南 SuperPoint 自监督深度学习特征点提取 SyncTV Music Tag Web 在线音乐信息整理工具 ncm 格式转 mp3 MusicBrainz 音乐元数据百科数据库 Ubuntu 网络流量监控工具 私人云音乐平台 Navidrome 入门 手眼标定 四元数(Quaternions) OHTTPS 实现免费自动 https 证书申请、更新、部署 ubuntu 22.04 安装 CloudCompare 单机 KVM 虚拟机冷迁移 Ubuntu 22.04 使用 mdadm 实现软 raid 小鱼 一键安装 ROS-humble Fluid -46- 基于 Simpletex API 构建公式识别页面 公式识别 API 简介 -- Simpletex 使用 Python web 部署库 waitress 3D Gaussian Splatting for Real-Time Radiance Field Rendering Ubuntu Swap 简介与空间扩展 Ubuntu 24.04 安装 forticlient Clash Verge 使用 MongoDB 7.0.17 集群 Docker 构建源码 Error code - 2013. Lost connection to MySQL server during query 问题解决 Python 日志记录库 loguru 使用指北 Python 实现 Web 日志查看服务 MySQL LOAD DATA LOCAL INFILE 极速数据加载 Image size exceeds limit of 89478485 pixels 解决方案 Docker 使用 NVIDIA GPU 驱动错误解决 阿里云 docker 镜像仓库 Ubuntu中没有wired connected的解决方案 MinIO 简介 subconverter 代理订阅格式转换 修复 node –openssl-legacy-provider is not allowed in NODE_OPTIONS 错误
安装操作系统基础概念
Yiwei Zhang · 2024-06-04 · via 又见苍岚

很久没装 win10 操作系统,最近有机会配置新系统,本文记录过程中的相关概念和填过的坑。

PC启动加载程序

计算机上电启动后需要最基础的硬件启动加载程序,早期的程序叫做 BIOS,新的叫 UEFI

BIOS

BIOS,全称为Basic Input Output System,中文名称为"基本输入输出系统",是个人电脑启动时加载的第一个软件,现在在开机中一般所说的 Legacy 模式就是指传统的 BIOS,适用于较旧的硬件。它是一组固化到计算机内主板上一个ROM芯片上的程序,主要功能是为计算机提供最底层的、最直接的硬件设置和控制,同时向作业系统提供一些系统参数。BIOS在IBMPC兼容系统上,作为一种业界标准的固件接口。在计算机启动时执行初始化任务,但对现代硬件的支持有限。在UEFI出现之前,BIOS是个人电脑启动模式唯一的选择。然而随着技术的不断发展,UEFI取代了BIOS的大多数功能,如今的UEFI已基本上取代了BIOS,尽管如此,人们还是可以根据习惯称之为“BIOS”。

UEFI

全称为Unified Extensible Firmware Interface,中文名称为“统一可扩展固件接口”,是一种开放标准固件接口,用于取代传统的PC启动加载程序BIOS(基本输入输出系统)。UEFI由英特尔和微软等公司共同开发,旨在提供一种更先进、更可扩展、更安全的系统启动和硬件配置管理方式。

UEFI 启动的系统会有一个 EFI 分区

UEFI的主要特点和优势包括:

  1. 可扩展性:UEFI支持更复杂的脚本和应用程序,允许开发者创建更复杂的启动加载程序和系统配置工具。
  2. 用户界面:UEFI提供了图形化用户界面(GUI),使得用户可以更加直观地进行系统设置和故障诊断。
  3. 安全性:UEFI支持安全启动(Secure Boot),可以确保计算机只加载经过验证的软件,从而提高系统安全性。
  4. 模块化:UEFI设计为模块化架构,允许固件更新和扩展而不需要重新编译整个系统。
  5. 启动加速:UEFI可以更高效地管理启动过程,减少启动时间。
  6. 兼容性:UEFI支持最新的硬件技术,并为操作系统提供更好的硬件支持。

UEFI的引入使得操作系统能够在更晚的阶段启动,提供了更多的灵活性和功能,同时也为操作系统提供了更多的硬件控制权。随着UEFI的普及,传统的BIOS逐渐被淘汰,现代计算机系统大多采用UEFI作为启动和硬件初始化的接口。

二者对比

BIOS UEFI
起源和发展 起源于1970年代,最初是为IBM PC兼容机设计的。BIOS的功能和接口在多年中几乎没有显著变化,尽管硬件技术取得了巨大进步。 2000年代初期由英特尔和微软等公司开发,旨在解决BIOS在性能、可扩展性和安全性方面的局限性。UEFI是一种新的启动和硬件管理标准,与BIOS完全不同。
功能和性能 提供最基本的硬件初始化和启动引导功能,支持2TB或以下的硬盘启动时使用,启动时引导内容包括内存检测、硬件自检(POST)、基本输入输出控制等。BIOS使用文本模式界面,限制了启动选项和系统配置的灵活性。 提供与BIOS相似的基本功能,支持2TB或以上的硬盘,扩展了许多特性,如图形化用户界面、网络启动、安全启动、自动硬件配置、动态内存分配等。UEFI的性能更优,能够更高效地管理启动过程和系统资源。
兼容性和支持 由于历史悠久,兼容性较好,几乎所有老版本的硬件和操作系统都支持BIOS。但这也意味着BIOS必须包含支持所有老硬件的代码,导致代码复杂且难以更新。 UEFI设计时考虑了向后兼容性,但仍然需要较新的硬件支持。UEFI Secure Boot等特性要求硬件和操作系统都支持UEFI。随着时间的推移,UEFI逐渐取代了BIOS,成为新硬件的标准。
安全性和可靠性 安全功能有限,如密码保护等,且容易受到病毒和恶意软件的影响。 支持Secure Boot等安全特性,可以确保系统只启动经过验证的软件,提高了系统的安全性和可靠性。

总体来说,UEFI是BIOS的替代品,提供了更先进、更灵活、更安全的功能。随着新硬件的普及和操作系统(如Windows 8及以上版本)对UEFI的支持,BIOS逐渐被淘汰,UEFI成为现代计算机系统的标准固件接口。

分区表

分区表常用的有 MBR 和 GUID 两种

MBR

MBR(Master Boot Record,主引导记录)是硬盘驱动器或其他可启动存储设备上的一个特殊类型的扇区,通常位于设备的第一个扇区。它包含了启动引导程序,用于在计算机启动时加载操作系统的加载程序。MBR 还包含了硬盘驱动器分区的信息,这些信息用于确定各个分区的位置和大小。

由于每个分区信息需要16个字节,所以对于采用MBR型分区结构的硬盘,最多只能识别4个主要分区(Primary partition)。所以对于一个采用此种分区结构的硬盘来说,想要得到4个以上的主要分区是不可能的。这里就需要引出扩展分区了。扩展分区也是主要分区的一种,但它与主分区的不同在于理论上可以划分为无数个逻辑分区。另外最关键的是MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了。

GUID

这种磁盘,通常称为GPT磁盘,GPT全称:Globally Unique Identifier Partition Table Format,一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,因为Windows系统最多只允许划分128个分区,支持高达 18 千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID),支持2TB以上的大硬盘。

二者对比

MBR GUID
分区表安全性 MBR的意思是“主引导记录”,它有自己的启动器,也就是启动代码,一旦启动代码被破坏,系统就没法启动,只有通过修复才能启动系统。 GUID分区表自带备份,在磁盘的首尾部分分别保存了一份相同的分区表。其中一份被破坏后,可以通过另一份恢复。
支持磁盘容量 MBR分区方案无法支持超过2TB容量的磁盘,也即3TB硬盘以MBR分区方案分区,有三分之一容量会认不到。 以GUID分区表(GPT)方案分区则可认到最大18EB(18X1024GB)容量的磁盘。
分区个数 MBR分区表的硬盘最多只能划分4个主分区磁盘 而GPT分区表类型,此分区表类型不受分区个数限制。限制只在于操作系统——Windows支持最多128个GPT分区,而且你还不需要创建扩展分区。

操作系统一定要装在主分区磁盘中

对应关系

  • 分区方式 MBR 对应 Legacy 开机引导方式;
  • 分区方式 GUID 对应 UEFI 开机引导方式;

对于当下的电脑,绝大多数情况都是 GUID(GPT) 和 UEFI 的组合

NVMe 和 SATA

NVMe(Non-Volatile Memory Express)和 SATA(Serial Advanced Technology Attachment)都是存储设备与计算机之间进行数据传输的接口协议,但它们之间存在一些重要的区别。本文将介绍NVMe和SATA的区别,包括性能、功耗、可靠性以及应用场景等方面。

NVMe是一种高性能的存储设备接口协议,它使用PCI Express(PCIe)总线来传输数据。PCIe总线是一种高速串行总线,其数据传输速度比SATA更快。NVMe还支持并发I/O操作,这意味着它可以同时处理多个读写请求,从而提高了存储设备的性能。另外,NVMe还支持命名空间(namespace)的概念,命名空间可以使多个独立的逻辑存储设备共享同一个物理存储设备,从而提高了存储设备的利用率。

相比之下,SATA是一种较为传统的存储设备接口协议,它使用串行ATA总线来传输数据。ATA总线是一种较为低速的串行总线,其数据传输速度远低于PCIe。此外,SATA不支持并发I/O操作以及命名空间的概念,这意味着它在处理多个读写请求时需要进行较为复杂的调度操作,从而降低了存储设备的性能。

参考资料

文章链接:
https://www.zywvvd.com/notes/system/windows/win10-sys-install/win10-sys-install/