簡體   English   中英

在 GUID 分區表中,我如何知道有多少個分區?

[英]In GUID Partition Table how can I know how many partitions there are?

我有一個帶有 3 個分區的 USB 圖像:

  • 分區 1:FAT32
  • 第 2 部分:exFAT
  • 分區 3:NTFS

我正在制作一個通過分區的程序,但我不確定如何知道我的程序應該查找多少個分區。 通過查看原始數據,我可以看到它按預期具有三個分區,但當然我的程序不知道這一點。

我試圖查看“80 (0x50) 4 字節數組中的分區條目數”,但在我的示例中,它給了我值 128 (0x80000000)。

這是我的示例圖像中的十六進制屏幕截圖。

保護性 MBR 在此處輸入圖片說明

分區表頭 (LBA 1) 在此處輸入圖片說明

signature=- HexLe=4546492050415254 HexBe=5452415020494645
revisionHexLe=000001 HexLe=4546492050415254 HexBe=5452415020494645
headerSizeDec=92 HexLe=5C000000 HexBe=0000005C
crc2OfHeaderDec=82845332 HexLe=941EF004 HexBe=04F01E94
reservedADec=0 HexLe=00000000 HexBe=00000000
currentLBADec=1 HexLe=0100000000000000 HexBe=0000000000000001
backupLBADec=30277631 HexLe=FFFFCD0100000000 HexBe=0000000001CDFFFF
firstUsableLBAForPartitionsDec=34 HexLe=2200000000000000 HexBe=0000000000000022
lastUsableLBADec=30277598 HexLe=DEFFCD0100000000 HexBe=0000000001CDFFDE
diskGUIDHexMe=8B3F71C5AF9D744D9CA3EBFF7D1F9DC9
startingLBAOfArrayOfPartitionEntriesDec=2 HexLe=0200000000000000 HexBe=0000000000000002
numberOfPartitionEntriesInArrayDec=128 HexLe=80000000 HexBe=00000080
sizeOfASinglePartitionEntryDec=128 HexLe=80000000 HexBe=00000080
crc2OfPartitionEntriesArrayDec=-2043475264 HexLe=C00A3386 HexBe=86330AC0
reservedBDec=00000000 HexLe=00000000 HexBe=00000000
We are going to look for partitions now at offset 1024

分區條目 (LBA 2–33) 在此處輸入圖片說明

有點晚了,你現在可能已經想通了。

請參閱來自維基頁面的下圖。 Wiki 頁面本身將為您提供更多信息。

僅通過查看 LBA1 的 GUID 分區表無法確定分區數,您必須檢查分區條目並檢查分區類型 GUID是否表示未使用(全為零)。

偏移量 80 (=0x50) 處的標頭中的分區條目數是由偏移量 84 處的單個分區條目的大小確定的條目總數。

總站

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM