Uefi bios rom file format secrets

Source: Internet
Author: User

Many friends have added an acpi slic table to the BIOS to activate OEM Windows Vista (Windows 7 ?) It is a great deal of fun. They have mature tool chain support for legacy bios. Tools that exit from the BIOS factory can help you easily add a new SLIC table to Rom to activate windows.

 

However, uefi bios is not that simple. The current motherboard 100% that can be modified is legacy. I have never heard of anyone who can successfully modify the UEFI motherboard, such as Intel's original motherboard.

 

The reason is very simple. The storage format of UEFI Rom is completely different from that of the BIOS in the past. The existing tools cannot read the configuration information in the ROM at all, and adding SLIC will naturally be useless. Fortunately, the storage format of UEFI Rom is completely public, but you do not know it. It is not covered by a certain NDA, so I can write an article about the UEFI Rom storage format without reservation.

 

For details about the storage format, you can go:

 

Http://www.uefi.org/

 

Under the specification below, download platform initialization specification (also known as pi). The fourth volume firmware storage specification describes the details of the storage format in detail.

 

Because this article is a similar piece of material, and the storage format is very complex, so I can only talk about it to the extent that you really want to see the spec.

 

The storage format is named FFs. Firmware File System (firmware file system), in fact, is a well-defined read-only (writing is very difficult, but not completely impossible) file system implementation.

 

1. FD

 

The entire Rom is logically considered as a device. This is the firmware device. You can think of FD as a hard disk. The advantage of imagining it is that when we mention other concepts below, we can have an analogy with similar concepts on the hard disk. In general, FD is only for convenience.

 

2. Fv

 

Hard Disk Partition, FD is no exception, the entire Rom (FD) is divided into some areas, these independent areas are called FV. Partitions on a hard disk are also called volume. Similar things on FD are also called, so FV is firmware volume.

 

3. File

 

Before talking about this concept, I need to clarify the concept of file in the file system. What is a file? What is a file name? A file is a region representation of a region, and a file name is a unique expression of this region. In this way, the file system can be considered as a logical conversion. What has been converted? Again, the file system converts physical concepts into logical ones.

 

For example, the physical concept of a hard disk includes a track, a sector, and a cylindrical disk. When we want to store the data, we cannot tell windows like this: store the data in two cylinders, 176 channels, and 35 sectors! I don't think so. We must tell windows that a file data. txt is created. In other words, in our column, the file name data. txt is correctly converted to 2 cylinders, 176 channels, and 35 sectors through the file system. This is the concept of a file system. And so on, the file concept is clear.

 

In FV, file also plays the same role. However, its name is in a fixed format. The file in each FV must be named with a guid and there are no duplicates. Do you still remember guid? In our previous Protocol article, we talked about guid.

 

4. Section

 

FFS is special. Each file can be divided into different sections. Each type of section stores specific data. For example, the section of the pe32 type stores code. Raw sections store pure data such as ACPI tables. There are many types of segments. It even allows compression of another FV. If the other FV is decompressed, it will be a piece of cake.

 

----------------------------------------

 

 

BiOS Rom --- FD

|

| ---- Fv

| ---- Fv

| ---- Fv

|

| --- File

| --- File

| --- File

|

| ---- Section

| ---- Section

| ---- Section

 

Section can contain any data depends on their type, even the another compressed Fv

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.