Date: Thu, 4 Dec 2003 21:07:20 -0800 (PST) From: "Scott I. Remick" <scott@sremick.net> To: FreeBSD <freebsd-questions@freebsd.org> Subject: Re: "Cannot find file system superblock" error - how to recover? Message-ID: <20031205050720.2485.qmail@web41103.mail.yahoo.com> In-Reply-To: <20031204200348.5639640f.doublef@tele-kom.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
--- Sergey 'DoubleF' Zaharchenko <doublef@tele-kom.ru> wrote: > I've got a (probably bad) idea. If you say that the partition was > mounted as /data, then you could do a > > # hd /dev/ad6s1 |grep /data > > It should come up soon (the superblock should be close to the beginning > of the drive, right?). This way you can at least figure out where your > superblock lies (rounding the address of `/data' to 8K). Considering the > above discussion, you can calculate the *correct* address of the `e' > partition by subtracting 8K or 64K or 256K. See if it matches the one in > the disklabel. > > Of course, this is all possible only if your superblock isn't screwed > enough to NOT contain `/data'. Been running about a minute so far... nada. So I guess your assumption is correct: the 1st superblock is destroyed (as fsck suggested when it barfed). > Just a minute. Are you sure that the filesystem was newfs'd with the > default parameters? If it were for me to newfs it, I would probably > choose larger block&fragment sizes, as I would probably be storing large > files. The superblock copy positions depend on the block/frag size. If > you specify parameters different from those used for actually newfs'ing > it the very first time, newfs -N will give you *incorrect* copy > addresses! Well, specifying custom block/frag sizes is a bit out of my customization forte at the moment, and certainly at the time this drive went in. I'm 99% positive I used sysinstall to set it up. I remember some quirks about the sysinstall method, and also deciding that the by-hand method was unnecessarily complicated for my needs. This has taught me that, should I ever choose to do that, that writing down these custom values is CRITICAL. Is there any way to positively identify a superblock location (say, using hd | grep ) using known information? Just a random thought. Although I'm treating this as a learning experience, I also REALLY REALLY don't want to loose all that data. I do appreciate the help you've been giving me. Thanks again. I'm choosing to remain optimistic. I used to salvage lots of data from DOS/Windows partitions (still do) so learning the tricks of the trade in my new OS of choice is important to me. (PS: already pricing out external USB hard drive enclosures for making backups of this drive in the future)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031205050720.2485.qmail>