Annotation of embedaddon/scan_ffs/scan_ffs.8, revision 1.1.1.1
1.1 misho 1: .\" $OpenBSD: scan_ffs.8,v 1.11 2000/11/09 17:53:07 aaron Exp $
2: .\"
3: .\" Copyright (c) 1997 Niklas Hallqvist, Tobias Weingartner
4: .\" Copyright (c) 2002, 2003 Robert Watson, Michael Ranner
5: .\" All rights reserved.
6: .\"
7: .\" Redistribution and use in source and binary forms, with or without
8: .\" modification, are permitted provided that the following conditions
9: .\" are met:
10: .\" 1. Redistributions of source code must retain the above copyright
11: .\" notice, this list of conditions and the following disclaimer.
12: .\" 2. Redistributions in binary form must reproduce the above copyright
13: .\" notice, this list of conditions and the following disclaimer in the
14: .\" documentation and/or other materials provided with the distribution.
15: .\"
16: .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17: .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18: .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19: .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20: .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21: .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22: .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23: .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24: .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25: .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26: .\"
27: .\" .TH scan_ffs 8
28: .Dd January 31, 1998
29: .Dt SCAN_FFS 8
30: .Os
31: .Sh NAME
32: .Nm scan_ffs
33: .Nd find UFS/FFS partitions on a disk
34: .Sh SYNOPSIS
35: .Nm scan_ffs
36: .Op Fl lsv
37: .Op Fl b Ar begin
38: .Op Fl e Ar end
39: .Ar device
40: .Sh DESCRIPTION
41: This is the life-saver of typos.
42: If you have ever been working too long,
43: and just happened to type 'disklabel -rw da0 floppy', instead of 'disklabel
44: -rw fd0 floppy', you know what I am talking about.
45: .Pp
46: This little program will take a raw disk device (which you might have to
47: create) that covers the whole disk, and finds all probable UFS/FFS partitions
48: on the disk.
49: It has various options to make it go faster, and to print out
50: information to help in the reconstruction of the disklabel.
51: .Pp
52: The options are as follows:
53: .Bl -tag -width Ds
54: .It Fl l
55: This will make
56: .Nm
57: print out a string looking much like the input to disklabel.
58: With a little massaging, this output can usually be used in the disklabel edit.
59: .Pp
60: .It Fl s
61: This tells
62: .Nm
63: to be smart about skipping partitions (when it thinks it found a valid one).
64: By not scanning partitions for superblocks, the program completes a couple of
65: orders of magnitude faster.
66: However, sometimes being smart is too good for
67: its own good,
68: especially if your disk has had a different layout previously, or contains
69: other non-UFS/FFS filesystems.
70: .Pp
71: .It Fl v
72: Tell
73: .Nm
74: to be verbose about what it is doing, and what it has found.
75: .Pp
76: .It Fl b Ar begin
77: Tell
78: .Nm
79: where to begin searching for filesystems.
80: This makes it easier to skip swap
81: partitions, or other large non-UFS/FFS partitions.
82: .Pp
83: .It Fl e Ar end
84: Ditto for telling
85: .Nm
86: where to stop.
87: .Pp
88: .It Ar device
89: This specifies which device
90: .Nm
91: should use to scan for filesystems.
92: Usually this device should cover the whole disk in question.
93: .Pp
94: .El
95: .Pp
96: The basic operation of this program is as follows:
97: .Bl -enum -width "1111"
98: .It
99: Panic.
100: You usually do so anyways, so you might as well get it over with.
101: Just don't do anything stupid.
102: Panic away from your machine.
103: Then relax, and see if the steps below won't help you out.
104: .It
105: Try to find your old disklabel by any other means possible.
106: This includes
107: printouts, backups, screendumps, and whatever other method you can think of.
108: The more information you have, the better your chances are in recovering the
109: disklabel of the disk.
110: .Pp
111: .It
112: Create a disklabel on the affected disk, which covers the whole disk, and has
113: at least one partition which covers the whole disk.
114: As the
115: .Dq c
116: partition
117: usually covers the whole disk anyways, this sounds like a good place to start.
118: .Pp
119: .It
120: Run
121: .Nm
122: over this partition.
123: If you have any information about the disklabel
124: which used to exist on the disk, keep that in mind while
125: .Nm
126: spews out its things.
127: .Pp
128: .It
129: Use
130: .Xr disklabel 8
131: to reconstruct the disklabel on the affected disk, using
132: all the information you gathered from
133: .Nm
134: and other sources.
135: .Pp
136: .El
137: .Pp
138: Last but certainly not least, we wish you good luck.
139: The UFS/FFS filesystems are pretty sturdy.
140: I've seen them reconstructed after some pretty weird and
141: awesome fumbles.
142: If you can't have backups, at least have funky tools to help
143: you out of a jam when they happen.
144: .Sh SEE ALSO
145: .Xr disklabel 8
146: .Sh HISTORY
147: The
148: .Nm
149: utility first appeared in
150: OpenBSD 2.3 and was ported to
151: .Fx
152: by Robert Watson. UFS2 Support was added by Michael Ranner.
153: .Sh BUGS
154: It is not perfect, and could do a lot more things with date/time information
155: in the superblocks it finds, but this program has saved more than one butt,
156: more than once.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>