Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Oct 2009 17:51:17 -0500
From:      Robert Noland <rnoland@FreeBSD.org>
To:        Kris Weston <kris.weston@gmail.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: i am desperate over some GPT tables
Message-ID:  <1256511077.2502.181.camel@balrog.2hip.net>
In-Reply-To: <72d267bc0910250944y298d9535x9eac8cf9ba7a9b27@mail.gmail.com>
References:  <72d267bc0910210511t4a54ce3dm1490fec593377a44@mail.gmail.com> <1256303940.2283.15.camel@balrog.2hip.net> <72d267bc0910250944y298d9535x9eac8cf9ba7a9b27@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-jTyFCLYYyabgYp5o2B1D
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

On Sun, 2009-10-25 at 16:44 +0000, Kris Weston wrote:
> hi Robert appreciate you having a look at this,
> if you need any funny noises ever, give us a shout :)
> i really dont know what to do as i dont have a spare box to try out solaris
> on and solaris wont boot fully here...
> i did manage to export the drives from solaris first so all *should* be
> well...
> there are three disks in the set ad4,ad6,ad8
> terrabyte each - they are supposed to be two mirrors but one disk went down
> should still work though - well was working in solaris...
> as i said before it at least could read the pools from freebsd before but
> something has happened now where it wont...
> 
> i think 4+6 are a mirror...
> let me know if you can shed any light...
> out of interest - how do you look at these dumps ? and what are you looking
> for ?

Ok, we have a couple of options.... What I have done so far is to hex
edit your GPT headers, though technically they are valid.  Sector 2 is
the GPT header and normally the header length is recorded as 92 bytes.
Yours claim that the header it 512 bytes or the entire sector.  The
crc32 value is calculated based on byte 0 - header size.  Our GPT code
is performing the crc comparison based on the 92 valid bytes in the
header along with 512 - 92 bytes of random memory, so the header crc
fails and GEOM refuses the header.

We need to fix the GPT code to handle this correctly, so you can give me
a little time to fix it correctly, or we can just fix your existing GPT
headers to work with our code...

Before:
GEOM: md6: corrupt or invalid GPT detected.
GEOM: md6: GPT rejected -- may not be recoverable.

After:
GEOM: md6: the secondary GPT table is corrupt or invalid.
GEOM: md6: using the primary only -- recovery suggested.

=>        34  1953525101  md6  GPT  (466T)
          34         222       - free -  (111K)
         256  1953508495    1  !6a898cc3-1dd2-11b2-99a6-080020736631  (932G)
  1953508751       16384    9  !6a945a3b-1dd2-11b2-99a6-080020736631  (8.0M)

Hopefully I don't need to tell you proceed with caution here, but if you
want to rewrite the headers, I've attached 6 files which contain the
modified primary and secondary headers.

The seek values below for the secondary header are calculated for your
drive.  Make sure that you use the correct header for the correct drive
and pri/sec.

dd if=headeradX-pri.dmp of=/dev/adX bs=512 seek=1
dd if=headeradX-sec.dmp of=/dev/adX bs=512 seek=1953525167

robert.

> thanks
> 
> Kris
> --
> 
>    ))
>   ((
> c[_]
> 
> 
> 2009/10/23 Robert Noland <rnoland@freebsd.org>
> 
> > On Wed, 2009-10-21 at 13:11 +0100, Kris Weston wrote:
> > > been looking for months now, trawled google no help, i just dont
> > understand.
> > > do you need a GPT table with zfs ?
> > > i have a pentium D 3ghz (running 64bit stable 7.2) and i cant seem to
> > import
> > > my zpool into it
> > > exported fine on solaris , its definitely the same version (v13)
> > > but when i import into zfs it says GPT tables corrupt ?
> > > why ? and what does this mean ?
> > > please help me. pleeeeease.
> >
> > Send me the fist 34 sectors of the disk and I will try to take a look.
> >
> > dd if=<raw disk device> of=header.dmp bs=512 count=34
> >
> > robert.
> >
> > > --
> > >
> > >    ))
> > >   ((
> > > c[_]
> > > _______________________________________________
> > > freebsd-stable@freebsd.org mailing list
> > > http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> > > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org
> > "
> > --
> > Robert Noland <rnoland@FreeBSD.org>
> > FreeBSD
> >
> >
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
-- 
Robert Noland <rnoland@FreeBSD.org>
FreeBSD

--=-jTyFCLYYyabgYp5o2B1D
Content-Disposition: attachment; filename="headerad4-pri.dmp"
Content-Type: application/octet-stream; name="headerad4-pri.dmp"
Content-Transfer-Encoding: base64

RUZJIFBBUlQAAAEAXAAAAEbQMF8AAAAAAQAAAAAAAACvbXB0AAAAACIAAAAAAAAAjm1wdAAAAAC7
7oU/ba1HNamP29qfNAoUAgAAAAAAAAAJAAAAgAAAAOr89nUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=


--=-jTyFCLYYyabgYp5o2B1D
Content-Disposition: attachment; filename="headerad4-sec.dmp"
Content-Type: application/octet-stream; name="headerad4-sec.dmp"
Content-Transfer-Encoding: base64

RUZJIFBBUlQAAAEAXAAAAKRorfwAAAAAr21wdAAAAAABAAAAAAAAACIAAAAAAAAAjm1wdAAAAAC7
7oU/ba1HNamP29qfNAoUj21wdAAAAAAJAAAAgAAAAOr89nUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=


--=-jTyFCLYYyabgYp5o2B1D
Content-Disposition: attachment; filename="headerad6-pri.dmp"
Content-Type: application/octet-stream; name="headerad6-pri.dmp"
Content-Transfer-Encoding: base64

RUZJIFBBUlQAAAEAXAAAAKqFhMMAAAAAAQAAAAAAAACvbXB0AAAAACIAAAAAAAAAjm1wdAAAAAAG
IlhWdrtKfqeG8j6VaDMXAgAAAAAAAAAJAAAAgAAAACqQTPkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=


--=-jTyFCLYYyabgYp5o2B1D
Content-Disposition: attachment; filename="headerad6-sec.dmp"
Content-Type: application/octet-stream; name="headerad6-sec.dmp"
Content-Transfer-Encoding: base64

RUZJIFBBUlQAAAEAXAAAAEg9GWAAAAAAr21wdAAAAAABAAAAAAAAACIAAAAAAAAAjm1wdAAAAAAG
IlhWdrtKfqeG8j6VaDMXj21wdAAAAAAJAAAAgAAAACqQTPkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=


--=-jTyFCLYYyabgYp5o2B1D
Content-Disposition: attachment; filename="headerad8-pri.dmp"
Content-Type: application/octet-stream; name="headerad8-pri.dmp"
Content-Transfer-Encoding: base64

RUZJIFBBUlQAAAEAXAAAALRJqHkAAAAAAQAAAAAAAACvbXB0AAAAACIAAAAAAAAAjm1wdAAAAAAm
bdyazyNDQqXbnYyyHpcuAgAAAAAAAAAJAAAAgAAAAKt6EkcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=


--=-jTyFCLYYyabgYp5o2B1D
Content-Disposition: attachment; filename="headerad8-sec.dmp"
Content-Type: application/octet-stream; name="headerad8-sec.dmp"
Content-Transfer-Encoding: base64

RUZJIFBBUlQAAAEAXAAAAFbxNdoAAAAAr21wdAAAAAABAAAAAAAAACIAAAAAAAAAjm1wdAAAAAAm
bdyazyNDQqXbnYyyHpcuj21wdAAAAAAJAAAAgAAAAKt6EkcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=


--=-jTyFCLYYyabgYp5o2B1D--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1256511077.2502.181.camel>