
clover模拟uefi启动yfde
1Apfsefi apfs
在黑苹果开机时候会跑码
2ApfsDriverLoader-64efi
直接读取APFS盘下的APFSefi
3AppleImageLoader-64efi
1和23的功能类似,有23的情况下,可以删除1了。
4AppleUISupport-64efi
5AptioMemoryFix-64efi
处理引导初始阶段的UEFI内存分配修正efi
OsxAptioFixDrv-64efi
针对AMI Aptio UEFI 台式主板多见 技嘉、华硕、华擎等,解决找不到内核问题
OsxAptioFix3Drv-64efi
OsxAptioFix2Drv-64efi
OsxLowMemFixDrv-64efi
针对 Insyde H2O UEFI 的本本 修复低位内存问题
OsxFatBinaryDrv-64efi
胖二进制,对多架构提供支持
如OSX的bootefi OSX必备,或称通用二进制Universal Binary
即Intel/PPC
属于同类型的内存分配,只能选取一个,多个可能会卡内存的++++++,注意删除
6AudioDxe-64efi
那个文件就是让你开机有 biubiu~biubiu 声音
7DataHubDxe-64efi
macOS要求强制启动的协议,大部分情况下都是启动的,而且这个efi不会引起崩溃,大家都勾选即可。
这是DataHub协议支持强制性的MacOSX的。通常它已经存在,
但有时也可能被忽略了,在这种情况下,你应该在屏幕上看到的警告。
该文件的存在始终是安全的。建议还是使用它,不会产生冲突。
8EmuVariableUefi-64efi
是对某些UEFI启动无法调用NVRAM的机器提供的NVRAM模拟,部分Skylake架构的机器会需要这个efi(真的是很小一部分,我装过Skylake三台机器,都没有用过这个efi),我建议只有在出错告知你需要这玩意儿的时候再调整,虽然这玩意儿装了好像也不会导致崩溃,但是我不确认本来NVRAM正常的机器装上这个会不会就不调用硬件NVRAM了。所以我这里也不勾选。
针对某些 Phoenix UEFI 本本 例如DELL Vostro,某些ThinkPad
9FSInject-64efi
必须勾选,正常情况下,我们需要对黑苹果注入kernal kext,这个是必备efi。
10HFSPlusefi
11NvmExpressDxe-64efi
支持SSD连接到NVM Express总线
Clover的NVMe固态硬盘驱动,将提供主板BIOS不具备的NVMe固态硬盘识别能力,让电脑能够从NVMe启动Windows系统。
12SMCHelper-64efi
是和FakeSMC联动的efi,smc是苹果为了限制非Apple设备安装macOS的东西,所以这个必须勾选。
13CsmVideoDxe-64是在CSM开启情况下提供更多的分辨率的efi,由于我们是纯粹的UEFI启动,所以不装(这玩意儿装了可能会出错)。
Clover图形界面的图像驱动,可以有更多的分辨率选择。(仅限于启动界面)。他基于UEFI BIOS的CSM模块,因此需要CSM可用。
增强显卡在EFI模式下的兼容性 源自Intel EFI规范,与分辨率的实现相关
14PartitionDxe-64主要用于处理macOS的Hybrid磁盘分区表,这个是Bootcamp中用到的,我们没啥用,不用勾选。
支持不常见的分区地图,如:混合GPT / MBR或Apple分区图,提供对MBR、GPT等多分区表的支持 源自Intel EFI规
但没有为Apple分区优化,也没有为GPT/MBR优化。很可能(选项B)需要。文件的存在始终是安全
15PS2Mouseefi, PS2MouseAbsoluteefi, UsbMouseefi
用来使鼠标,触摸板在CloverGUI界面工作的一组驱动,它们对 *** 作系统没有
16NTFSefi 识别NTFS分区,用于启动Windows EFI系统,比如引导Win8/81
HFSPlusefi
HFS+文件系统驱动程序。这个驱动对于通过启动方式B(UEFI)来启动Mac OS X是必须的。
你这个是BIOS升级或查看的部分吧,这不是开机选择项。
EFI是可扩展固件接口(Extensible Firmware Interface)
UEFI是统一的可扩展固件接口”(Unified Extensible Firmware Interface)
简单的区别就是制表等用简化的EFI标示比如UEFI引导文件用EFI
总体上他两属于新型计算机固件的输入输出控制系统的用语。
方法/步骤如下:
1、制作好uefi pe启动U盘之后,将ghost win7 64位系统iso镜像直接复制到U盘gho目录下;
2、在uefi电脑上插入U盘,启动之后不停按F12、F11、Esc等快捷键,在d出的启动项选择框中,选择识别到的U盘选项,比如usb hdd,如果有带UEFI的项,选择带UEFI的启动先回车;
3、由于启动盘制作方法不同,有些uefi pe启动盘会直接进入pe系统,有些会先显示这个主界面,选择02回车运行win8PEx64;
4、进入pe系统之后,双击桌面上的DG分区工具,右键选择硬盘,点击快速分区;
5、分区表类型选择GUID,也就是GPT,然后设置分区数目,设置系统盘的大小,固态硬盘还需勾选对齐分区到此扇区,数字默认即可,确定;
6、之后执行硬盘分区以及格式化过程,分区之后如图所示,gpt分区表会有ESP、MSR两个额外分区;
7、接着双击打开大白菜PE一键装机,映像路径选择ghost win7 x64 iso文件,然后点击下拉框,自动提取win7gho文件,选择win7gho文件;
8、接着选择还原分区,选择系统安装位置,一般是C盘,如果不是C盘,根据卷标系统或硬盘大小来选择,点击确定;
9、d出这个对话框,勾选这些项,如果是usb30,可以勾选注入驱动,点击确定;
10、转到这个界面,执行ghost win7系统安装到C盘的过程,等待进度条执行完成;
11、 *** 作完成后,电脑会重启,此时拔出U盘,不拔除也可以,会自动进入这个界面,继续执行系统的安装过程;
12、整个安装过程需要5-10分钟,在启动进入ghost win7桌面之后,系统就安装完成了。
扩展资料:
UEFI,全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface), 是一种详细描述类型接口的标准。这种接口用于 *** 作系统自动从预启动的 *** 作环境,加载到一种 *** 作系统上。
可扩展固件接口(Extensible Firmware Interface,EFI)是 Intel 为 PC 固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是有近20多年历史的 BIOS 的继任者。
EFI是用模块化、C语言风格的参数堆栈传递方式、动态链接的形式构建系统,它比BIOS更易于实现,容错和纠错特性也更强,从而缩短了系统研发的时间。更加重要的是,它运行于32位或64位模式,突破了传统16位代码的寻址能力,达到处理器的最大寻址,此举克服了BIOS代码运行缓慢的弊端。
兼容性
与BIOS不同的是,UEFI体系的驱动并不是由直接运行在CPU上的代码组成的,而是用EFI Byte Code(EFI字节代码)编写而成的。Java是以“Byte Code”形式存在的,正是这种没有一步到位的中间性机制,使Java可以在多种平台上运行。UEFI也借鉴了类似的做法。
一个带有UEFI驱动的扩展设备既可以安装在使用安卓的系统中,也可以安装在支持UEFI的新PC系统中,它的UEFI驱动不必重新编写,这样就无须考虑系统升级后的兼容性问题。
鼠标 *** 作
UEFI内置图形驱动功能,可以提供一个高分辨率的彩色图形环境,用户进入后能用鼠标点击调整配置,一切就像 *** 作Windows系统下的应用软件一样简单。
可扩展性
UEFI将使用模块化设计,它在逻辑上分为硬件控制与OS( *** 作系统)软件管理两部分,硬件控制为所有UEFI版本所共有,而OS软件管理其实是一个可编程的开放接口。借助这个接口,主板厂商可以实现各种丰富的功能。
比如我们熟悉的各种备份及诊断功能可通过UEFI加以实现,主板或固件厂商可以将它们作为自身产品的一大卖点。UEFI也提供了强大的联网功能,其他用户可以对你的主机进行可靠的远程故障诊断,而这一切并不需要进入 *** 作系统。
图形界面
目前UEFI主要由这几部分构成:UEFI初始化模块、UEFI驱动执行环境、UEFI驱动程序、兼容性支持模块、UEFI高层应用和GUID磁盘分区组成。
在众多的分区类型中,UEFI系统分区用来存放驱动和应用程序。系统引导所依赖的UEFI驱动通常不会存放在UEFI系统分区中,当该分区的驱动程序遭到破坏,我们可以使用简单方法加以恢复,根本不用担心。
为了让不具备UEFI引导功能的 *** 作系统提供类似于传统BIOS的系统服务,UEFI还特意提供了一个兼容性支持模块,这就保证了UEFI在技术上的良好过渡。
[TOC]
系统表是重要的数据接口之一,是用户空间通往内核空间的通道。
(1)在应用程序和驱动中访问系统表
系统表是 UEFI 内核的一个全局结构体,其指针作为程序映像入口函数的参数传递到用户空间。程序映像(包括 UEFI 应用程序、DXE 驱动程序、UEFI 驱动程序)的入口函数有统一的格式,函数原型如下:
(2)系统表指针从内核传递到用户空间的过程
程序映像的入口函数通常是 _ModuleEntryPoint。当应用程序或驱动加载到内存形成 Image 后,_ModuleEntryPoint 函数地址被赋值给 Image 对象的 EntryPoint,然后 Image->EntryPoint 会被执行,最终会从 Image 的入口函数 _ModuleEntryPoint 执行到模块的入口函数。
系统表可分为以下6个部分
系统表数据结构:
UEFI 中的表通常都以 EFI_TABLE_HEADER 开头,数据结构如下:
这三个控制台设备以及 ConIn、ConOut、StdErr 三个 Protocol 在驱动 ConSplitterDxe 中被初始化。
ConfigurationTable 是系统配置表,指向 EFI_CONFIGUTATION_TABLE 数组,数组中每一项是一个表,这个表的数据结构如下:
在 UEFI 中只有一个地址空间,所有程序都运行在 RING0 优先级,应用程序地址空间(用户空间)占用 UEFI 地址空间的一部分。
系统表的地址可以通过模块的入口函数的参数得到。示例:
上面示例中的模块入口函数 UefiMain 中使用传入的参数 SystemTable 访问系统表。EDK2 为了方便开发者,提供了 UefiBootServicesTableLib,在 UefiLib 定义了全局变量 gST
、gBS、gImageHandle。这三个全局变量在函数 UefiBootServicesTableLibConstructor 中被初始化,该函数是库 UefiBootServicesTableLib 的构造函数,在 AutoGenc 中的 ProcessLibraryConstructorList 被调用,而 ProcessLibraryConstructorList 是在 UefiMain 之前被调用的。
构造函数 UefiBootServicesTableLibConstructor 源码:
gST 变量是定义在用户空间的变量,而它指向的系统表定义在 UEFI 内核中。在应用程序或驱动工程文件的 [LibraryClasses] 里引用 UefiBootServicesTableLib 后,就可以使用 gST 访问系统表了。示例:
其实就是使用 gST 和 gBS 替换掉 SystemTable 和 SystemTable->BootServices。
启动服务是 UEFI 的核心数据结构,可以分为以下几类:UEFI 事件服务、内存管理服务、Protocol 管理服务、Protocol 使用类服务、驱动管理服务、Image 管理服务、ExitBootServices、其他服务。
启动服务由 UEFI 表头和表项组成,表中每一项是一个函数指针,该函数用于提供一项服务。
事件是异步 *** 作的基础,使得在 UEFI 系统内可以执行并发 *** 作。UEFI 事件服务包含事件(Event)、定时器(Timer)、任务优先级(TPL)三类服务。
详见第六章。
内存管理服务主要提供内存的分配与释放服务、管理系统内存映射。主要包括:AllocatePages、FreePages、AllocatePool、FreePool、GetMemoryMap。
AllocatePool/FreePool 用法
AllocatePool 和 FreePool 服务函数原型:
枚举类型 EFI_MEMORY_TYPE:
调用 gBS->ExitBootServices 之后, EfiBootServicesCode 和 EfiBootServicesData 类型内存被回收;EfiLoaderCode 和 EfiLoaderData 由 OS Loader 和 *** 作系统决定是否回收;EfiACPIReclaimMemory 类型内存在 APCI 启用后被回收;其他类型内存保留。
AllocatePages/FreePages 用法
内存和驱动开发中经常会要求分配到的内存不得跨页,或需要分配完整的内存页,为此提供了分配页的服务 AllocatePages。
AllocatePages 和 FreePages 服务函数原型:
枚举类型 EFI_AlLOCATE_TYPE
GetMemoryMap 用法
GetMemoryMap 用于取得系统中所有的内存映射。
GetMemoryMap 服务函数原型:
EFI_MEMORY_DESCRIPTOR 数据结构
Protocol 管理服务提供安装与卸载 Protocol 的服务,以及注册 Protocol 通知函书(安装时调用)的服务。
详见第八章、第九章。
Protocol 使用类服务包括 Protocol 的打开与关闭,查找支持 Protocol 的控制器,主要提供 Protocol 使用者使用。
详见第四章。
驱动管理服务包括将驱动安装到控制器的 connect 服务和将驱动从控制器上卸载的 disconnect 服务。
详见第九章。
Image 管理服务包括加载、卸载、启动、退出 UEFI 应用程序或驱动。
启动服务中的 Image 管理服务
ExitBootService 用于结束启动服务,该服务成功返回后,系统进入 RT 期。 *** 作系统加载器从启动服务接过对计算机系统的控制权后必须调用该服务。
启动服务中的其他服务
从进入 DXE 阶段运行时服务被初始化,直到 *** 作系统结束,运行时服务都一直存在并向上层提供服务。运行时服务主要包括:时间服务、读写系统变量、虚拟内存服务、其他服务。
时间服务包括:读取 / 设置硬件事件、读取 / 设置唤醒定时器。
GetTime/SetTime
计算机硬件时钟由单独的电池供电, *** 作系统启动时通过读取硬件时钟获得事件。
GetTime/SetTime 服务函数原型:
时钟性能用 EFI_TIME_CAPABILITIES 表示:
GetWakeupTime/SetWakeupTime
GetWakeupTime 用于读取唤醒定时器的状态,SetWakeupTime 用于启用或禁用唤醒定时器。
GetWakeupTime/SetWakeupTime 服务函数原型:
UEFI 系统变量服务包括:GetVariable、SetVariable、GetNextVariableName。
GetVariable 用法
GetVariable 用于根据变量名获取变量值和属性。
GetVariable 服务函数原型:
SetVariable 用法
SetVariable 有三项功能:新建、更新、删除变量。
SetVariable 服务函数原型:
GetNextVariableName 用法
GetNextVariableName 用于获取下一个系统变量,通过这个服务可以遍历系统中的变量。
GetNextVariableName 服务函数原型:
要启动搜索(获得第一个变量),需要 VariableName 指向空字符串。
虚拟内存服务包括:SetVirtualAddressMap 和 ConvertPointer。这两个服务只有在运行时期间被 *** 作系统加载器调用。
调用流程:
SetVirtualAddressMap/ConvertPointer 服务函数原型:
Address 作为输入参数时是物理地址,作为输出参数时返回对应的虚拟地址。ConvertPointer 通过查询系统的内存映射表计算出给定物理地址的虚拟地址。当 DebugDispositon 设置了 EFI_OPTION_PTR 标志时,输入参数 Address 允许为空。
1、首先需要安装可以支持UEFI的引导程序。
2、其次还需要在BIOS中设置UEFI启动。
3、在Debian610上,可以使用GRUB2作为引导程序,具体的设置步骤可以参考Debian官方文档。
以上就是关于clover模拟uefi启动yfde全部的内容,包括:clover模拟uefi启动yfde、开机设置,efi和uefi分别是什么意思、windows uefi怎么重装系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)