Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jan 2011 22:17:32 -0600 (CST)
From:      Scott Bennett <bennett@cs.niu.edu>
To:        freebsd-questions@freebsd.org
Subject:   help requested in fixing disk label mistake
Message-ID:  <201101230417.p0N4HWQa012420@mp.cs.niu.edu>

next in thread | raw e-mail | index | archive | help
     A couple of days ago, I reorganized the internal hard drive of my machine
to reclaim space that used to be occupied by another operating system for use
with my now exclusively FreeBSD system.  I used a stand-alone partition manager
to edit the slices down to just two slices.  I then attempted to bsdlabel the
first slice, but made a bit of a slip.  When I should have typed

	bsdlabel -w ad0s1

I actually typed

	bsdlabel -w da0s1

Oops.
     I went ahead with the work on the internal drive (ad0), and the system
is up and running fine.  Now I'd like to try to fix the damage done to the
external drive that I relabeled by mistake.  That drive's layout before the
damage was done was a single slice, divided into two partitions (da0s1 and
da0s2), each of which was then glabel'ed.  The moment I rewrote the bsdlabel
for the first slice by mistake, the two partitions' entries in /dev/label
vanished, of course.  I checked and discovered that the only external drive
for which I had not kept backup copies of the bsdlabel information was that
drive. :-(  Fortunately, the full backups of the file systems that I needed
to reload onto the internal drive were in the first partition of the external
drive in question (used to be s1d, now s1a for the time being), so by mounting
/dev/da0s1a I still had full access to the file system containing the backups.
     My hypothesis is if I can somehow rewrite a correct bsdlabel for the
affected slice, that the system will then recognize the glabel metadata for
the two partitions immediately, and the /dev/label entries will appear right
away like magic.  Unfortunately, without a backup file of the bsdlabel
information, I'm unsure how to accomplish that.  Is there some way that I can
discover the exact size in sectors of the first partition, so that I could
edit the bsdlabel information and redefine it as two partitions of the correct
sizes and offsets?  Is there some field in dumpfs(8) output that would give me
what I need (allowing, of course, for the fact that the first partition
is actually one sector longer than anything dumpfs(8) would know about due to
the glabel metadata in the final sector of the partition)?  Or is my hypothesis
stated above actually incorrect, and if so, why/how?
     PLEASE send any replies to ME DIRECTLY (or at least Cc: me directly)
because I receive this list in digest form and am at least a week and a half
behind on my reading. :-}  Thanks much in advance for any helpful ideas.


                                  Scott Bennett, Comm. ASMELG, CFIAG
**********************************************************************
* Internet:       bennett at cs.niu.edu                              *
*--------------------------------------------------------------------*
* "A well regulated and disciplined militia, is at all times a good  *
* objection to the introduction of that bane of all free governments *
* -- a standing army."                                               *
*    -- Gov. John Hancock, New York Journal, 28 January 1790         *
**********************************************************************



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