[haiku-bugs] [Haiku] #12170: GPT corruption with more than one partition

  • From: "kallisti5" <trac@xxxxxxxxxxxx>
  • Date: Fri, 19 Jun 2015 14:26:12 -0000

#12170: GPT corruption with more than one partition
--------------------------------------+------------------------------
Reporter: kallisti5 | Owner: axeld
Type: bug | Status: new
Priority: high | Milestone: R1
Component: Partitioning Systems/GPT | Version: R1/Development
Keywords: GPT | Blocked By:
Blocking: | Has a Patch: 0
Platform: All |
--------------------------------------+------------------------------
Creating a few partitions (more than 1) will result in GPT corruption per
gdisk.
For example below, create 8 partitions on one disk, then read that disk
with gdisk.

{{{
$ gdisk test.raw
GPT fdisk (gdisk) version 0.8.10

Caution! After loading partitions, the CRC doesn't check out!
Warning! Main and backup partition tables differ! Use the 'c' and 'e'
options
on the recovery & transformation menu to examine the two tables.

Warning! One or more CRCs don't match. You should repair the disk!

Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: damaged

Found invalid MBR and corrupt GPT. What do you want to do? (Using the
GPT MAY permit recovery of GPT data.)
1 - Use current GPT
2 - Create blank GPT

Your answer: 1

Command (? for help): p
Disk test.raw: 204800 sectors, 100.0 MiB
Logical sector size: 512 bytes
Disk identifier (GUID): 82009838-FFFF-FFFF-3898-0082FFFFFFFF
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 204766
Partitions will be aligned on 8-sector boundaries
Total free space is 90045 sectors (44.0 MiB)

Number Start (sector) End (sector) Size Code Name
1 49192 65575 8.0 MiB A501
5 49192 65575 8.0 MiB A501
6 65576 81959 8.0 MiB A581
7 81960 98343 8.0 MiB A902
8 98344 114727 8.0 MiB A901
9 40 16423 8.0 MiB EB00
10 16424 32807 8.0 MiB 8300
11 32808 49191 8.0 MiB AB00
12 49192 65575 8.0 MiB A501

Command (? for help): v

Problem: The CRC for the main partition table is invalid. This table may
be
corrupt. Consider loading the backup partition table ('c' on the recovery
&
transformation menu). This report may be a false alarm if you've already
corrected other problems.

Caution: The CRC for the backup partition table is invalid. This table may
be corrupt. This program will automatically create a new backup partition
table when you save your partitions.

Problem: partitions 5 and 1 overlap:
Partition 5: 49192 to 65575
Partition 1: 49192 to 65575

Problem: partitions 12 and 1 overlap:
Partition 12: 49192 to 65575
Partition 1: 49192 to 65575

Problem: partitions 12 and 5 overlap:
Partition 12: 49192 to 65575
Partition 5: 49192 to 65575

Identified 5 problems!

Command (? for help):
}}}


Given the "65575" it looks like there is some overflow somewhere. Our GPT
code places partitions on-top of each other :-\

--
Ticket URL: <https://dev.haiku-os.org/ticket/12170>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: