Windows下UEFI环境的搭建
Windows下UEFI环境的搭建
一、环境准备
1. 安装2012及以上VS https://visualstudio.microsoft.com/
2.下载NASM 2.13.03 http://www.nasm.us/,默认安装目录为C:\nasm,同时添加到PATH环境变量中
3. 安装Python2.7.x https://www.python.org/,默认安装目录为C:\Python27,添加到新建的PYTHON_HOME环境变量中
4. 安装openssl http://wiki.overbyte.eu/arch/openssl-1.1.0g-win32.zip,默认安装目录为C:\openssl,添加到PATH环境变量中
5. 安装cygwin64 http://www.cygwin.com/,默认安装目录为C:\cygwin
6. 安装UDK2018 https://codeload.github.com/tianocore/edk2/zip/master ,首先创建一个工作目录,如D:\WorkSpace,将UDK解压到该工作目录下
7. 下载edk2-BaseTools https://codeload.github.com/tianocore/edk2-BaseTools-win32/zip/master
8. 下载openssl配置文件 https://codeload.github.com/openssl/openssl/zip/OpenSSL_1_1_0g
二、UDK配置
1. 在..\edk2-vUDK2018\CryptoPkg\Library\OpensslLib\中,存在一个openssl目录,将其删除后,将openssl-OpenSSL_1_1_0g.zip解压到该目录下并重命名为openssl
2. 将edk2-BaseTools-win32-master.zip解压到..\uefi-workspace\edk2-vUDK2018\BaseTools\中,并重命名为Win32
3. 在..\uefi-workspace\edk2-vUDK2018\Conf\target.txt中修改TOOL_CHAIN_TAG为当前工具版本,如TOOL_CHAIN_TAG = VS2012x86
4. 在..\uefi-workspace\edk2-vUDK2018\目录下,可修改edksetup.bat来修改一些软件的安装位置
三、运行efi文件
1. 打开cmd,到..\uefi-workspace\edk2-vUDK2018\目录下,先设定python位置,再进行初始化操作,最后进行build操作
>>set PYTHON_HOME=C:\Python27
>>edksetup.bat --nt32
2. 初始化结束后,进行build构建efi文件;在build结束后,..\uefi-workspace\edk2-vUDK2018\目录下会生成Build文件夹,..\Build\NT32IA32\DEBUG_VS2012x86\IA32\中存在一些初始的efi文件,如HelloWorld.efi文件
>>build
3.利用命令打开NT32模拟器(或者在..\uefi-workspace\edk2-vUDK2018\Build\NT32IA32\DEBUG_VS2012x86\IA32\目录下运行SecMain.exe),输入fs0:,然后输入efi文件名,运行efi文件(默认目录为..\uefi-workspace\edk2-vUDK2018\Build\NT32IA32\DEBUG_VS2012x86\IA32\)
>>build run
>>fs0:
>>HelloWorld.efi
4.编写efi文件(转载 https://blog.csdn.net/yunfenglw/article/details/46946907)
Windows下UEFI环境的搭建的更多相关文章
- Windows下Python环境的搭建
我刚开始接触Python没多久,当然这也是为初学者来更好的去入门Python,我电脑上既跑着Windows也跑着Red Hat的Linux,相比较而言,开发我还是更青睐于Linux系统,很多开发工具红 ...
- Windows下EDK2环境的搭建以及经典的程序设计Print Hello World !-----(Linux下的待后续熟练了再更新)
很久没有更新博客了,之前的博客末尾有提到过要写有关EDK2环境搭建的博客,现在就是完成的时候了,后续博客更新会比较规律(大概每周一篇?) 本人博客仅仅发表于博客园,本人主页为 http ...
- windows下wordpress环境快速搭建
所需要软件下载网址:https://bitnami.com/ 安装使用说明网址:http://www.websoft9.com/wp-content/plugins/documente/documen ...
- windows下android环境的搭建:完成后添加android其他版本
JDK: jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe Eclipse:Eclipse3.7.1 Android sdk:android-sd ...
- Windows下visual studio code搭建golang开发环境
Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...
- Windows下的环境搭建Erlang
Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...
- Redis在windows下的环境搭建
Redis在windows下的环境搭建 下载windows版本redis,,官方下载地址:http://redis.io/download, 不过官方没有Windows版本,官网只提供linux版本的 ...
- 在Windows下使用Hexo+GithubPage搭建博客的过程
1.安装Node.js 下载地址:传送门 去 node.js 官网下载相应版本,进行安装即可. 可以通过node -v的命令来测试NodeJS是否安装成功 2.安装Git 下载地址:传送门 去 Git ...
- 记一次Linux下JavaWeb环境的搭建
今天重装了腾讯云VPS的系统,那么几乎所有运行环境都要重新部署了.过程不难懂,但是也比较繁琐,这次就写下来,方便他人也方便自己日后参考参考. 我采用的是JDK+Tomcat的形式来进行JavaWeb初 ...
随机推荐
- Netty源码学习(零)前言
本系列文章将介绍Netty的工作机制,以及分析Netty的主要源码. 基于的版本是4.1.15.Final(2017.08.24发布) 水平有限,如有谬误请留言指正 参考资料 the_flash的简书 ...
- 51nod 1091 线段的重叠【贪心/区间覆盖类】
1091 线段的重叠 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 2 ...
- Python的并发并行[2] -> 队列[1] -> 使用队列进行任务控制
使用队列进行任务控制 1 FIFO与LIFO队列 FIFO(First In First Out)与LIFO(Last In First Out)分别是两种队列形式,在FIFO中,满足先入先出的队列方 ...
- MySQL-python install
Redhat 7.6 yum install python-devel mysql-devel gcc -y pip install MySQL-python==1.2.5
- linux中,在在shadowsoks下怎么更新软件
在shadowsoks下怎么更新软件 先描述一下我的情况.我们学校不给大一开通校园网,我自己租用了***的vps服务器,搭建shadowsocks,(使用ipv6地址才能连接),开始了自己悲催的上网生 ...
- 反汇编引擎diStorm3
反汇编引擎diStorm3 diStorm3是Kali Linux自带的一款轻量级.容易使用的反汇编引擎.它可以反汇编生成16位.32位和64位指令.它支持的指令集包括FPU.MMX.SSE.SS ...
- 当ASP.NET Forms验证方式遭遇苹果IOS
一.问题出现 我在用ASP.NET MVC4做微信开发的时候,用Forms验证方式做为authentication. 一般都是在web.config加: <authentication mode ...
- FreeRTOS+FreeModbus+神舟IV号
下面的这个例子是FreeModbus和FreeRTOS在神舟IV号上的应用,仅当做学习用途. 这个demo完成的功能也比较简单,创建了两个任务,一个任务用于控制板子上的LED1,使它每1秒钟闪烁一次. ...
- 2017.9.5 postgresql加密函数的使用
需要安装的插件的名字:pgcrypto 官网地址:https://www.postgresql.org/docs/9.4/static/pgcrypto.html stackoverflow: htt ...
- C2:抽象工厂 Abstract Factory
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 应用场景: 一系列相互依赖的对象有不同的具体实现.提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合 UM ...