Problem with network shared storage could lead to a damaged file system or even GPT tables, so the gdisk may help in this case.
Here it is a nasty the error:
[root@srv1 ~]# kpartx /dev/loop0 Alternate GPT is invalid, using primary GPT. loop0p1 : 0 83881984 /dev/loop0 2048 [root@srv1 ~]# parted /dev/loop0 GNU Parted 3.1 Using /dev/loop0 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Error: The backup GPT table is corrupt, but the primary appears OK, so that will be used. OK/Cancel? OK Model: Loopback device (loopback) Disk /dev/loop0: 42.9GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 42.9GB 42.9GB primary (parted)
So parted reports the backup GPT is damaged, but how to fix it? The solution is to use gdisk and use write “w” command in it. gdisk also shows the exact error with the GPT table with “v” option:
[root@srv1 ~]# gdisk GPT fdisk (gdisk) version 0.8.10 Type device filename, or press <Enter> to exit: /dev/loop0 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: protective BSD: not present APM: not present GPT: damaged **************************************************************************** Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk verification and recovery are STRONGLY recommended. **************************************************************************** Command (? for help): p Disk /dev/loop0: 83886080 sectors, 40.0 GiB Logical sector size: 512 bytes Disk identifier (GUID): 7EDF123B-FBC4-4C09-B636-922BD165F862 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 83886046 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB) Number Start (sector) End (sector) Size Code Name 1 2048 83884031 40.0 GiB 0700 primary Command (? for help): v 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. Identified 1 problems! Command (? for help): p Disk /dev/loop0: 83886080 sectors, 40.0 GiB Logical sector size: 512 bytes Disk identifier (GUID): 7EDF123B-FBC4-4C09-B636-922BD165F862 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 83886046 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB) Number Start (sector) End (sector) Size Code Name 1 2048 83884031 40.0 GiB 0700 primary Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/loop0. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.
And the GPT backup in this loop device is fixed. Executing parted again reports no problems:
[root@srv1 ~]# parted /dev/loop0 print Model: Loopback device (loopback) Disk /dev/loop0: 42.9GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 42.9GB 42.9GB primary
Verify also reports nor error. More options are available:
[root@srv1 ~]# gdisk /dev/loop0 GPT fdisk (gdisk) version 0.8.10 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): h b back up GPT data to a file c change a partition's name d delete a partition i show detailed information on a partition l list known partition types n add a new partition o create a new empty GUID partition table (GPT) p print the partition table q quit without saving changes r recovery and transformation options (experts only) s sort partitions t change a partition's type code v verify disk w write table to disk and exit x extra functionality (experts only) ? print this menu Command (? for help): v No problems found. 4029 free sectors (2.0 MiB) available in 2 segments, the largest of which is 2015 (1007.5 KiB) in size. Command (? for help): q
I was able to recover my backup ssd drive following your instructions. Thank you so much.
Thanks a ton, this proved quite helpful. In my case, both the primary and backup GPT table were corrupted on a users SSD. Was able to fix it by running these commands.