{"id":58054,"date":"2026-11-02T17:27:31","date_gmt":"2026-11-02T09:27:31","guid":{"rendered":"https:\/\/www.amagicsoft.com\/?p=58054"},"modified":"2026-11-02T17:27:31","modified_gmt":"2026-11-02T09:27:31","slug":"gpt-header-damage-recovery-test","status":"publish","type":"post","link":"https:\/\/www.amagicsoft.com\/jp\/kb\/lab\/gpt-header-damage-recovery-test.html","title":{"rendered":"GPT\u30d8\u30c3\u30c0\u30fc\u306e\u7834\u640d\u56de\u5fa9\u30c6\u30b9\u30c8"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"58054\" class=\"elementor elementor-58054\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-p5o019e dtec-docx-root dtec-post-58054 e-flex e-con-boxed e-con e-parent\" data-id=\"p5o019e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2li4qhu elementor-widget elementor-widget-text-editor\" data-id=\"2li4qhu\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><div><p class=\"otl-paragraph\">A <strong>GPT header damage recovery test<\/strong> asks whether a surviving backup can reconstruct damaged partition metadata. In the generated sample below, it can\u2014provided the backup header and its entry array validate and describe the intended layout. However, a matching header CRC alone does not establish that the partition table is usable. This experiment calculates seven metadata states, including two counterexamples that pass the header checksum. It then rebuilds the primary GPT from the backup and checks the result against the baseline.<\/p><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-jd7lgag elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"jd7lgag\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;],&quot;exclude_headings_by_selector&quot;:&quot;.faq-no-toc, h2:contains(Data Recovery Assessment)&quot;,&quot;marker_view&quot;:&quot;bullets&quot;,&quot;no_headings_message&quot;:&quot;No headings were found on this page.&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;fas fa-circle&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tTable of Contents\t\t\t<\/h4>\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__jd7lgag\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><i aria-hidden=\"true\" class=\"fas fa-chevron-down\"><\/i><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__jd7lgag\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><i aria-hidden=\"true\" class=\"fas fa-chevron-up\"><\/i><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div id=\"elementor-toc__jd7lgag\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<i class=\"elementor-toc__spinner eicon-animation-spin eicon-loading\" aria-hidden=\"true\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-zuwey8o elementor-widget elementor-widget-heading\" data-id=\"zuwey8o\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Research Question and Scope<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d95emb elementor-widget elementor-widget-text-editor\" data-id=\"1d95emb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The question is specific: after a defined change near the beginning of a GPT disk, does the surviving metadata support reconstruction of the original primary GPT?<\/p>\n<p>This controlled, byte-level test constructs GPT metadata in memory, applies defined changes, and validates the resulting checksums, location fields, and reconstruction against an unchanged baseline.<\/p>\n<p>The test evaluates partition-map integrity: whether each GPT copy validates, whether a surviving backup supports reconstruction, and whether the rebuilt metadata matches the baseline. For the field definitions behind the experiment, see the <a href=\"https:\/\/www.amagicsoft.com\/kb\/disk-partition\/gpt-header.html\">GPT Header structure and CRC32 guide<\/a>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cjg5ugj elementor-widget elementor-widget-heading\" data-id=\"cjg5ugj\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reference Configuration and Assumptions<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76hw7pr elementor-widget elementor-widget-text-editor\" data-id=\"76hw7pr\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The reference configuration is a 64 MiB logical disk sample. This compact layout keeps the addresses easy to follow and isolates the effects of changes to the GPT headers and entry arrays.<\/p>\n<table><tbody><tr><td><p><strong>Parameter<\/strong><\/p><\/td><td><p><strong>Reference configuration<\/strong><\/p><\/td><\/tr><tr><td><p>Logical capacity<\/p><\/td><td><p>67,108,864 bytes; 131,072 logical blocks<\/p><\/td><\/tr><tr><td><p>Logical block size<\/p><\/td><td><p>512 bytes<\/p><\/td><\/tr><tr><td><p>Partition scheme<\/p><\/td><td><p>GPT revision 1.0; protective MBR<\/p><\/td><\/tr><tr><td><p>Header and array sizes<\/p><\/td><td><p>92-byte headers; 128 entries of 128 bytes each<\/p><\/td><\/tr><tr><td><p>Active partition<\/p><\/td><td><p>One Microsoft Basic Data entry named LAB-DATA<\/p><\/td><\/tr><tr><td><p>Partition contents<\/p><\/td><td><p>Deterministic byte pattern for whole-range integrity checks<\/p><\/td><\/tr><\/tbody><\/table>\n<p>The Microsoft Basic Data entry describes the partition range and intended use. Its payload follows a deterministic byte pattern, enabling an exact comparison before damage and after reconstruction.<\/p>\n<p>The comparison&#8217;s expandable calculation notes give both metadata locations, usable boundaries, and the active partition&#8217;s exact extent. All LBAs are relative to the start of this logical disk. The <a href=\"https:\/\/www.amagicsoft.com\/kb\/disk-partition\/lba.html\">logical block addressing guide<\/a> explains how to translate them into byte offsets.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-v5v2kxa elementor-widget elementor-widget-heading\" data-id=\"v5v2kxa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Experiment Procedure<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-h5g5eik elementor-widget elementor-widget-text-editor\" data-id=\"h5g5eik\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The labels <strong>S0\u2013S6<\/strong> identify the seven generated sample states used in the results and the Scenario selector. They are not consecutive damage operations on one disk. S0 is the unchanged reference; S1\u2013S5 each start from an independent copy of S0. Only S6 starts from S3.<\/p>\n<p>All changes were made to disposable generated copies. Do not perform these damage operations on a drive containing needed data.<\/p>\n<p><strong>S0 \u2014 Baseline: both GPT copies intact.<\/strong> <\/p>\n<p>Construct the protective MBR, primary and backup headers, and identical entry arrays. Validate the checksums, location fields, array dimensions, and partition bounds. Preserve this unchanged state as the reference for every comparison.<\/p>\n<p><strong>S1 \u2014 Primary header byte damaged.<\/strong> <\/p>\n<p>Change the primary header&#8217;s first <code class=\"dtec-inline-code\">DiskGUID<\/code> byte at header-relative offset <code class=\"dtec-inline-code\">+0x38<\/code> from <code class=\"dtec-inline-code\">33<\/code> to <code class=\"dtec-inline-code\">32<\/code>. Leave its stored header CRC unchanged. Keep both arrays, the backup header, and partition contents unchanged. This isolates a header-CRC mismatch.<\/p>\n<p><strong>S2 \u2014 Primary header missing.<\/strong> <\/p>\n<p>Replace the 512-byte block at LBA 1 with zeros. Preserve the primary array and the complete backup GPT. Check whether the surviving backup supplies a valid reconstruction source when the primary header has no recognizable signature.<\/p>\n<p><strong>S3 \u2014 Primary entry array damaged.<\/strong> <\/p>\n<p>In entry 0 of the primary array at LBA 2, change the name byte at entry-relative offset <code class=\"dtec-inline-code\">+0x38<\/code> from <code class=\"dtec-inline-code\">4C<\/code> to <code class=\"dtec-inline-code\">4D<\/code>, changing L to M. Leave both headers unchanged. This isolates an array-CRC mismatch while the primary header CRC still passes.<\/p>\n<p><strong>S4 \u2014 Both headers missing.<\/strong> <\/p>\n<p>Replace the primary and backup header blocks, at LBA 1 and LBA 131071, with zeros. Preserve both entry arrays and the partition contents. This tests the limit of reconstruction when neither valid header survives.<\/p>\n<p><strong>S5 \u2014 Backup header copied without adaptation.<\/strong> <\/p>\n<p>Copy the backup header block verbatim to LBA 1. Do not change its location fields or checksum. This checks whether a passing header CRC can coexist with incorrect primary-side addresses.<\/p>\n<p><strong>S6 \u2014 Primary GPT rebuilt from S3.<\/strong> <\/p>\n<p>Start with the array damage defined in S3. Restore the primary array from its verified backup, adapt the backup header&#8217;s location fields for the primary side, and recalculate its header CRC. Compare the reconstructed metadata byte for byte with S0.<\/p>\n<p>For each state, check the header CRC, array CRC, and location relationships separately. A missing header makes the associated checks unavailable; a matching CRC alone does not establish a valid GPT. Separately compare the entire partition-content range, including its SHA-256, against S0. The pass condition is a consistent GPT layout with the partition-content range preserved.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1yrnu84 elementor-widget elementor-widget-heading\" data-id=\"1yrnu84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">GPT Header Damage Recovery Test Results<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-vgxuzxq elementor-widget elementor-widget-text-editor\" data-id=\"vgxuzxq\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The three rendered views below keep the same header region on screen. Follow the outlined byte at row <code class=\"dtec-inline-code\">+0030<\/code>, column <code class=\"dtec-inline-code\">08<\/code>\u2014header offset <code class=\"dtec-inline-code\">+0x38<\/code>\u2014and compare the stored and calculated header CRCs. The views render the same sample bytes used in the checksum and reconstruction checks.<\/p>\n<h3>Primary GPT corruption test: before damage<\/h3>\n<p>The baseline primary header contains <code class=\"dtec-inline-code\">33<\/code> at <code class=\"dtec-inline-code\">DiskGUID +0x38<\/code>. Its stored and calculated header CRCs match. The primary array and the backup GPT also validate.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-rzmw8vi elementor-widget elementor-widget-image\" data-id=\"rzmw8vi\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-before-damage.webp\" title=\"\" alt=\"gpt-header-before-damage\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-snfnwzc elementor-widget elementor-widget-text-editor\" data-id=\"snfnwzc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>GPT header hex comparison: after one byte changes<\/h3><p>S1 changes only that byte from <code class=\"dtec-inline-code\">33<\/code> to <code class=\"dtec-inline-code\">32<\/code>. The stored header CRC remains unchanged, but the calculated CRC differs. The red outline identifies the changed byte, while the shaded checksum bytes show the value that was not updated. The valid backup remains a possible reconstruction source in this defined layout.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ip8mgxn elementor-widget elementor-widget-image\" data-id=\"ip8mgxn\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-after-damaged.webp\" title=\"\" alt=\"gpt-header-after-damage\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6yt8len elementor-widget elementor-widget-text-editor\" data-id=\"6yt8len\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Backup GPT header recovery experiment: after reconstruction<\/h3><p>The reconstruction adapts the verified backup header for the primary location and recalculates its checksum. The outlined byte returns to <code class=\"dtec-inline-code\">33<\/code>; the stored and calculated CRCs match again. A full byte comparison confirms that the rebuilt primary metadata equals the baseline. This calculated S1-to-baseline transition is separate from S6, which repairs the array damage below.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-272hbib elementor-widget elementor-widget-image\" data-id=\"272hbib\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-after-reconstruction.webp\" title=\"\" alt=\"gpt-header-after-reconstruction\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6oocvyr elementor-widget elementor-widget-text-editor\" data-id=\"6oocvyr\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Array damage: why a passing header CRC is not enough<\/h3><p>S3 changes the first partition-name character from L to M in the entry array. The header bytes remain unchanged, so its CRC passes while the array CRC fails. S6 restores the backup array and rebuilds the primary header, returning the original metadata to the baseline.<\/p><p>The <a href=\"https:\/\/www.amagicsoft.com\/kb\/disk-partition\/gpt-partition-entry.html\">GPT partition entry array guide<\/a> explains why the name belongs to the array rather than the header.<\/p><h3>Failure conditions that change the interpretation<\/h3><p>The collapsed scenario table retains the remaining checks. With the primary header missing (S2), the intact backup still supports reconstruction. With both headers missing (S4), no valid header remains as a reconstruction source, even though the defined arrays survive. Finally, copying the backup header verbatim to LBA 1 (S5) preserves its valid CRC but leaves incorrect primary location fields.<\/p><p>These outcomes distinguish a matching checksum from a consistent partition map. A valid reconstruction requires checksums and location relationships to agree with the intended layout.<\/p><p>Use the scenario explorer below to compare all seven states in Hex. Start with S0, then switch between S1\u2013S6 to inspect the primary header and the entry-array excerpt alongside the CRC and location checks. Red marks bytes that differ from S0; green in S6 marks reconstructed fields that match the baseline.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f5a13d2 elementor-widget elementor-widget-html\" data-id=\"f5a13d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"am-gpt-damage-lab\" aria-label=\"GPT damage scenario comparison\">\r\n<style>\r\n#am-gpt-damage-lab{box-sizing:border-box;max-width:100%;padding:14px 16px;margin:20px 0;border:1px solid #b8c9d8;border-radius:9px;background:#f1f5f8;color:#192d43;font:14px\/1.45 system-ui,sans-serif}\r\n#am-gpt-damage-lab *{box-sizing:border-box}#am-gpt-damage-lab .gl-title{font-size:18px;font-weight:750;margin:0 0 10px}#am-gpt-damage-lab .gl-control{display:flex;align-items:center;gap:10px;margin-bottom:10px}#am-gpt-damage-lab .gl-control label{font-size:12px;font-weight:650}#am-gpt-damage-lab select{font:inherit;font-size:13px;background:white;color:#192d43;padding:7px 9px;border:1px solid #8ca4ba;border-radius:5px;flex:1;min-width:0;max-width:100%}\r\n#am-gpt-damage-lab .gl-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}#am-gpt-damage-lab .gl-check{padding:7px 9px;background:#fff;border:1px solid #c1d0dc;border-radius:5px;min-width:0}#am-gpt-damage-lab .gl-check span{display:block;font-size:11px;color:#4b6277}#am-gpt-damage-lab .gl-check strong{display:block;font-size:14px;margin-top:2px}#am-gpt-damage-lab .gl-pass{color:#176346}#am-gpt-damage-lab .gl-fail{color:#a12e23}#am-gpt-damage-lab .gl-muted{color:#596e81}\r\n#am-gpt-damage-lab .gl-result{padding:9px 11px;margin-top:9px;border-left:3px solid #175ba0;background:#dfeaf4}#am-gpt-damage-lab .gl-change{font-size:12px;color:#425e76;margin-bottom:3px}#am-gpt-damage-lab .gl-outcome{font-size:13px}#am-gpt-damage-lab details{font-size:12px;margin-top:7px}#am-gpt-damage-lab summary{color:#175ba0;font-weight:650;cursor:pointer;padding:4px 0}#am-gpt-damage-lab select:focus-visible,#am-gpt-damage-lab summary:focus-visible,#am-gpt-damage-lab .gl-scroll:focus-visible{outline:3px solid #b96a00;outline-offset:3px}#am-gpt-damage-lab .gl-crc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;color:#3c566e}#am-gpt-damage-lab code{font:11px\/1.6 ui-monospace,Consolas,monospace;background:none;padding:0;overflow-wrap:anywhere;color:inherit}#am-gpt-damage-lab .gl-scroll{max-width:100%;overflow-x:auto}#am-gpt-damage-lab table{width:100%;min-width:650px;border-collapse:collapse;font-size:12px;line-height:1.4}#am-gpt-damage-lab th,#am-gpt-damage-lab td{padding:6px 8px;text-align:left;vertical-align:top;border-bottom:1px solid #bdcddb}#am-gpt-damage-lab th{background:#dce7f0}#am-gpt-damage-lab .gl-note{font-size:11px;color:#536b80;margin:6px 0 0}\r\n@media(max-width:520px){#am-gpt-damage-lab{padding:11px}#am-gpt-damage-lab .gl-title{font-size:16px}#am-gpt-damage-lab .gl-checks{grid-template-columns:1fr 1fr}#am-gpt-damage-lab .gl-crc{grid-template-columns:1fr}#am-gpt-damage-lab .gl-control{gap:7px}}\r\n\r\n#am-gpt-damage-lab .gl-hexbox{margin-top:10px;padding:9px 10px;border:1px solid #c2d1de;border-radius:6px;background:#e7eef5}#am-gpt-damage-lab .gl-hextitle{font-size:12px;font-weight:700;margin-bottom:5px}#am-gpt-damage-lab .gl-hexrows{min-width:630px;font:12px\/1.6 ui-monospace,Consolas,monospace}#am-gpt-damage-lab .gl-hexrow{display:grid;grid-template-columns:60px repeat(16,24px) minmax(150px,1fr);min-height:21px;align-items:center;white-space:pre}#am-gpt-damage-lab .gl-colheads{font-size:10px;color:#647e93}#am-gpt-damage-lab .gl-off{font-size:11px;color:#587087}#am-gpt-damage-lab .gl-byte{text-align:center;border-radius:2px}#am-gpt-damage-lab .gl-changed{background:#f8d5cc;color:#9b2c24;box-shadow:inset 0 -2px #b43e31;font-weight:800}#am-gpt-damage-lab .gl-restored{background:#d0eadd;color:#176346;font-weight:800;box-shadow:inset 0 -2px #287857}#am-gpt-damage-lab .gl-ascii{padding-left:12px;color:#678197;font-size:11px}#am-gpt-damage-lab .gl-entrytitle{font-size:11px;color:#48637a;margin:6px 0 2px}#am-gpt-damage-lab .gl-legend{font-size:10px;color:#526d82;margin-top:6px}#am-gpt-damage-lab .gl-hexscroll{overflow-x:auto;max-width:100%}#am-gpt-damage-lab .gl-hexscroll:focus-visible{outline:3px solid #b96a00;outline-offset:3px}\r\n<\/style>\r\n<div class=\"gl-title\">When can the backup GPT rebuild the primary?<\/div>\r\n<div class=\"gl-control\"><label for=\"am-gpt-scenario\">Scenario<\/label><select id=\"am-gpt-scenario\" data-scenario><option value=\"0\">S0 \u00b7 Baseline<\/option><option value=\"1\">S1 \u00b7 Header bit flip<\/option><option value=\"2\">S2 \u00b7 Primary header missing<\/option><option value=\"3\" selected>S3 \u00b7 Primary array damaged<\/option><option value=\"4\">S4 \u00b7 Both headers missing<\/option><option value=\"5\">S5 \u00b7 Blind backup copy<\/option><option value=\"6\">S6 \u00b7 Rebuilt primary<\/option><\/select><\/div>\r\n<div aria-live=\"polite\" aria-atomic=\"true\"><div class=\"gl-checks\" data-checks><div class=\"gl-check\"><span>Header CRC<\/span><strong class=\"gl-pass\">PASS<\/strong><\/div><div class=\"gl-check\"><span>Array CRC<\/span><strong class=\"gl-fail\">FAIL<\/strong><\/div><div class=\"gl-check\"><span>Location checks<\/span><strong class=\"gl-pass\">PASS<\/strong><\/div><div class=\"gl-check\"><span>Backup GPT<\/span><strong class=\"gl-pass\">VALID<\/strong><\/div><\/div><div class=\"gl-result\"><div class=\"gl-change\" data-change>First primary entry name byte at array +0x38: 4C \u2192 4D.<\/div><div class=\"gl-outcome\" data-outcome>Primary header CRC passes, but its array CRC fails; backup remains valid.<\/div><\/div><\/div>\r\n<div class=\"gl-hexbox\"><div class=\"gl-hextitle\" data-hex-title>Primary header \u00b7 92 bytes \u00b7 LBA 1<\/div><div class=\"gl-hexscroll\" tabindex=\"0\" aria-label=\"Scrollable primary header hexadecimal bytes\"><div class=\"gl-hexrows\"><div class=\"gl-hexrow gl-colheads\"><span>OFFSET<\/span><span>00<\/span><span>01<\/span><span>02<\/span><span>03<\/span><span>04<\/span><span>05<\/span><span>06<\/span><span>07<\/span><span>08<\/span><span>09<\/span><span>0A<\/span><span>0B<\/span><span>0C<\/span><span>0D<\/span><span>0E<\/span><span>0F<\/span><span class=\"gl-ascii\">ASCII<\/span><\/div><div data-hex><div class=\"gl-hexrow\"><span class=\"gl-off\">+0000<\/span><span class=\"gl-byte\" title=\"+0x00: 45\">45<\/span><span class=\"gl-byte\" title=\"+0x01: 46\">46<\/span><span class=\"gl-byte\" title=\"+0x02: 49\">49<\/span><span class=\"gl-byte\" title=\"+0x03: 20\">20<\/span><span class=\"gl-byte\" title=\"+0x04: 50\">50<\/span><span class=\"gl-byte\" title=\"+0x05: 41\">41<\/span><span class=\"gl-byte\" title=\"+0x06: 52\">52<\/span><span class=\"gl-byte\" title=\"+0x07: 54\">54<\/span><span class=\"gl-byte\" title=\"+0x08: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x09: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x0A: 01\">01<\/span><span class=\"gl-byte\" title=\"+0x0B: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x0C: 5C\">5C<\/span><span class=\"gl-byte\" title=\"+0x0D: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x0E: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x0F: 00\">00<\/span><span class=\"gl-ascii\">EFI PART....\\...<\/span><\/div><div class=\"gl-hexrow\"><span class=\"gl-off\">+0010<\/span><span class=\"gl-byte\" title=\"+0x10: B5\">B5<\/span><span class=\"gl-byte\" title=\"+0x11: AC\">AC<\/span><span class=\"gl-byte\" title=\"+0x12: 7A\">7A<\/span><span class=\"gl-byte\" title=\"+0x13: 86\">86<\/span><span class=\"gl-byte\" title=\"+0x14: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x15: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x16: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x17: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x18: 01\">01<\/span><span class=\"gl-byte\" title=\"+0x19: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x1A: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x1B: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x1C: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x1D: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x1E: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x1F: 00\">00<\/span><span class=\"gl-ascii\">..z.............<\/span><\/div><div class=\"gl-hexrow\"><span class=\"gl-off\">+0020<\/span><span class=\"gl-byte\" title=\"+0x20: FF\">FF<\/span><span class=\"gl-byte\" title=\"+0x21: FF\">FF<\/span><span class=\"gl-byte\" title=\"+0x22: 01\">01<\/span><span class=\"gl-byte\" title=\"+0x23: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x24: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x25: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x26: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x27: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x28: 22\">22<\/span><span class=\"gl-byte\" title=\"+0x29: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x2A: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x2B: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x2C: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x2D: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x2E: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x2F: 00\">00<\/span><span class=\"gl-ascii\">........&quot;.......<\/span><\/div><div class=\"gl-hexrow\"><span class=\"gl-off\">+0030<\/span><span class=\"gl-byte\" title=\"+0x30: DE\">DE<\/span><span class=\"gl-byte\" title=\"+0x31: FF\">FF<\/span><span class=\"gl-byte\" title=\"+0x32: 01\">01<\/span><span class=\"gl-byte\" title=\"+0x33: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x34: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x35: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x36: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x37: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x38: 33\">33<\/span><span class=\"gl-byte\" title=\"+0x39: 22\">22<\/span><span class=\"gl-byte\" title=\"+0x3A: 11\">11<\/span><span class=\"gl-byte\" title=\"+0x3B: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x3C: 55\">55<\/span><span class=\"gl-byte\" title=\"+0x3D: 44\">44<\/span><span class=\"gl-byte\" title=\"+0x3E: 77\">77<\/span><span class=\"gl-byte\" title=\"+0x3F: 46\">46<\/span><span class=\"gl-ascii\">........3&quot;..UDwF<\/span><\/div><div class=\"gl-hexrow\"><span class=\"gl-off\">+0040<\/span><span class=\"gl-byte\" title=\"+0x40: 88\">88<\/span><span class=\"gl-byte\" title=\"+0x41: 99\">99<\/span><span class=\"gl-byte\" title=\"+0x42: AA\">AA<\/span><span class=\"gl-byte\" title=\"+0x43: BB\">BB<\/span><span class=\"gl-byte\" title=\"+0x44: CC\">CC<\/span><span class=\"gl-byte\" title=\"+0x45: DD\">DD<\/span><span class=\"gl-byte\" title=\"+0x46: EE\">EE<\/span><span class=\"gl-byte\" title=\"+0x47: FF\">FF<\/span><span class=\"gl-byte\" title=\"+0x48: 02\">02<\/span><span class=\"gl-byte\" title=\"+0x49: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x4A: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x4B: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x4C: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x4D: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x4E: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x4F: 00\">00<\/span><span class=\"gl-ascii\">................<\/span><\/div><div class=\"gl-hexrow\"><span class=\"gl-off\">+0050<\/span><span class=\"gl-byte\" title=\"+0x50: 80\">80<\/span><span class=\"gl-byte\" title=\"+0x51: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x52: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x53: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x54: 80\">80<\/span><span class=\"gl-byte\" title=\"+0x55: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x56: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x57: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x58: C0\">C0<\/span><span class=\"gl-byte\" title=\"+0x59: E8\">E8<\/span><span class=\"gl-byte\" title=\"+0x5A: F8\">F8<\/span><span class=\"gl-byte\" title=\"+0x5B: B0\">B0<\/span><span><\/span><span><\/span><span><\/span><span><\/span><span class=\"gl-ascii\">............<\/span><\/div><\/div><\/div><\/div><div class=\"gl-entrytitle\">Primary array \u00b7 entry 0, offsets +0x30\u2013+0x3F \u00b7 LBA 2<\/div><div class=\"gl-hexscroll\" tabindex=\"0\" aria-label=\"Scrollable partition entry hexadecimal excerpt\"><div class=\"gl-hexrows\" data-entry-hex><div class=\"gl-hexrow\"><span class=\"gl-off\">+0030<\/span><span class=\"gl-byte\" title=\"+0x30: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x31: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x32: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x33: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x34: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x35: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x36: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x37: 00\">00<\/span><span class=\"gl-byte gl-changed\" title=\"+0x38: 4C \u2192 4D\">4D<\/span><span class=\"gl-byte\" title=\"+0x39: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x3A: 41\">41<\/span><span class=\"gl-byte\" title=\"+0x3B: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x3C: 42\">42<\/span><span class=\"gl-byte\" title=\"+0x3D: 00\">00<\/span><span class=\"gl-byte\" title=\"+0x3E: 2D\">2D<\/span><span class=\"gl-byte\" title=\"+0x3F: 00\">00<\/span><span class=\"gl-ascii\">........M.A.B.-.<\/span><\/div><\/div><\/div><div class=\"gl-legend\">Red = changed from baseline \u00b7 Green = restored field in S6 \u00b7 Offsets are relative to each structure.<\/div><\/div>\r\n<details><summary>CRC values and all seven scenarios<\/summary><div class=\"gl-crc\"><div>Selected header \u00b7 stored \u2192 calculated<br><code data-header>0x867AACB5 \u2192 0x867AACB5<\/code><\/div><div>Referenced array \u00b7 stored \u2192 calculated<br><code data-array>0xB0F8E8C0 \u2192 0x21E2966D<\/code><\/div><\/div><div class=\"gl-scroll\" tabindex=\"0\" aria-label=\"Scrollable GPT scenario results\"><table><thead><tr><th>Scenario<\/th><th>Header CRC<\/th><th>Array CRC<\/th><th>Location<\/th><th>Backup GPT<\/th><th>Calculated interpretation<\/th><\/tr><\/thead><tbody><tr><td>S0 \u00b7 Baseline<\/td><td>PASS<\/td><td>PASS<\/td><td>PASS<\/td><td>VALID<\/td><td>Both GPT copies validate.<\/td><\/tr><tr><td>S1 \u00b7 Header bit flip<\/td><td>FAIL<\/td><td>PASS<\/td><td>PASS<\/td><td>VALID<\/td><td>Backup header and array remain usable for reconstruction.<\/td><\/tr><tr><td>S2 \u00b7 Primary header missing<\/td><td>Unavailable<\/td><td>Unavailable<\/td><td>Unavailable<\/td><td>VALID<\/td><td>Backup header and array remain usable for reconstruction.<\/td><\/tr><tr><td>S3 \u00b7 Primary array damaged<\/td><td>PASS<\/td><td>FAIL<\/td><td>PASS<\/td><td>VALID<\/td><td>Primary header CRC passes, but its array CRC fails; backup remains valid.<\/td><\/tr><tr><td>S4 \u00b7 Both headers missing<\/td><td>Unavailable<\/td><td>Unavailable<\/td><td>Unavailable<\/td><td>Missing<\/td><td>No valid header remains; automatic header-to-header reconstruction is unsupported.<\/td><\/tr><tr><td>S5 \u00b7 Blind backup copy<\/td><td>PASS<\/td><td>PASS<\/td><td>FAIL<\/td><td>VALID<\/td><td>CRC passes, but MyLBA and primary array placement fail.<\/td><\/tr><tr><td>S6 \u00b7 Rebuilt primary<\/td><td>PASS<\/td><td>PASS<\/td><td>PASS<\/td><td>VALID<\/td><td>Primary GPT equals the baseline; both copies validate.<\/td><\/tr><\/tbody><\/table><\/div><p class=\"gl-note\">Header CRC: 92 bytes with +0x10\u2013+0x13 zeroed. Array CRC: 128 \u00d7 128 = 16,384 bytes. Location checks validate MyLBA and primary-array placement. Missing headers make these checks unavailable.<\/p><\/details>\r\n<p class=\"gl-note\">Generated 64 MiB sample \u00b7 512-byte blocks \u00b7 header and entry bytes switch with the scenario; checks are precomputed.<\/p>\r\n<noscript><p class=\"gl-note\">JavaScript is disabled. The selected S3 example and complete scenario table remain readable.<\/p><\/noscript>\r\n<script>\r\n(()=>{'use strict';const root=document.getElementById('am-gpt-damage-lab');if(!root||root.dataset.ready)return;root.dataset.ready='1';const states=[{\"id\":\"S0\",\"label\":\"Baseline\",\"change\":\"No mutation.\",\"outcome\":\"Both GPT copies validate.\",\"checks\":[\"PASS\",\"PASS\",\"PASS\",\"VALID\"],\"headerStored\":\"0x867AACB5\",\"headerCalculated\":\"0x867AACB5\",\"arrayStored\":\"0xB0F8E8C0\",\"arrayCalculated\":\"0xB0F8E8C0\",\"headerHex\":\"4546492050415254000001005C000000B5AC7A86000000000100000000000000FFFF0100000000002200000000000000DEFF01000000000033221100554477468899AABBCCDDEEFF02000000000000008000000080000000C0E8F8B0\",\"entryRowHex\":\"00000000000000004C00410042002D00\"},{\"id\":\"S1\",\"label\":\"Header bit flip\",\"change\":\"Primary header +0x38: 33 \\u2192 32; stored CRC unchanged.\",\"outcome\":\"Backup header and array remain usable for reconstruction.\",\"checks\":[\"FAIL\",\"PASS\",\"PASS\",\"VALID\"],\"headerStored\":\"0x867AACB5\",\"headerCalculated\":\"0x130A7820\",\"arrayStored\":\"0xB0F8E8C0\",\"arrayCalculated\":\"0xB0F8E8C0\",\"headerHex\":\"4546492050415254000001005C000000B5AC7A86000000000100000000000000FFFF0100000000002200000000000000DEFF01000000000032221100554477468899AABBCCDDEEFF02000000000000008000000080000000C0E8F8B0\",\"entryRowHex\":\"00000000000000004C00410042002D00\"},{\"id\":\"S2\",\"label\":\"Primary header missing\",\"change\":\"Primary logical block at LBA 1 set to zero.\",\"outcome\":\"Backup header and array remain usable for reconstruction.\",\"checks\":[\"Unavailable\",\"Unavailable\",\"Unavailable\",\"VALID\"],\"headerStored\":\"Unavailable\",\"headerCalculated\":\"Unavailable\",\"arrayStored\":\"Unavailable\",\"arrayCalculated\":\"Unavailable\",\"headerHex\":\"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\"entryRowHex\":\"00000000000000004C00410042002D00\"},{\"id\":\"S3\",\"label\":\"Primary array damaged\",\"change\":\"First primary entry name byte at array +0x38: 4C \\u2192 4D.\",\"outcome\":\"Primary header CRC passes, but its array CRC fails; backup remains valid.\",\"checks\":[\"PASS\",\"FAIL\",\"PASS\",\"VALID\"],\"headerStored\":\"0x867AACB5\",\"headerCalculated\":\"0x867AACB5\",\"arrayStored\":\"0xB0F8E8C0\",\"arrayCalculated\":\"0x21E2966D\",\"headerHex\":\"4546492050415254000001005C000000B5AC7A86000000000100000000000000FFFF0100000000002200000000000000DEFF01000000000033221100554477468899AABBCCDDEEFF02000000000000008000000080000000C0E8F8B0\",\"entryRowHex\":\"00000000000000004D00410042002D00\"},{\"id\":\"S4\",\"label\":\"Both headers missing\",\"change\":\"Header blocks at LBA 1 and LBA 131071 set to zero; both arrays retained.\",\"outcome\":\"No valid header remains; automatic header-to-header reconstruction is unsupported.\",\"checks\":[\"Unavailable\",\"Unavailable\",\"Unavailable\",\"Missing\"],\"headerStored\":\"Unavailable\",\"headerCalculated\":\"Unavailable\",\"arrayStored\":\"Unavailable\",\"arrayCalculated\":\"Unavailable\",\"headerHex\":\"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\"entryRowHex\":\"00000000000000004C00410042002D00\"},{\"id\":\"S5\",\"label\":\"Blind backup copy\",\"change\":\"Copy backup header block verbatim to LBA 1.\",\"outcome\":\"CRC passes, but MyLBA and primary array placement fail.\",\"checks\":[\"PASS\",\"PASS\",\"FAIL\",\"VALID\"],\"headerStored\":\"0x08766070\",\"headerCalculated\":\"0x08766070\",\"arrayStored\":\"0xB0F8E8C0\",\"arrayCalculated\":\"0xB0F8E8C0\",\"headerHex\":\"4546492050415254000001005C0000007060760800000000FFFF01000000000001000000000000002200000000000000DEFF01000000000033221100554477468899AABBCCDDEEFFDFFF0100000000008000000080000000C0E8F8B0\",\"entryRowHex\":\"00000000000000004C00410042002D00\"},{\"id\":\"S6\",\"label\":\"Rebuilt primary\",\"change\":\"From S3, copy backup array to LBA 2; adapt backup header locations and recompute CRC.\",\"outcome\":\"Primary GPT equals the baseline; both copies validate.\",\"checks\":[\"PASS\",\"PASS\",\"PASS\",\"VALID\"],\"headerStored\":\"0x867AACB5\",\"headerCalculated\":\"0x867AACB5\",\"arrayStored\":\"0xB0F8E8C0\",\"arrayCalculated\":\"0xB0F8E8C0\",\"headerHex\":\"4546492050415254000001005C000000B5AC7A86000000000100000000000000FFFF0100000000002200000000000000DEFF01000000000033221100554477468899AABBCCDDEEFF02000000000000008000000080000000C0E8F8B0\",\"entryRowHex\":\"00000000000000004C00410042002D00\"}],labels=['Header CRC','Array CRC','Location checks','Backup GPT'];const q=s=>root.querySelector(s);\r\n\r\nconst baselineHex=\"4546492050415254000001005C000000B5AC7A86000000000100000000000000FFFF0100000000002200000000000000DEFF01000000000033221100554477468899AABBCCDDEEFF02000000000000008000000080000000C0E8F8B0\",baselineEntryHex=\"00000000000000004C00410042002D00\";\r\nfunction hexView(source,baseline,start,restored){const a=source.match(\/.{2}\/g),b=baseline.match(\/.{2}\/g);let out='';for(let o=0;o<a.length;o+=16){const row=a.slice(o,o+16);out+='<div class=\"gl-hexrow\"><span class=\"gl-off\">+'+(o+start).toString(16).toUpperCase().padStart(4,'0')+'<\/span>';for(let i=0;i<16;i++){if(i>=row.length){out+='<span><\/span>';continue;}const j=o+i,diff=a[j]!==b[j],recover=restored&&((start===0&&j>=16&&j<20)||(start===48&&j===8));out+='<span class=\"gl-byte'+(diff?' gl-changed':recover?' gl-restored':'')+'\" title=\"+0x'+(j+start).toString(16).toUpperCase()+': '+(diff?b[j]+' \u2192 ':'')+a[j]+'\">'+a[j]+'<\/span>';}out+='<span class=\"gl-ascii\">'+row.map(v=>{const b=parseInt(v,16);return b>=32&&b<=126?String.fromCharCode(b).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;'):'.';}).join('')+'<\/span><\/div>';}return out;}\r\nfunction render(){const i=Number(q('[data-scenario]').value);if(!Number.isInteger(i)||!states[i])return;const s=states[i];q('[data-checks]').innerHTML=s.checks.map((v,n)=>'<div class=\"gl-check\"><span>'+labels[n]+'<\/span><strong class=\"'+(v==='FAIL'?'gl-fail':v==='PASS'||v==='VALID'?'gl-pass':'gl-muted')+'\">'+v+'<\/strong><\/div>').join('');q('[data-change]').textContent=s.change;q('[data-outcome]').textContent=s.outcome;q('[data-header]').textContent=s.headerStored+' \u2192 '+s.headerCalculated;q('[data-array]').textContent=s.arrayStored+' \u2192 '+s.arrayCalculated;q('[data-hex]').innerHTML=hexView(s.headerHex,baselineHex,0,s.id==='S6');q('[data-entry-hex]').innerHTML=hexView(s.entryRowHex,baselineEntryHex,48,s.id==='S6');q('[data-hex-title]').textContent=(s.id==='S2'||s.id==='S4')?'Primary block \u00b7 first 92 bytes \u00b7 header missing':'Primary header \u00b7 92 bytes \u00b7 LBA 1';root.dataset.scenario=s.id;}\r\nq('[data-scenario]').addEventListener('change',render);render();\r\n})();\r\n<\/script>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-tmoo64i elementor-widget elementor-widget-heading\" data-id=\"tmoo64i\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Why the Results Follow from the Mechanism<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cph7ash elementor-widget elementor-widget-text-editor\" data-id=\"cph7ash\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/uefi.org\/specs\/UEFI\/2.11\/05_GUID_Partition_Table_Format.html#gpt-header\" rel=\"nofollow\">UEFI 2.11, Section 5.3.2<\/a> defines separate header and entry-array checks. The header CRC covers <code class=\"dtec-inline-code\">HeaderSize<\/code> bytes with <code class=\"dtec-inline-code\">HeaderCRC32<\/code> temporarily zeroed. The array CRC covers <code class=\"dtec-inline-code\">NumberOfPartitionEntries \u00d7 SizeOfPartitionEntry<\/code> bytes. Location checks add information that neither checksum supplies.<\/p>\n<p>In this sample, S1 changes a header-CRC input. S3 changes an array-CRC input. S5 preserves the header-CRC input but violates the primary location requirements. These controlled differences explain the three distinct validation outcomes shown in the explorer.<\/p>\n<p>The sample also explains why the primary and backup header checksums differ at baseline: their location-dependent fields differ. Identical arrays can share a checksum while their associated headers do not.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-p7r02ax elementor-widget elementor-widget-heading\" data-id=\"p7r02ax\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Practical Interpretation and Limitations<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-mglrndu elementor-widget elementor-widget-text-editor\" data-id=\"mglrndu\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>On a real disk, first preserve the source and identify the correct device by model or serial number, capacity, and logical block size. Perform any proposed metadata writes on a disposable working copy. A USB bridge, a resized image, or a truncated acquisition can change the address context; do not substitute this sample&#8217;s last LBA for the actual device boundary.<\/p>\n<p>Next, establish whether a surviving backup describes the intended current layout. A correct CRC detects certain byte changes; it does not prove freshness or authenticity. UEFI specifically warns about stale backup GPT metadata after a disk has been reformatted for legacy MBR use. Conflicting copies require investigation before either is accepted as authoritative.<\/p>\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows-hardware\/manufacture\/desktop\/windows-and-gpt-faq?view=windows-11\" rel=\"nofollow\">Microsoft&#8217;s Windows and GPT FAQ<\/a> provides background on GPT redundancy and CRC protection. Recovery behavior depends on the operating system, the tool, and platform policy. Confirm which GPT copy a tool accepts and which metadata ranges it proposes to change before approving a repair.<\/p>\n<p>After metadata reconstruction, confirm the expected partition boundaries, inspect the file system without modifying the source, and verify representative files against known copies where available. For a system disk, follow this with a boot check on the intended target. These checks establish file accessibility and startup readiness after the partition map has been validated.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-du3svxj elementor-widget elementor-widget-heading\" data-id=\"du3svxj\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">When File Recovery Comes Before GPT Repair<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-zimn9zj elementor-widget elementor-widget-text-editor\" data-id=\"zimn9zj\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>When a partition disappears or its volume becomes inaccessible, securing important files may take priority over writing changes to the GPT. <a href=\"https:\/\/www.amagicsoft.com\/data-recovery\/partition-recovery\">Magic Data Recovery&#8217;s lost-partition workflow<\/a> can scan for recoverable files, preview supported file types, and save selected data to another drive. After recovering the files you need, assess the partition layout and plan any metadata repair on a working copy. Keep file recovery and GPT reconstruction as separate tasks, with separate checks for recovered files and partition-table integrity.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ex9udk elementor-widget elementor-widget-heading\" data-id=\"2ex9udk\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Conclusion<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ijpebko elementor-widget elementor-widget-text-editor\" data-id=\"ijpebko\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><div><p class=\"otl-paragraph\">This <strong>GPT header damage recovery test<\/strong> demonstrates how a valid backup can support reconstruction after primary-header corruption or loss. In the tested sample, restoring the entry array and adapting the header\u2019s location fields returned the primary GPT to its baseline bytes. The decisive condition is that the surviving backup header and its associated array both validate and describe the intended partition layout.<\/p><p class=\"otl-paragraph\">The comparisons also show why a passing header CRC32 is insufficient: entry-array damage can leave the header checksum unchanged, while an unmodified backup header can retain a valid checksum at the wrong location. Reliable GPT recovery therefore requires agreement between header checksums, array checksums, and location fields. After reconstruction, verify partition boundaries, file-system access, and important files separately; system disks also need a boot check. A restored partition map establishes metadata consistency, while these additional checks determine whether the disk is usable again.<\/p><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dezcryy elementor-widget elementor-widget-heading\" data-id=\"dezcryy\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">FAQ About GPT Header Damage and Recovery<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ddzjat faq-no-toc dtec-faq elementor-widget elementor-widget-elementskit-faq\" data-id=\"7ddzjat\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementskit-faq.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"ekit-wid-con\" >\n                <div class=\"elementskit-single-faq elementor-repeater-item-1ltj48j\">\n            <div class=\"elementskit-faq-header\">\n                <h3 class=\"elementskit-faq-title\">How do I check whether a GPT header is damaged?<\/h3>\n            <\/div>\n            <div class=\"elementskit-faq-body\">\n                Use a read-only partition-table inspection to check the signature, header size, header CRC, location fields, and associated entry-array CRC. Confirm the device's logical block size before interpreting offsets. A Hex comparison can expose changed bytes, but primary and backup headers legitimately have different location fields and checksums.            <\/div>\n        <\/div>\n                <div class=\"elementskit-single-faq elementor-repeater-item-bm62ono\">\n            <div class=\"elementskit-faq-header\">\n                <h3 class=\"elementskit-faq-title\">Can a corrupted GPT header be repaired from the backup?<\/h3>\n            <\/div>\n            <div class=\"elementskit-faq-body\">\n                Yes, when the backup header and its entry array validate and describe the intended current partition layout. Reconstruction must adapt the location-dependent fields and calculate the appropriate header checksum. Simply copying the backup header unchanged to the primary location is insufficient because its addresses still describe the backup side.            <\/div>\n        <\/div>\n                <div class=\"elementskit-single-faq elementor-repeater-item-pt6v77d\">\n            <div class=\"elementskit-faq-header\">\n                <h3 class=\"elementskit-faq-title\">Does the backup GPT preserve partitions that were deleted?<\/h3>\n            <\/div>\n            <div class=\"elementskit-faq-body\">\n                The backup GPT is a redundant copy of partition metadata, not a history of earlier layouts. Proper partition updates also update the backup. Therefore, it may no longer contain a deleted partition's entry. If the two copies disagree, establish which layout is correct before using either for reconstruction.            <\/div>\n        <\/div>\n                <div class=\"elementskit-single-faq elementor-repeater-item-sur72up\">\n            <div class=\"elementskit-faq-header\">\n                <h3 class=\"elementskit-faq-title\">Can GPT header recovery restore files without data loss?<\/h3>\n            <\/div>\n            <div class=\"elementskit-faq-body\">\n                Repairing partition metadata can restore access when the correct partition boundaries, file system, and file contents remain intact. It does not reverse overwritten data, decrypt an encrypted volume, or automatically repair a damaged file system. Preserve the source and evaluate a working copy before making changes; successful metadata repair does not guarantee complete file recovery.            <\/div>\n        <\/div>\n                <div class=\"elementskit-single-faq elementor-repeater-item-09n72r3\">\n            <div class=\"elementskit-faq-header\">\n                <h3 class=\"elementskit-faq-title\">What if both the primary and backup GPT headers are damaged?<\/h3>\n            <\/div>\n            <div class=\"elementskit-faq-body\">\n                Neither copy can serve as a validated header source until its integrity is established. Surviving entry arrays or file-system structures may help reconstruct partition boundaries, but they require additional checks. Both headers failing does not prove that all file contents are lost. Avoid writing guessed boundaries onto the original device.            <\/div>\n        <\/div>\n                <div class=\"elementskit-single-faq elementor-repeater-item-5ycl1mi\">\n            <div class=\"elementskit-faq-header\">\n                <h3 class=\"elementskit-faq-title\">How can I test GPT header recovery safely?<\/h3>\n            <\/div>\n            <div class=\"elementskit-faq-body\">\n                Use a disposable test device or working copy with a recorded baseline. Confirm its identity, capacity, and logical block size before changing a precisely defined metadata range. Compare the reconstructed partition map with the baseline, then assess file-system access and boot behavior separately. Do not introduce deliberate corruption into a drive containing needed data.            <\/div>\n        <\/div>\n                <div class=\"elementskit-single-faq elementor-repeater-item-purttt1\">\n            <div class=\"elementskit-faq-header\">\n                <h3 class=\"elementskit-faq-title\">Will repairing a GPT header fix a Windows boot failure?<\/h3>\n            <\/div>\n            <div class=\"elementskit-faq-body\">\n                It may help if the damaged partition map caused the failure, but other boot requirements must also hold. Microsoft's UEFI\/GPT partition requirements explain the EFI System Partition's role. Correct GPT metadata alone does not establish that the required partitions and boot files are usable; successful startup needs separate verification.            <\/div>\n        <\/div>\n                                <script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"How do I check whether a GPT header is damaged?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use a read-only partition-table inspection to check the signature, header size, header CRC, location fields, and associated entry-array CRC. Confirm the device's logical block size before interpreting offsets. A Hex comparison can expose changed bytes, but primary and backup headers legitimately have different location fields and checksums.\"}},{\"@type\":\"Question\",\"name\":\"Can a corrupted GPT header be repaired from the backup?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, when the backup header and its entry array validate and describe the intended current partition layout. Reconstruction must adapt the location-dependent fields and calculate the appropriate header checksum. Simply copying the backup header unchanged to the primary location is insufficient because its addresses still describe the backup side.\"}},{\"@type\":\"Question\",\"name\":\"Does the backup GPT preserve partitions that were deleted?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The backup GPT is a redundant copy of partition metadata, not a history of earlier layouts. Proper partition updates also update the backup. Therefore, it may no longer contain a deleted partition's entry. If the two copies disagree, establish which layout is correct before using either for reconstruction.\"}},{\"@type\":\"Question\",\"name\":\"Can GPT header recovery restore files without data loss?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Repairing partition metadata can restore access when the correct partition boundaries, file system, and file contents remain intact. It does not reverse overwritten data, decrypt an encrypted volume, or automatically repair a damaged file system. Preserve the source and evaluate a working copy before making changes; successful metadata repair does not guarantee complete file recovery.\"}},{\"@type\":\"Question\",\"name\":\"What if both the primary and backup GPT headers are damaged?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Neither copy can serve as a validated header source until its integrity is established. Surviving entry arrays or file-system structures may help reconstruct partition boundaries, but they require additional checks. Both headers failing does not prove that all file contents are lost. Avoid writing guessed boundaries onto the original device.\"}},{\"@type\":\"Question\",\"name\":\"How can I test GPT header recovery safely?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use a disposable test device or working copy with a recorded baseline. Confirm its identity, capacity, and logical block size before changing a precisely defined metadata range. Compare the reconstructed partition map with the baseline, then assess file-system access and boot behavior separately. Do not introduce deliberate corruption into a drive containing needed data.\"}},{\"@type\":\"Question\",\"name\":\"Will repairing a GPT header fix a Windows boot failure?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It may help if the damaged partition map caused the failure, but other boot requirements must also hold. Microsoft's UEFI\/GPT partition requirements explain the EFI System Partition's role. Correct GPT metadata alone does not establish that the required partitions and boot files are usable; successful startup needs separate verification.\"}}]}<\/script>\n                \n    <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>A GPT header damage recovery test asks whether a surviving backup can reconstruct damaged partition metadata. In the generated sample below, it can\u2014provided the backup header and its entry array validate and describe the intended layout. However, a matching header CRC alone does not establish that the partition table is usable. This experiment calculates seven metadata states, including two counterexamples that pass the header checksum. It then rebuilds the primary GPT from the backup and checks the result against the baseline. Table of Contents Research Question and Scope The question is specific: after a defined change near the beginning of a GPT disk, does the surviving metadata support reconstruction of [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":58055,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[843],"tags":[841],"class_list":["post-58054","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lab","tag-knowledge-base"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.0 (Yoast SEO v27.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>GPT Header Damage Recovery Test | Amagicsoft<\/title>\n<meta name=\"description\" content=\"Explore a GPT header damage recovery test with before-and-after hex comparisons, CRC32 checks, and recovery from a valid backup GPT header.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.amagicsoft.com\/jp\/kb\/lab\/gpt-header-damage-recovery-test.html\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GPT Header Damage Recovery Test\" \/>\n<meta property=\"og:description\" content=\"Explore a GPT header damage recovery test with before-and-after hex comparisons, CRC32 checks, and recovery from a valid backup GPT header.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.amagicsoft.com\/jp\/kb\/lab\/gpt-header-damage-recovery-test.html\" \/>\n<meta property=\"og:site_name\" content=\"Amagicsoft\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/amagicsoft.2024\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-02T09:27:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-damage-recovery-test-cover.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1350\" \/>\n\t<meta property=\"og:image:height\" content=\"760\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Vasilii\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Amagicsoft\" \/>\n<meta name=\"twitter:site\" content=\"@Amagicsoft\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vasilii\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html\"},\"author\":{\"name\":\"Vasilii\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#\\\/schema\\\/person\\\/5cc725a7bfa9bc0e962db26a19dfb8c2\"},\"headline\":\"GPT Header Damage Recovery Test\",\"datePublished\":\"2026-11-02T09:27:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html\"},\"wordCount\":2431,\"publisher\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.amagicsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/gpt-header-damage-recovery-test-cover.webp\",\"keywords\":[\"Knowledge Base\"],\"articleSection\":[\"Recovery Lab\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html\",\"url\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html\",\"name\":\"GPT Header Damage Recovery Test | Amagicsoft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.amagicsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/gpt-header-damage-recovery-test-cover.webp\",\"datePublished\":\"2026-11-02T09:27:31+00:00\",\"description\":\"Explore a GPT header damage recovery test with before-and-after hex comparisons, CRC32 checks, and recovery from a valid backup GPT header.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html#primaryimage\",\"url\":\"https:\\\/\\\/www.amagicsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/gpt-header-damage-recovery-test-cover.webp\",\"contentUrl\":\"https:\\\/\\\/www.amagicsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/gpt-header-damage-recovery-test-cover.webp\",\"width\":1350,\"height\":760,\"caption\":\"gpt-header-damage-recovery-test\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/kb\\\/lab\\\/gpt-header-damage-recovery-test.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.amagicsoft.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GPT Header Damage Recovery Test\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#website\",\"url\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/\",\"name\":\"Amagicsoft\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#organization\",\"name\":\"Amagicsoft\",\"url\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.amagicsoft.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/cropped-logo_512x512-1.webp\",\"contentUrl\":\"https:\\\/\\\/www.amagicsoft.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/cropped-logo_512x512-1.webp\",\"width\":512,\"height\":512,\"caption\":\"Amagicsoft\"},\"image\":{\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/amagicsoft.2024\\\/\",\"https:\\\/\\\/x.com\\\/Amagicsoft\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.amagicsoft.com\\\/zh\\\/#\\\/schema\\\/person\\\/5cc725a7bfa9bc0e962db26a19dfb8c2\",\"name\":\"Vasilii\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12fbd3cf5c3fd435565e0ee05fea6fb3ae89413aafdccfb30c0c821c69a44d12?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12fbd3cf5c3fd435565e0ee05fea6fb3ae89413aafdccfb30c0c821c69a44d12?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12fbd3cf5c3fd435565e0ee05fea6fb3ae89413aafdccfb30c0c821c69a44d12?s=96&d=mm&r=g\",\"caption\":\"Vasilii\"},\"description\":\"Vasilii is a data recovery specialist with around 10 years of hands-on experience in the field. Throughout his career, he has successfully solved thousands of complex cases involving deleted files, formatted drives, lost partitions, and RAW file systems. His expertise covers both manual recovery methods using professional tools like hex editors and advanced automated solutions with recovery software. Vasilii's mission is to make reliable data recovery knowledge accessible to both IT professionals and everyday users, helping them safeguard their valuable digital assets.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/vasilii-zaitsev-65894b376\\\/\"],\"url\":\"https:\\\/\\\/www.amagicsoft.com\\\/jp\\\/author\\\/vasilii\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"GPT\u30d8\u30c3\u30c0\u30fc\u640d\u50b7\u5fa9\u65e7\u30c6\u30b9\u30c8 | Amagicsoft","description":"GPT\u30d8\u30c3\u30c0\u30fc\u306e\u7834\u640d\u5fa9\u65e7\u30c6\u30b9\u30c8\u306b\u3064\u3044\u3066\u3001\u7834\u640d\u524d\u5f8c\u306e16\u9032\u6570\u6bd4\u8f03\u3001CRC32\u30c1\u30a7\u30c3\u30af\u3001\u304a\u3088\u3073\u6709\u52b9\u306a\u30d0\u30c3\u30af\u30a2\u30c3\u30d7GPT\u30d8\u30c3\u30c0\u30fc\u304b\u3089\u306e\u5fa9\u65e7\u624b\u9806\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.amagicsoft.com\/jp\/kb\/lab\/gpt-header-damage-recovery-test.html","og_locale":"ja_JP","og_type":"article","og_title":"GPT Header Damage Recovery Test","og_description":"Explore a GPT header damage recovery test with before-and-after hex comparisons, CRC32 checks, and recovery from a valid backup GPT header.","og_url":"https:\/\/www.amagicsoft.com\/jp\/kb\/lab\/gpt-header-damage-recovery-test.html","og_site_name":"Amagicsoft","article_publisher":"https:\/\/www.facebook.com\/amagicsoft.2024\/","article_published_time":"2026-11-02T09:27:31+00:00","og_image":[{"width":1350,"height":760,"url":"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-damage-recovery-test-cover.webp","type":"image\/webp"}],"author":"Vasilii","twitter_card":"summary_large_image","twitter_creator":"@Amagicsoft","twitter_site":"@Amagicsoft","twitter_misc":{"\u57f7\u7b46\u8005":"Vasilii","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"12\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html#article","isPartOf":{"@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html"},"author":{"name":"Vasilii","@id":"https:\/\/www.amagicsoft.com\/zh\/#\/schema\/person\/5cc725a7bfa9bc0e962db26a19dfb8c2"},"headline":"GPT Header Damage Recovery Test","datePublished":"2026-11-02T09:27:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html"},"wordCount":2431,"publisher":{"@id":"https:\/\/www.amagicsoft.com\/zh\/#organization"},"image":{"@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html#primaryimage"},"thumbnailUrl":"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-damage-recovery-test-cover.webp","keywords":["Knowledge Base"],"articleSection":["Recovery Lab"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html","url":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html","name":"GPT\u30d8\u30c3\u30c0\u30fc\u640d\u50b7\u5fa9\u65e7\u30c6\u30b9\u30c8 | Amagicsoft","isPartOf":{"@id":"https:\/\/www.amagicsoft.com\/zh\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html#primaryimage"},"image":{"@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html#primaryimage"},"thumbnailUrl":"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-damage-recovery-test-cover.webp","datePublished":"2026-11-02T09:27:31+00:00","description":"GPT\u30d8\u30c3\u30c0\u30fc\u306e\u7834\u640d\u5fa9\u65e7\u30c6\u30b9\u30c8\u306b\u3064\u3044\u3066\u3001\u7834\u640d\u524d\u5f8c\u306e16\u9032\u6570\u6bd4\u8f03\u3001CRC32\u30c1\u30a7\u30c3\u30af\u3001\u304a\u3088\u3073\u6709\u52b9\u306a\u30d0\u30c3\u30af\u30a2\u30c3\u30d7GPT\u30d8\u30c3\u30c0\u30fc\u304b\u3089\u306e\u5fa9\u65e7\u624b\u9806\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002.","breadcrumb":{"@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html#primaryimage","url":"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-damage-recovery-test-cover.webp","contentUrl":"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2026\/11\/gpt-header-damage-recovery-test-cover.webp","width":1350,"height":760,"caption":"gpt-header-damage-recovery-test"},{"@type":"BreadcrumbList","@id":"https:\/\/www.amagicsoft.com\/kb\/lab\/gpt-header-damage-recovery-test.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.amagicsoft.com\/"},{"@type":"ListItem","position":2,"name":"GPT Header Damage Recovery Test"}]},{"@type":"WebSite","@id":"https:\/\/www.amagicsoft.com\/zh\/#website","url":"https:\/\/www.amagicsoft.com\/zh\/","name":"\u30a2\u30de\u30b8\u30c3\u30af\u30bd\u30d5\u30c8","description":"","publisher":{"@id":"https:\/\/www.amagicsoft.com\/zh\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.amagicsoft.com\/zh\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/www.amagicsoft.com\/zh\/#organization","name":"\u30a2\u30de\u30b8\u30c3\u30af\u30bd\u30d5\u30c8","url":"https:\/\/www.amagicsoft.com\/zh\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.amagicsoft.com\/zh\/#\/schema\/logo\/image\/","url":"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2025\/04\/cropped-logo_512x512-1.webp","contentUrl":"https:\/\/www.amagicsoft.com\/wp-content\/uploads\/2025\/04\/cropped-logo_512x512-1.webp","width":512,"height":512,"caption":"Amagicsoft"},"image":{"@id":"https:\/\/www.amagicsoft.com\/zh\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/amagicsoft.2024\/","https:\/\/x.com\/Amagicsoft"]},{"@type":"Person","@id":"https:\/\/www.amagicsoft.com\/zh\/#\/schema\/person\/5cc725a7bfa9bc0e962db26a19dfb8c2","name":"Vasilii","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/12fbd3cf5c3fd435565e0ee05fea6fb3ae89413aafdccfb30c0c821c69a44d12?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/12fbd3cf5c3fd435565e0ee05fea6fb3ae89413aafdccfb30c0c821c69a44d12?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/12fbd3cf5c3fd435565e0ee05fea6fb3ae89413aafdccfb30c0c821c69a44d12?s=96&d=mm&r=g","caption":"Vasilii"},"description":"\u30d0\u30b7\u30ea\u30a4\u306f\u3001\u3053\u306e\u5206\u91ce\u3067\u7d0410\u5e74\u306e\u5b9f\u52d9\u7d4c\u9a13\u3092\u6301\u3064\u30c7\u30fc\u30bf\u5fa9\u5143\u306e\u30b9\u30da\u30b7\u30e3\u30ea\u30b9\u30c8\u3067\u3059\u3002\u305d\u306e\u30ad\u30e3\u30ea\u30a2\u3092\u901a\u3058\u3066\u3001\u5f7c\u306f\u524a\u9664\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3001\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u30c9\u30e9\u30a4\u30d6\u3001\u5931\u308f\u308c\u305f\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u3001RAW\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u542b\u3080\u4f55\u5343\u3082\u306e\u8907\u96d1\u306a\u30b1\u30fc\u30b9\u306e\u89e3\u6c7a\u306b\u6210\u529f\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u5f7c\u306e\u5c02\u9580\u77e5\u8b58\u306f\u300116\u9032\u30a8\u30c7\u30a3\u30bf\u306a\u3069\u306e\u5c02\u9580\u30c4\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u305f\u624b\u52d5\u5fa9\u5143\u65b9\u6cd5\u3068\u3001\u5fa9\u5143\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u4f7f\u7528\u3057\u305f\u9ad8\u5ea6\u306a\u81ea\u52d5\u5316\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4e21\u65b9\u3092\u30ab\u30d0\u30fc\u3057\u3066\u3044\u307e\u3059\u3002\u30d0\u30b7\u30ea\u306e\u4f7f\u547d\u306f\u3001\u4fe1\u983c\u3067\u304d\u308b\u30c7\u30fc\u30bf\u5fa9\u5143\u77e5\u8b58\u3092IT\u30d7\u30ed\u30d5\u30a7\u30c3\u30b7\u30e7\u30ca\u30eb\u3068\u4e00\u822c\u30e6\u30fc\u30b6\u30fc\u306e\u53cc\u65b9\u304c\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3001\u8cb4\u91cd\u306a\u30c7\u30b8\u30bf\u30eb\u8cc7\u7523\u3092\u4fdd\u8b77\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u3067\u3059\u3002.","sameAs":["https:\/\/www.linkedin.com\/in\/vasilii-zaitsev-65894b376\/"],"url":"https:\/\/www.amagicsoft.com\/jp\/author\/vasilii"}]}},"_links":{"self":[{"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/posts\/58054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/comments?post=58054"}],"version-history":[{"count":3,"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/posts\/58054\/revisions"}],"predecessor-version":[{"id":58064,"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/posts\/58054\/revisions\/58064"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/media\/58055"}],"wp:attachment":[{"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/media?parent=58054"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/categories?post=58054"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.amagicsoft.com\/jp\/wp-json\/wp\/v2\/tags?post=58054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}