|
找到一个老外的论述:
But booting from a CD (or the more common case of booting a VM from an ISO, since most VMs can’t easily use a USB
key) is a little more interesting. I always assumed that the UEFI firmware was smart enough to read the needed
files from an ISO9660 or UDF structure on the CD/ISO itself, but working with Linux OSes over the past few days
made me realize that’s not the case at all.
他也认为,uefi固件足够聪明,能够存取iso9660和udf文件,但事实并非如此。
所以我猜测,可能是因为uefi固件,并不能存取udf和iso9660文件系统(可以读扇区低级存取),也即不能直接找到光盘\efi\boot\bootx64.efi的文件,才要引导文件efisys.bin(它的作用是模拟出一个软驱的一个fat12分区,便于存取efi文件)
efisys.bin实际上是一个软盘映像文件,其中就只有一个文件\efi\boot\bootx64.efi,可能就是因为uefi固件还不能存取光盘上的文件(只能像读扇区一样的低级存取),就用映像模拟的软盘,软盘是fat12格式,直接存取文件\efi\boot\bootx64.efi没有问题。
这是我现在对光盘efi启动为什么需要efisys.bin引导,而u盘pe却不需要的一个猜测。关键是要弄出一个fat,然后存取其中的\efi\boot\bootx64.efi。
这个efisys.bin软盘映像,虽然是有一个启动扇区,但估计是没什么作用的,并不会执行其中的代码。我看了一下,还有好多dos5.0的信息在这个扇区里面。
|
|