# GPT error: unable to read backup GPT header.



## mis (Nov 28, 2013)

Ok, fresh install using 9.2 Disk1 over a network install.

First thing done, select vt100, then exit to shell. Then:


```
dd if=/dev/zero of=/dev/ada0 bs=512
recoverdisk /dev/ada0
```
[No errors reported]

Exit the shell, select install, set the hostname and select defaults until complete.
Select IPv4 only DHCP.
Set TZ to Malta (Europe).
Set network services to default+ntp.
Exit on completion.
Exit to the shell.
Edit (using vi) /boot/loader.conf.
Add:

```
# Give preference to VGA console
#console="vidconsole,comconsole"
# Uncomment below and comment above to give serial console preference
console="comconsole"
comconsole_speed="115200"
comconsole_port="0x3F8"
boot_multicons="YES"
boot_serial="YES"

hint.acpi.0.disabled=1
hint.apic.0.disabled=1
hint.kbdmux.0.disabled=1
hw.eisa_slots=0

#hint.uart.0.flags="0x00"
hint.uart.0.at="isa"
hint.uart.0.port="0x3F8"
hint.uart.0.flags="0x10"
hint.uart.0.irq="4"

hint.uart.1.flags="0x00"
hint.uart.1.at="isa"
hint.uart.1.port="0x2F8"
hint.uart.1.irq="3"
```

Save/quit.
Edit (using vi) /etc/ttys. Enable the console getty by setting:

```
console "/usr/libexec/getty Pc"         vt100   on secure
```

Save/quit.
Select reboot.
Then I get this:


```
Attempting Boot From Hard Drive (C:)
gptboot: error 1 lba 312581807
gptboot: unable to read backup GPT header
/boot/kernel/kernel text=0xdae9e3 data=0xf3c94+0xbb770 syms=[0x4+0xed6a0+0x4+0x1b8bd4]
Copyright (c) 1992-2013 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.2-RELEASE #0 r255898: Fri Sep 27 03:52:52 UTC 2013
    root@bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC i386
gcc version 4.2.1 20070831 patched [FreeBSD]
CPU: Intel(R) Pentium(R) M processor 1000MHz (999.91-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x695  Family = 0x6  Model = 0x9  Stepping = 5
  Features=0xa7e9fbbf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,TM,PBE>
  Features2=0x180<EST,TM2>
real memory  = 1073741824 (1024 MB)
avail memory = 1028059136 (980 MB)
module_register_init: MOD_LOAD (kbdmux, 0xc077c0f0, 0) error 6
pcib0 pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pci0: <base peripheral> at device 1.0 (no driver attached)
vgapci0: <VGA-compatible display> port 0x2400-0x24ff mem 0xf6000000-0xf6ffffff,0xf5ff0000-0xf5ff0fff at device 2.0 on pci0
fxp0: <Intel 82559 Pro/100 Ethernet> port 0x2800-0x283f mem 0xf5fe0000-0xf5fe0fff,0xf5e00000-0xf5efffff irq 7 at device 3.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> PHY 1 on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
fxp0: Ethernet address: 00:0b:cd:fd:ba:5f
fxp1: <Intel 82559 Pro/100 Ethernet> port 0x2840-0x287f mem 0xf5df0000-0xf5df0fff,0xf5c00000-0xf5cfffff irq 10 at device 4.0 on pci0
miibus1: <MII bus> on fxp1
inphy1: <i82555 10/100 media interface> PHY 1 on miibus1
inphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
fxp1: Ethernet address: 00:0b:cd:fd:ba:70
isab0: <PCI-ISA bridge> at device 15.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <ServerWorks CSB6 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x2000-0x200f at device 15.1 on pci0
ata0: <ATA channel> at channel 0 on atapci0
ata1: <ATA channel> at channel 1 on atapci0
ohci0: <OHCI (generic) USB controller> mem 0xf5bf0000-0xf5bf0fff irq 11 at device 15.2 on pci0
usbus0 on ohci0
pcib128 pcibus 128 on motherboard
pci128: <PCI bus> on pcib128
cpu0 on motherboard
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc97ff,0xe0000-0xe7fff pnpid ORM0000 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> at port 0x40 on isa0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
ppc0: parallel port not found.
uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
uart0: console (115200,n,8,1)
uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0
Timecounters tick every 1.000 msec
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <0x1166> at usbus0
uhub0: <0x1166 OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
uhub0: 4 ports with 4 removable, self powered
ada0 at ata0 bus 0 scbus0 target 0 lun 0
ada0: <WDC WD1600BEVE-00UYT0 01.04A01> ATA-7 device
ada0: 100.000MB/s transfers (UDMA5, PIO 8192bytes)
ada0: 152627MB (312581808 512 byte sectors: 15H 63S/T 16383C)
ada0: Previously was known as ad0
Timecounter "TSC" frequency 999911946 Hz quality 800
Trying to mount root from ufs:/dev/ada0p2 [rw]...
```
On boot completion login as root, then do the following:


```
root@bl10-17:~ # gpart recover ada0
ada0 recovering is not needed
root@bl10-17:~ # gpart status ada0
  Name  Status  Components
ada0p1      OK  ada0
ada0p2      OK  ada0
ada0p3      OK  ada0
root@bl10-17:~ # gpart show ada0
=>       34  312581741  ada0  GPT  (149G)
         34        128     1  freebsd-boot  (64k)
        162  304086912     2  freebsd-ufs  (145G)
  304087074    8388608     3  freebsd-swap  (4.0G)
  312475682     106093        - free -  (51M)

root@bl10-17:~ # gpart list ada0
Geom name: ada0
modified: false
state: OK
fwheads: 15
fwsectors: 63
last: 312581774
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: ada0p1
   Mediasize: 65536 (64k)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 17408
   Mode: r0w0e0
   rawuuid: 20c3a4a5-581c-11e3-bc73-000bcdfdba5f
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: (null)
   length: 65536
   offset: 17408
   type: freebsd-boot
   index: 1
   end: 161
   start: 34
2. Name: ada0p2
   Mediasize: 155692498944 (145G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 82944
   Mode: r1w1e1
   rawuuid: 20c5c5b6-581c-11e3-bc73-000bcdfdba5f
   rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 155692498944
   offset: 82944
   type: freebsd-ufs
   index: 2
   end: 304087073
   start: 162
3. Name: ada0p3
   Mediasize: 4294967296 (4.0G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 1073759232
   Mode: r1w1e0
   rawuuid: 20c928f6-581c-11e3-bc73-000bcdfdba5f
   rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 4294967296
   offset: 155692581888
   type: freebsd-swap
   index: 3
   end: 312475681
   start: 304087074
Consumers:
1. Name: ada0
   Mediasize: 160041885696 (149G)
   Sectorsize: 512
   Mode: r2w2e3

root@bl10-17:~ #
```
I have dd'd the first 34 blocks, and the LBA identified block and the whole disk at least five times each now, never with an error and all resulting in the same boot.

The host is a HP BL10e Blade (one of 20) - the other Blades do not have this problem - this is the only WD drive in the Blade center so that could be part of it.

Any clues?

I see multiple people reporting similar issues for 9.0rc3 but not 9.2 with various hardware, suggestions were RAID and gmirror being run or a faulty drive, but neither RAID are the case here.  The drive could be faulty, but if it is surely either the dd or the recoverdisk would report a problem (at least once).

Thanks in advance.

Michelle


----------



## Vovas (Nov 28, 2013)

*Re: GPT error... unable to read backup GPT header.*

Unread*a*ble message. Dude, please use 
	
	



```
tags for system messages.
```


----------



## wblock@ (Nov 28, 2013)

*Re: GPT error... unable to read backup GPT header.*



			
				mis said:
			
		

> Ok fresh install using 9.2 Disk1 over a network install.
> 
> First thing done, select vt100, then exit to shell.
> Then:
> ...



You may be working from outdated instructions.  Disabling ACPI and APIC are not optimal on modern hardware.  I also suspect you are using sysinstall at some point, but it's not clear.



> ```
> Attempting Boot From Hard Drive (C:)
> gptboot: error 1 lba 312581807
> gptboot: unable to read backup GPT header
> ...


----------



## fonz (Nov 28, 2013)

*Re: GPT error... unable to read backup GPT header.*



			
				Vovas said:
			
		

> Unread*a*ble message. Dude, please use
> 
> 
> 
> ...


----------



## mis (Nov 28, 2013)

The hardware is 2003 hardware (HP BL10e) - 20 PIII 1 GHz with only 600 W of power consumed at max load.  Great for running RBL servers where they answer 35 billion queries per day.

You are correct at the buffersize (and had used 1 MB before, however resorted to 512-byte blocks to be _sure_ - yes I know it shouldn't matter, but it's a proof and time is not an issue for me).

If sysinstall is being used then it's by bsdinstall (so I'm sure it isn't). I gave the actual steps I used.

The loader.conf settings are a surefire way of not having the console disabled on the Blade center. Without them the console is disabled on boot.  The serial port (not on the console) and VGA ports continue to work, but that's not exactly useful for a 20-Blade Bladecenter where you have to use a physical adapter to connect it.



> Typically, this happens because the disk is partitioned and then the backup GPT at the end of the disk is overwritten. Again, I would expect that from following outdated instructions that assume MBR. Please describe what steps you followed in partitioning the disk, creating filesystems, and setting labels. There is a short section about metadata in the gmirror(8) section of the Handbook that talks about this a bit.



Yup, I already got that from other forum posts.  I'm not using RAID or gmirror.  Filesystem creation is with the bsdinstall tool: select 'Entire disk' [default], select 'Finish',  then select 'Commit'. As I said in my post: completely default from the 9.2 disk-1 ISO (mounted over NFS).

Regards,

Michelle
(Dudette)


----------



## mis (Nov 28, 2013)

Oh and what's wrong with running recoverdisk on any disk (new or not)? All it does is read every byte and copy it to another location (or the same location). It will identify problems on any disk (new or old) if there is one. I wouldn't run it on an SSD though...


----------

