- 博客(29)
- 收藏
- 关注
原创 讲完SSD HDD SATA SAS M.2 NVME PCIe AHCI RAID的功能与区别
本文介绍了存储设备及相关技术:1)SSD与HDD在体积、速度、价格等方面的差异;2)SATA和SAS接口的特点及应用场景;3)AHCI作为SATA设备的标准接口规范;4)M.2接口形态及NVMe协议对SSD性能的提升,说明NVMe与AHCI/SATA的互斥关系;5)RAID卡的功能及其与普通扩展卡的区别,重点阐述了其在磁盘阵列管理和数据保护方面的作用。全文系统梳理了存储设备从物理接口到协议标准的完整技术体系。
2025-11-24 16:30:44
720
原创 【保姆级教程】VMware Workstation Pro 17安装及基础使用
redhat下载链接(需要登录账号):https://developers.redhat.com/products/rhel/overview。下好就是这个文件:VMware-workstation-full-17.6.4-24832109.exe。(没法直接2.勾选的话就要1.点击那个Terms,最后点下载,确认一下)填写一下信息,然后Submit提交,填写完后再点3.的下载键。改一下自定义安装路径别放在C盘就行,其他的默认勾选和下一步。点开软件,创建新的虚拟机,选典型。选操作系统的iso文件。
2025-10-10 18:55:14
729
原创 【UEFI系列】ACPI
常见的基础知识,S state:Sleep状态。S0:正常工作的电源状态。S1:通过 CPU 时钟控制器将CPU 关闭,但CPU内容不保持、其他的硬件设备仍然正常工作。从s1唤醒到s0,CPU不需要重新从reset vector处执行,唤醒时间最短。PC端可通过键鼠操作快速唤醒。S2:系统一般很少支持(跟s1状态差不多)。S3:挂起到内存。运行中的数据写入内存后关闭硬盘,此时除了内存需要电源来保持资料以外,其他的设备、装置全部停止供电。S4:挂起到硬盘。把内存中的资料完整地保存在硬盘中。
2025-08-17 20:26:18
1809
原创 【UEFI系列】SMI系统管理中断
Sytem Management Interrupt,系统管理中断。打个比方,工作的时候,突然打来一个电话,这个时候你停下手中所有的事去接电话,电话打完了再回来继续工作,打电话这个过程就相当于SMI。关于SMI和SMM(system management mode):SMI发出后,CPU进入SMM状态。SMM是intel引入x86的一种CPU的执行模式,只能通过SMI进入,并只能通过执行RSM指令退出。SMM driver,SMM模式下的执行的程序,由bios实现,code里会写入。
2025-08-14 03:58:06
1872
原创 【UEFI系列】Super IO
Super Input/Output超级输入输出控制器。通过LPC(low pin count)总线与南桥进行通信。LPC:基于intel标准的33MHz 4bit并行总线协议,代替以前的ISA总线协议。用于串口、并口、键盘/鼠标、软盘驱动器等低速设备的连接。本身是个单片机,可以独立控制输入输出设备。
2025-08-12 20:27:49
1347
原创 【UEFI系列】Event
不同于ARM平台不支持SMI,x86和ARM平台的bios都会支持EVENT。Event,是UEFI中一个重要的东西,UEFI不再支持interrupt中断,所有的异步操作都要通过Event来完成。比如说我们设定了一个功能,但是我们不想立即跑,就需要设置触发条件,它触发了才会跑。比如,一个protocol install好之后功能会跑/exitbootservice了功能会跑/每个10s功能会跑。
2025-07-31 20:28:04
1047
原创 【UEFI系列】FlashLayout
Flash,刷写。FlashLayout主要是讲它的刷写bin不同区域的分布。或许有ME区域,是跟bios不同的区域,.map文件可以看具体分段。这里主要讲bios的FlashLayout。
2025-07-31 15:26:30
945
原创 【UEFI系列】EFI Memory Map内存映射 and type
memory map主要分为两个部分,一个是系统能用的memory,通常allocate的部分,能当作堆栈存放数据存放代码、系统能用的memory。另一部分就是IO空间,一些设备比如PCI设备用的部分(MMio),它们所处的其实是分散的地方,通过映射、映射到连续的一段内存空间。内存硬件层面:一个channel槽一般设计为1~4个DIMM口,可供插入DIMM条,DIMM就是我们通常说的内存条。
2025-07-30 21:06:13
1437
原创 【UEFI系列】PEI阶段讲解
众所周知,UEFI bios分为四个阶段:SEC、PEI、DXE、BDS,运行完毕才能进到setup界面或是进入操作系统。x86平台较为经典,而ARM在UEFI之前需要运行ATF(Arm Trusted Firmware),ATF做了SEC和PEI的部分工作,且ARM部分平台不需要PEI。这篇文章着重介绍UEFI bios的PEI阶段。提示:以下皆基于x86 UEFI bios。
2025-06-13 16:50:39
1232
原创 【UEFI系列】SEC阶段讲解
众所周知,UEFI bios分为四个阶段:SEC、PEI、DXE、BDS,运行完毕才能进到setup界面或是进入操作系统。x86平台较为经典,而ARM在UEFI之前需要运行ATF(Arm Trusted Firmware),ATF做了SEC和PEI的部分工作,且ARM部分平台不需要PEI。这篇文章着重介绍UEFI bios的SEC阶段。提示:以下皆基于x86 UEFI bios。
2025-06-06 16:19:01
1171
原创 【PCI】PCI入门介绍(包含部分PCIe讲解)
PCI全称外围部件互连。PCI总线是由ISA(Industy Standard Architecture)总线发展而来的,ISA总线由于CPU资源占用太高,数据传输带宽太小,作为插槽接口已经被淘汰。1992年Intel提出PCI总线,用来连接CPU和外围设备的局部总线,解决了CPU和外围设备尤其是显卡的数据瓶颈(在此之前MCA设备也挺慢,就比ISA好一点)。PCI规范已经到7.0了,详情可以去官网上看。
2025-05-31 17:45:45
2843
1
原创 【Tips】关于PCI和PCIe的配置空间差异和io/memory io读写
PCI设备的话,用IO方式读写没问题,但是对于PCIe设备的扩展空间部分,Register就明显不足了(我们以前写register写的是XX H,因为PCI设备的配置空间最多到FF H)。和IO读写写入的值(注意这里IO输入的80开头的只是一个格式,并不是实际地址,MMIO输入的F开头的才是实际内存地址)的区别大概就是前四位由1000变为1111,bus device function集体左移4位,function之后的12位写register(IO里function后面只剩8位)。
2025-05-29 19:56:16
616
原创 【Tips】关于PCI的IO Port读取为什么写入0CF8的32位里最后2bit规定是0
举例:想读取Bus:2 Device:1 Function:1 Register 06(0000 0110)的2字节信息,向IO端口0CF8写8002 0904 H(最后1字节为0000 0100),IO端口0CFC读取到的是0280 0007H,分析得到Register06的2字节信息为:0280 H。就不能设置偏移量为02H,从Vendor ID后面获取Device ID和Command ID这4字节,这是不被允许的,要不然从00H开始读写4字节,要不然从04H开始读写4字节。
2025-05-29 17:41:30
416
原创 【踩坑tip】解决两个一样的USB设备插入后第二个识别失败的问题
今天遇到了个问题,两个一样的USB设备插电脑上结果只显示第一个设备,插了第二个usb后俩设备甚至名字都改一样了。输入list disk,可以看到两个大小相同的磁盘,也就是冲突的USB,其中一个显示脱机。uniquedisk ID=赋值过来的id号自己做些改动就行,不要改变总位数。同样的步骤看发生冲突的disk2,会发现两个id号一致。磁盘管理器里说脱机,与另一个联机磁盘发生签名冲突。uniqueid disk就会看到id号。然后就重启一下就没问题了,都能识别到了。
2025-04-21 19:16:33
920
原创 【UEFI】关于Secure Boot
本文介绍了Secure Boot的定义、作用及实现机制。Secure Boot是一种UEFI安全功能,通过数字签名确保启动过程中加载的OS和驱动程序可信,防止恶意软件植入。其核心机制包括:1)使用密钥对(公钥验证、私钥签名);2)通过四个关键变量(PK、KEK、db、dbx)建立信任链;3)支持Setup/User/Audit/Deployed四种工作模式。文章详细说明了密钥生成方法、变量管理流程以及安全验证步骤,并提供了openssl等工具的具体操作示例,为系统安全启动配置提供了技术参考。
2025-03-24 18:51:31
3136
原创 【保姆级教程】oracle virtualbox搭Centos配置Xshell
Xshell用于远控和同步。oracle virtualbox版本是最新的。教程是我一步一步边做边截图的,对新手非常友好。
2024-11-30 23:58:43
482
原创 【Tips】代码Coverity报错的种类以及解决方法
Coverity是一种严格扫描的机制,需要给代码添加yml文件以支持。就我知道的几个类型做一下经验总结。每家配置不一样,我这边也只是提供一下自己接触到的一些报错类型。以C代码为例(实际上是更为复杂的代码,但是这里简化一下)。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2024-11-27 16:11:00
2013
原创 【保姆级教程】博客搭建:ubuntu24+mysql8.0.04+apache2+php8.3+WordPress配置
写的非常详细,博主2024年11月自己边搭边写的教程,按照步骤来保证搭好,踩的坑都写完了的。
2024-11-19 11:48:19
964
原创 【Tips】C代码如何要求user严格输入指定数据类型
之前忘了怎么写这个了,网上搜到的方法乱七八糟,运行还有问题。这篇文章里我用和举例,其他需求之后会更新。
2024-11-17 21:03:53
826
原创 【Tips】如何最有效清理C盘空间(不用安装清理软件)
提示:还是希望大家安装的时候就看好位置,安装完看一下东西存哪个路径的,最开始就改到其他盘。之前想用家里电脑下点软件结果发现C盘就剩12g了给我急得,vs到时候都跑不动,于是总结了这篇通俗易懂好操作的教程。这个教程只是一个相对来说效率比较高的参考,有的同学什么东西都不改就安装肯定会C盘爆满的,自己保存重要文件然后卸载重装到其他盘区就行。希望这篇文章对你有所帮助,C盘空出20G以上!
2024-11-15 23:58:53
2517
原创 【保姆级教程】oracle virtualbox虚拟机安装+ubuntu24安装+40个Linux常用命令
虚拟机是CS类的大头,所以这篇文章把安装步骤写得很详细,希望对需要配置Linux系统虚拟机并使用的同学们有所帮助。谁不是网上搜教程一步一步来的呢。oracle和ubuntu用的都是最新的,难免会遇到一些麻烦(Ctrl+h来隐藏/显示 隐藏文件,24版默认设置的话没有选项来点击了)。Linux指令的具体使用还请多参考其他大佬的文档。
2024-11-12 18:24:11
2901
2
原创 【Tips】Oracle VM Virtual Box的Ubuntu22在内存已满不能开机的情况下扩容
提示:安虚拟机的时候最好就把内存设大一点,然后动态分配内存。或者经常检查一下内存剩余空间、清理垃圾。之前虚拟机内存不够,导致代码完全不能编了。甚至重启后系统都进不去,比如这片博客开头的截图:网上也搜了一些方法,试了很多次才终于成功,在此做一个经验总结帖。提示:虚拟机软件是Oracle VM Virtual Box,系统是Ubuntu22当时真的累死我了,到处翻教程。
2024-11-07 20:33:29
1104
原创 【踩坑tip】对WORD里的繁多文字进行批处理快速生成多级列表以及目录
之前给人改论文word需要自动生成目录。众所周知如果导航栏显示有标题一二三等格式的,操作起来就非常方便:但是如果内容里面有大量字段并且只能改成指定字体怎么办呢?难道要一个一个点击一个一个选吗?网上关于WORD的多级列表很多都是手动添加设置写入文字,并没有处理很多现有的文字。所以在反复的查阅和想方设法后我写下了这篇文章。希望对大家有所帮助。
2024-11-06 21:21:52
1838
1
原创 【踩坑避雷】vs2019和GCC不同编译器之间的编译疏漏
之前在跑代码的时候注意到,vs2019可以跑过的程序,GCC却不能编过。这一篇拿来记录,以及提醒大家一定要遵守规范编写代码。
2024-11-05 17:38:58
381
原创 【踩坑solution】图片格式造成的WORD表格的空白分页间隔调整
(当时对方的图片位置居中所以没发觉不对劲,事实上应该用嵌入式+居中,而不是上下型环绕+手动居中)饶了一大圈弯后才发现是后面那张图片的格式有问题导致的。都改对了的,但就是解决不了这个问题。搜了一遍网上的教程,发现。
2024-11-04 18:08:04
390
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅