Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SCAN_FFS(8)		FreeBSD	System Manager's Manual		   SCAN_FFS(8)

     scan_ffs -- find UFS/FFS partitions on a disk

     scan_ffs [-lsv] [-b begin]	[-e end] device

     This is the life-saver of typos.  If you have ever	been working too long,
     and just happened to type 'disklabel -rw da0 floppy', instead of 'diskla-
     bel -rw fd0 floppy', you know what	I am talking about.

     This little program will take a raw disk device (which you	might have to
     create) that covers the whole disk, and finds all probable	UFS/FFS	parti-
     tions on the disk.	 It has	various	options	to make	it go faster, and to
     print out information to help in the reconstruction of the	disklabel.

     The options are as	follows:

     -l	     This will make scan_ffs print out a string	looking	much like the
	     input to disklabel.  With a little	massaging, this	output can
	     usually be	used in	the disklabel edit.

     -s	     This tells	scan_ffs to be smart about skipping partitions (when
	     it	thinks it found	a valid	one).  By not scanning partitions for
	     superblocks, the program completes	a couple of orders of magni-
	     tude faster.  However, sometimes being smart is too good for its
	     own good, especially if your disk has had a different layout pre-
	     viously, or contains other	non-UFS/FFS filesystems.

     -v	     Tell scan_ffs to be verbose about what it is doing, and what it
	     has found.

     -b	begin
	     Tell scan_ffs where to begin searching for	filesystems.  This
	     makes it easier to	skip swap partitions, or other large non-
	     UFS/FFS partitions.

     -e	end  Ditto for telling scan_ffs	where to stop.

     device  This specifies which device scan_ffs should use to	scan for
	     filesystems.  Usually this	device should cover the	whole disk in

     The basic operation of this program is as follows:

     1.	   Panic.  You usually do so anyways, so you might as well get it over
	   with.  Just don't do	anything stupid.  Panic	away from your ma-
	   chine.  Then	relax, and see if the steps below won't	help you out.

     2.	   Try to find your old	disklabel by any other means possible.	This
	   includes printouts, backups,	screendumps, and whatever other	method
	   you can think of.  The more information you have, the better	your
	   chances are in recovering the disklabel of the disk.

     3.	   Create a disklabel on the affected disk, which covers the whole
	   disk, and has at least one partition	which covers the whole disk.
	   As the "c" partition	usually	covers the whole disk anyways, this
	   sounds like a good place to start.

     4.	   Run scan_ffs	over this partition.  If you have any information
	   about the disklabel which used to exist on the disk,	keep that in
	   mind	while scan_ffs spews out its things.

     5.	   Use disklabel(8) to reconstruct the disklabel on the	affected disk,
	   using all the information you gathered from scan_ffs	and other

     Last but certainly	not least, we wish you good luck.  The UFS/FFS
     filesystems are pretty sturdy.  I've seen them reconstructed after	some
     pretty weird and awesome fumbles.	If you can't have backups, at least
     have funky	tools to help you out of a jam when they happen.


     The scan_ffs utility first	appeared in OpenBSD 2.3	and was	ported to
     FreeBSD by	Robert Watson. UFS2 Support was	added by Michael Ranner.

     It	is not perfect,	and could do a lot more	things with date/time informa-
     tion in the superblocks it	finds, but this	program	has saved more than
     one butt, more than once.

FreeBSD	13.0		       January 31, 1998			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help