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环境的搭建的更多相关文章

  1. Windows下Python环境的搭建

    我刚开始接触Python没多久,当然这也是为初学者来更好的去入门Python,我电脑上既跑着Windows也跑着Red Hat的Linux,相比较而言,开发我还是更青睐于Linux系统,很多开发工具红 ...

  2. Windows下EDK2环境的搭建以及经典的程序设计Print Hello World !-----(Linux下的待后续熟练了再更新)

    很久没有更新博客了,之前的博客末尾有提到过要写有关EDK2环境搭建的博客,现在就是完成的时候了,后续博客更新会比较规律(大概每周一篇?) 本人博客仅仅发表于博客园,本人主页为         http ...

  3. windows下wordpress环境快速搭建

    所需要软件下载网址:https://bitnami.com/ 安装使用说明网址:http://www.websoft9.com/wp-content/plugins/documente/documen ...

  4. windows下android环境的搭建:完成后添加android其他版本

    JDK: jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe Eclipse:Eclipse3.7.1 Android sdk:android-sd ...

  5. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  6. Windows下的环境搭建Erlang

    Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...

  7. Redis在windows下的环境搭建

    Redis在windows下的环境搭建 下载windows版本redis,,官方下载地址:http://redis.io/download, 不过官方没有Windows版本,官网只提供linux版本的 ...

  8. 在Windows下使用Hexo+GithubPage搭建博客的过程

    1.安装Node.js 下载地址:传送门 去 node.js 官网下载相应版本,进行安装即可. 可以通过node -v的命令来测试NodeJS是否安装成功 2.安装Git 下载地址:传送门 去 Git ...

  9. 记一次Linux下JavaWeb环境的搭建

    今天重装了腾讯云VPS的系统,那么几乎所有运行环境都要重新部署了.过程不难懂,但是也比较繁琐,这次就写下来,方便他人也方便自己日后参考参考. 我采用的是JDK+Tomcat的形式来进行JavaWeb初 ...

随机推荐

  1. HDU 2955 【01背包+小数概率】

    Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. 2017 ACM-ICPC Asia Xi'an Problem A XOR(异或线性基 )

    题目链接  2017西安赛区 Problem A 题意  给定一个数列,和$q$个询问,每个询问中我们可以在区间$[L, R]$中选出一些数. 假设我们选出来的这个数列为$A[i_{1}]$, $A[ ...

  3. Codeforces 1029 E. Tree with Small Distances(树上dp)

    题目直通车:http://codeforces.com/problemset/problem/1029/E 思路大意:在树上做dp,依次更新ar数组,ar[i]表示以i为根节点的子树对答案的最小贡献值 ...

  4. 集群/分布式/微服务/SOA 转

    https://www.cnblogs.com/Java3y/p/9479410.html 二.集群/分布式/微服务/SOA是什么? 像我这种技术小白,看到这些词(集群/分布式/微服务/SOA)的时候 ...

  5. 3.1常用类(java学习笔记)包装类及日期类

    一.包装类 java是一门面向对象的语言,秉承一切皆对象的思想. 可java中有一些基本数据类型并不是对象,有时可能需要将它们变为对象. 这时就需要用到我们的包装类了. 基本数据类型 包装类 int ...

  6. 用Xcode6的Leaks检测内存泄漏

    用xcode打开项目之后,选择Product - Profile: 在弹出的窗口中选择Leaks: 然后在设备解锁的情况下,选择Leaks再点击左上角的红色按钮开始运行APP: 红色的柱子表示有内存泄 ...

  7. What is a fully qualified domain name (FQDN)?

    fully qualified domain name (FQDN) is the complete domain name for a specific computer, or host, on ...

  8. BeanUtils——JavaBean相互转换及字典翻译

    JavaBean相互转换 在升级公司架构过程中,发现有大量Entity与DTO相互转换的问题,并且其中还伴随DTO中的数据字典翻译,所以特意写个工具类,主要利用spring提供的BeanUtils工具 ...

  9. 【mybatis】in查询+判断list查询条件是否进行in查询

    mybatis中的in查询: 并且判断in查询的list是否为null或者list有值才进行In查询 <select id="find" parameterType=&quo ...

  10. ES6里的解构赋值

    我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段.在ES6中添加了可以简化这种任务的新特性:解构.解构是一种打破数据结构,将其拆分为更小部分的过程. 一.引入背景 在ES5中,开发者们为 ...