Secure Boot(安全启动)
Secure Boot(安全启动)的原理基于链式验证,这是一种确保计算机在启动过程中只加载和执行经过认证的软件的机制。这个过程涉及到硬件、固件和操作系统的多个层面。以下是Secure Boot的基本原理:
-
密钥和证书:Secure Boot使用一组密钥和证书来验证启动过程中的软件。这些密钥通常存储在UEFI固件中,包括一个或多个密钥对(公钥和私钥)。
-
签名的启动加载程序:在启动过程中,UEFI固件会检查启动加载程序(如Windows的引导管理器)的数字签名。这个签名必须由受信任的证书颁发机构(CA)签发,以确保启动加载程序未被篡改。
-
链式验证:启动加载程序接着会验证操作系统内核和其他关键驱动程序的签名。这是一个连续的过程,每个组件都会验证下一个组件的签名,直到整个启动链被验证。
-
固件和硬件支持:Secure Boot需要UEFI固件的支持,以及硬件层面的安全特性,如可信平台模块(TPM)和一次性可编程存储器(eFUSE)。
Secure Boot与硬盘的关系主要体现在以下几个方面:
-
启动加载程序的存储:启动加载程序通常存储在硬盘上的特定分区中,Secure Boot在启动时会从这些分区加载并验证它们。
-
操作系统的安装:在安装操作系统时,安装程序会将必要的密钥和证书嵌入到硬盘上的UEFI分区中,以便在启动时进行验证。
-
安全性:Secure Boot通过确保只有经过验证的软件被加载,从而提高了系统的安全性。这包括防止恶意软件在启动过程中加载,这可能涉及到对硬盘上的操作系统和启动文件的保护。
总的来说,Secure Boot是一种多层次的安全机制,它确保了从硬件到操作系统的每个组件都是可信的。硬盘在这个过程中扮演了存储关键启动文件和密钥的角色,但Secure Boot的实施和管理主要发生在UEFI固件层面。
=====================================
在安装操作系统时,生成的密钥通常会存储一份在UEFI固件中。这个过程是Secure Boot机制的一部分,确保了启动过程中的安全性。以下是这个过程的一般步骤:
-
密钥生成:在安装操作系统的过程中,会生成一对密钥,通常包括一个公钥和一个私钥。这些密钥用于对启动文件进行签名和验证。
-
密钥存储:生成的公钥会被嵌入到操作系统的启动文件中,而私钥则被安全地存储在UEFI固件的非易失性存储区域。这个区域通常是只读的,以防止未授权的访问和修改。
-
签名验证:在启动过程中,UEFI固件会使用存储的私钥来验证启动文件(如启动加载程序)的签名。如果签名有效,说明启动文件未被篡改,系统可以继续启动。
-
信任链建立:操作系统的启动文件(如Windows的引导加载程序)会包含一个由操作系统发布者签名的证书。UEFI固件中的密钥会用来验证这个证书,从而建立起一个信任链,确保只有经过验证的软件被加载。
-
安全启动:一旦验证通过,UEFI固件会将控制权交给启动加载程序,启动加载程序接着会验证操作系统内核和其他关键组件的签名,确保整个启动过程的安全性。
这种密钥存储和管理机制是Secure Boot的核心部分,它确保了即使在硬件级别,启动过程也得到了保护。通过这种方式,Secure Boot能够有效地防止恶意软件在系统启动时加载,提高了系统的安全性。
==========================================
当UEFI安全模式下提示"verification failed: (0x1a) security violation"错误时,这通常意味着启动过程中遇到了安全策略的违反。要解决这个问题,可以尝试以下步骤:
- 关闭安全启动模式:您可以尝试临时关闭UEFI的安全启动模式。进入BIOS设置,找到安全启动(Secure Boot)选项并将其关闭,这样可以暂时绕过安全验证以便进行系统维护或安装。完成必要的操作后记得重新开启安全启动以保证系统安全。
- 使用MOK管理:如果您需要保持安全启动开启,可以通过添加一个Machine Owner Key(MOK)来允许特定的软件或驱动程序在安全启动下运行。这通常涉及以下步骤:
- 在启动菜单选择进入MOK management。
- 选择从磁盘注册密钥(enroll key from disk)或注册哈希值(enroll hash from disk)。
- 按照屏幕上的提示找到相应的密钥文件或哈希值,并进行注册。
- 确认并重新启动电脑以应用更改。
此外,如果以上方法都不可行,可能需要检查您的硬件设备是否存在兼容性问题,或者尝试使用其他工具重新制作可启动U盘。
需要注意的是,这些步骤可能因不同的硬件和BIOS版本而有所不同,具体操作时应参考您的设备手册或联系制造商的技术支持获取帮助。
=========================
在UEFI(统一可扩展固件接口)中选择“Reset to setup mode”或类似选项通常是为了重置UEFI设置到出厂默认状态,或者是为了进入一个特殊的配置模式,以便进行更深入的系统设置。这个操作可能会影响UEFI中的各种设置,包括安全启动(Secure Boot)相关的密钥。
根据搜索结果中的信息,进入“Setup mode”通常允许用户从外部修改UEFI固件中的安全启动密钥。这意味着在“Setup mode”下,用户可以导入新的密钥,或者在某些情况下,清除现有的密钥。如果在这个模式下清除了密钥,那么原有的密钥通常无法恢复,因为它们是存储在UEFI固件的非易失性存储区域中的,一旦清除,就无法通过正常的UEFI界面恢复。
然而,这并不意味着操作系统无法启动。安全启动的密钥主要用于验证操作系统和启动加载程序的签名。如果这些密钥被清除,系统可能会回退到一个更宽松的启动模式,允许未签名的软件启动。这可能需要用户在操作系统中重新配置安全启动设置,或者在需要的情况下,重新安装操作系统。
在执行这样的操作之前,建议备份所有重要的数据和系统设置,并且确保了解所做更改的后果。如果你不熟悉这些过程,最好咨询专业人士或查阅详细的技术文档。
相关文章:
Secure Boot(安全启动)
Secure Boot(安全启动)的原理基于链式验证,这是一种确保计算机在启动过程中只加载和执行经过认证的软件的机制。这个过程涉及到硬件、固件和操作系统的多个层面。以下是Secure Boot的基本原理: 密钥和证书:Secure Boot…...
大厂面试经验:如何对加密后的数据进行模糊查询操作
加密后的数据对模糊查询不是很友好,本篇就针对加密数据模糊查询这个问题来展开讲一讲实现的思路。 为了数据安全我们在开发过程中经常会对重要的数据进行加密存储,常见的有:密码、手机号、电话号码、详细地址、银行卡号、信用卡验证码等信息…...
修改docker默认存储位置【高版本的docker】
一、修改docker默认存储位置 1、停服务 systemctl stop docker 2、修改/etc/docker/daemon.json添加新的dcoker路径 如"data-root": "/mnt/hdd1/docker" 3、保存后重启服务:systemctl restart docker 二、其他服务的命令 systemctl disab…...
CleanMyMac X2024免费Mac电脑清理和优化工具
CleanMyMac X是一款专业的 Mac 清理和优化工具,它具备一系列强大的功能,可以帮助用户轻松管理和维护他们的 Mac 电脑。以下是一些关于 CleanMyMac X 的主要功能和特点: 智能清理:CleanMyMac X 能够智能识别并清理 Mac 上的无用文件…...
吴恩达机器学习全课程笔记第四篇
目录 前言 P61-P68 激活函数 Softmax算法 P69-P73 Adam算法 更多类型的层 模型评估 P74-P79 偏差和方差 建立表现基准 学习曲线 偏差和方差与神经网络 前言 这是吴恩达机器学习笔记的第四篇,第三篇笔记请见: 吴恩达机器学习全课程笔记第…...
大数据分析师常用函数
常用函数 当进行大数据分析时,SQL中的函数非常丰富,以下是更详细的展开: 窗口函数 (Window Functions): ROW_NUMBER(): 为结果集中的每一行分配一个唯一的整数,用于排序。RANK(): 为结果集中的每一行分配一个排名,相同值会有相同的排名,但会跳过相同排名数量。DENSE_RAN…...
MySQL 主从读写分离入门——基本原理以及ProxySQL的简单使用
一、读写分离工作原理 读写分离的工作原理:在大型网站业务中,当单台数据库无法满足并发需求时,通过主从同步方式同步数据。设置一台主服务器负责增、删、改,多台从服务器负责查询,从服务器从主服务器同步数据以保持一…...
ROS2从入门到精通:理论与实战
ROS是什么? 随着人工智能技术的飞速发展与进步,机器人的智能化已经成为现代机器人发展的终极目标。机器人发展的速度在不断提升,应用范围也在不断拓展,例如自动驾驶、移动机器人、操作机器人、信息机器人等。机器人系统是很多复杂…...
docker 安装minio 一脚shell脚本
要创建一个用于安装Minio的Docker的Shell脚本,你可以按照以下步骤进行。这个脚本会执行以下操作: 拉取Minio的Docker镜像。创建一个Docker容器并映射端口。设置Minio的访问密钥和秘密密钥。持久化存储数据到本地目录。 以下是一个简单的Shell脚本示例&…...
【数据库】mybatis使用总结
文章目录 1. 批量插入、检索<foreach>2. <if> 判断等于情况3. 模糊查询(pgsql为例)4. 分页5. <resultMap > 中collection 和association 6. no conflict do update 1. 批量插入、检索<foreach> <insert id"insertSystemService" >in…...
VR元宇宙的概念|VR体验店加盟|虚拟现实设备销售
VR元宇宙是一个结合了虚拟现实(Virtual Reality)和增强现实(Augmented Reality)等技术的概念,代表着一个虚拟的多维度世界。它是一个由数字化的空间构成的虚拟环境,可以通过虚拟现实设备进行交互和探索。 元…...
MySQL进阶:全局锁、表级锁、行级锁总结
👨🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:MySQL进阶:MySQL事务、并发事务问题及隔离级别 📚订阅专栏:MySQL进阶 希望文章对你们有所帮助…...
Python用函数实现代码复用
归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言📝 生命对某些人来说是美丽的,…...
2024年腾讯云优惠代金券领取入口整理汇总,收藏级笔记
腾讯云优惠代金券领取入口共三个渠道,腾讯云新用户和老用户均可领取8888元代金券,可用于云服务器等产品购买、续费和升级使用,阿腾云atengyun.com整理腾讯云优惠券(代金券)领取入口、代金券查询、优惠券兑换码使用方法…...
nn.Linear() 使用提醒
原本以为它是和nn.Conv2d()一样,就看第二个维度的数值,今天才知道,它是只看最后一个维度的数值!!! 例子1 Descripttion: Result: Author: Philo Date: 2024-02-27 14:33:50 LastEditors: Philo LastEditT…...
python difflib --- 计算差异的辅助工具
此模块提供用于比较序列的类和函数。 例如,它可被用于比较文件,并可产生多种格式的不同文件差异信息,包括 HTML 和上下文以及统一的 diff 数据。 有关比较目录和文件,另请参阅 filecmp 模块。 class difflib.SequenceMatcher 这…...
HTML5浮动
1.标准文档流组成 块级元素(block) 内联元素(inline) 2.display属性 作用:指定HTML标签的显示方式 常用属性 值 说明 block 块级元素的默认值,元素会被显示为块级元素,该元素前后会带有换行…...
Unity 向量计算、欧拉角与四元数转换、输出文本、告警、错误、修改时间、定时器、路径、
using System.Collections; using System.Collections.Generic; using UnityEngine;public class c2 : MonoBehaviour {// 定时器float t1 0;void Start(){// 向量Vector3 v1 new Vector3(0, 0, 2);Vector3 v2 new Vector3(0, 0, 3);// 计算两个向量的夹角Debug.Log(Vector3…...
前端实现浏览器打印
浏览器的print方法直接调用会打印当前页面的所有元素,使用iframe可以实现局部打印所需要的模块。 组件printView,将传入的信息放入iframe中,调用浏览器的打印功能 <template><div class"print"><iframeid"if…...
iOS卡顿原因与优化
iOS卡顿原因与优化 1. 卡顿简介 卡顿: 指用户在使用过程中出现了一段时间的阻塞,使得用户在这一段时间内无法进行操作,屏幕上的内容也没有任何的变化。 卡顿作为App的重要性能指标,不仅影响着用户体验,更关系到用户留…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
ubuntu22.04 安装docker 和docker-compose
首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...
Python异步编程:深入理解协程的原理与实践指南
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…...
新版NANO下载烧录过程
一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…...
代理服务器-LVS的3种模式与调度算法
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们上一章介绍了Web服务器,其中以Nginx为主,本章我们来讲解几个代理软件:…...
使用VMware克隆功能快速搭建集群
自己搭建的虚拟机,后续不管是学习java还是大数据,都需要集群,java需要分布式的微服务,大数据Hadoop的计算集群,如果从头开始搭建虚拟机会比较费时费力,这里分享一下如何使用克隆功能快速搭建一个集群 先把…...
