Как данные хранятся на диске? - EFI GUID
Я разместил этот вопрос ранее на SuperUser, но я чувствую, что он больше подходит для программистов.
Если я правильно понимаю, согласно GPT, первые 16 байтов LBA 2 - это GUID типа раздела для первого раздела на диске. В Windows Disk Management первый раздел обозначен как системный раздел EFI. Однако после дальнейшего изучения GUID системного раздела EFI:
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
И все же первые 16 байтов говорят мне иначе:
28732AC1-1FF8-D211-BA4B-00A0C93EC93B
Интересно, что первые 3 раздела действуют как байты с прямым порядком байтов, а остальные 2 - с байтовыми порядками.
Почему это так?
1 ответ
Тип данных EFI_GUID объявлен следующим образом:
typedef struct {
UINT32 Data1;
UINT16 Data2;
UINT16 Data3;
UINT8 Data4[8];
} EFI_GUID;
Поскольку оригинальные архитектуры EFI (IA64 LE и IA32e) по умолчанию имеют порядок байтов, так же как и целые числа. Я действительно не видел реализацию UEFI на машине с прямым порядком байтов, поэтому я не знаю, будут ли храниться стандартные GUID иначе.