blob: 50fd8cef0f268f837af7569949b6e27cb44cf66f [file] [log] [blame]
Theodore Ts'o3839e651997-04-26 13:21:57 +00001.\" -*- nroff -*-
Theodore Ts'oa418d3a1997-04-26 14:00:26 +00002.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
3.\" This file may be copied under the terms of the GNU Public License.
4.\"
Theodore Ts'o74becf31997-04-26 14:37:06 +00005.TH FSCK 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
Theodore Ts'o3839e651997-04-26 13:21:57 +00006.SH NAME
7fsck \- check and repair a Linux file system
8.SH SYNOPSIS
9.B fsck
10[
Theodore Ts'ofe263da2008-02-16 14:14:24 -050011.B \-sAVRTMNP
Theodore Ts'o22dcccd2005-01-05 13:43:29 -050012]
13[
14.B \-C
15[
16.I fd
17]
Theodore Ts'o3839e651997-04-26 13:21:57 +000018]
19[
20.B \-t
21.I fstype
Theodore Ts'o1d349cc2001-08-15 19:06:55 -040022]
Theodore Ts'oa1411352002-08-17 17:39:39 -040023.I [filesys ... ]
Theodore Ts'o1d349cc2001-08-15 19:06:55 -040024[\-\-] [
Theodore Ts'of044b4d2002-08-17 13:32:21 -040025.B fs-specific-options
Theodore Ts'o3839e651997-04-26 13:21:57 +000026]
Theodore Ts'o3839e651997-04-26 13:21:57 +000027.SH DESCRIPTION
28.B fsck
Theodore Ts'of044b4d2002-08-17 13:32:21 -040029is used to check and optionally repair one or more Linux file systems.
Theodore Ts'o3839e651997-04-26 13:21:57 +000030.I filesys
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +000031can be a device name (e.g.
32.IR /dev/hdc1 ", " /dev/sdb2 ),
33a mount point (e.g.
34.IR / ", " /usr ", " /home ),
35or an ext2 label or UUID specifier (e.g.
36UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root).
Theodore Ts'oa1411352002-08-17 17:39:39 -040037Normally, the
Theodore Ts'o583ccdc1997-05-09 03:06:31 +000038.B fsck
Theodore Ts'of37ab682005-05-05 23:15:55 -040039program will try to handle filesystems on different physical disk drives
40in parallel to reduce the total amount of time needed to check all of the
41filesystems.
Theodore Ts'o3839e651997-04-26 13:21:57 +000042.PP
Theodore Ts'oa1411352002-08-17 17:39:39 -040043If no filesystems are specified on the command line, and the
44.B \-A
45option is not specified,
46.B fsck
47will default to checking filesystems in
48.B /etc/fstab
Theodore Ts'of37ab682005-05-05 23:15:55 -040049serially. This is equivalent to the
Theodore Ts'oa1411352002-08-17 17:39:39 -040050.B \-As
51options.
52.PP
Theodore Ts'o3839e651997-04-26 13:21:57 +000053The exit code returned by
54.B fsck
55is the sum of the following conditions:
56.br
57\ 0\ \-\ No errors
58.br
59\ 1\ \-\ File system errors corrected
60.br
61\ 2\ \-\ System should be rebooted
62.br
63\ 4\ \-\ File system errors left uncorrected
64.br
65\ 8\ \-\ Operational error
66.br
67\ 16\ \-\ Usage or syntax error
68.br
Theodore Ts'o4cae0452002-07-21 14:14:03 -040069\ 32\ \-\ Fsck canceled by user request
70.br
Theodore Ts'o3839e651997-04-26 13:21:57 +000071\ 128\ \-\ Shared library error
72.br
Theodore Ts'oa1411352002-08-17 17:39:39 -040073The exit code returned when multiple file systems are checked
74is the bit-wise OR of the exit codes for each
Theodore Ts'o3839e651997-04-26 13:21:57 +000075file system that is checked.
76.PP
77In actuality,
78.B fsck
79is simply a front-end for the various file system checkers
80(\fBfsck\fR.\fIfstype\fR) available under Linux. The file
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +000081system-specific checker is searched for in
82.I /sbin
83first, then in
84.I /etc/fs
85and
86.IR /etc ,
87and finally in the directories listed in the PATH environment
Theodore Ts'o3839e651997-04-26 13:21:57 +000088variable. Please see the file system-specific checker manual pages for
89further details.
90.SH OPTIONS
91.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +000092.B \-s
Theodore Ts'o50787ea1999-07-19 15:30:21 +000093Serialize
94.B fsck
Theodore Ts'of044b4d2002-08-17 13:32:21 -040095operations. This is a good idea if you are checking multiple
Theodore Ts'o50787ea1999-07-19 15:30:21 +000096filesystems and the checkers are in an interactive mode. (Note:
97.BR e2fsck (8)
98runs in an interactive mode by default. To make
99.BR e2fsck (8)
100run in a non-interactive mode, you must either specify the
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000101.B \-p
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000102or
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000103.B \-a
104option, if you wish for errors to be corrected automatically, or the
105.B \-n
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000106option if you do not.)
107.TP
Theodore Ts'o10a32f12001-05-21 02:15:15 +0000108.BI \-t " fslist"
109Specifies the type(s) of file system to be checked. When the
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000110.B \-A
111flag is specified, only filesystems that match
Theodore Ts'o10a32f12001-05-21 02:15:15 +0000112.I fslist
113are checked. The
114.I fslist
115parameter is a comma-separated list of filesystems and options
116specifiers. All of the filesystems in this comma-separated list may be
117prefixed by a negation operator
118.RB ' no '
119or
120.RB ' ! ',
121which requests that only those filesystems not listed in
122.I fslist
123will be checked. If all of the filesystems in
124.I fslist
125are not prefixed by a negation operator, then only those filesystems
126listed
127in
128.I fslist
129will be checked.
130.sp
Theodore Ts'of37ab682005-05-05 23:15:55 -0400131Options specifiers may be included in the comma-separated
Theodore Ts'o10a32f12001-05-21 02:15:15 +0000132.IR fslist .
133They must have the format
Theodore Ts'of044b4d2002-08-17 13:32:21 -0400134.BI opts= fs-option\fR.
135If an options specifier is present, then only filesystems which contain
Theodore Ts'o10a32f12001-05-21 02:15:15 +0000136.I fs-option
Theodore Ts'of044b4d2002-08-17 13:32:21 -0400137in their mount options field of
138.B /etc/fstab
139will be checked. If the options specifier is prefixed by a negation
140operator, then only
141those filesystems that do not have
142.I fs-option
143in their mount options field of
Theodore Ts'o10a32f12001-05-21 02:15:15 +0000144.B /etc/fstab
Theodore Ts'of044b4d2002-08-17 13:32:21 -0400145will be checked.
146.sp
147For example, if
148.B opts=ro
149appears in
150.IR fslist ,
151then only filesystems listed in
152.B /etc/fstab
153with the
154.B ro
155option will be checked.
Theodore Ts'o10a32f12001-05-21 02:15:15 +0000156.sp
157For compatibility with Mandrake distributions whose boot scripts
158depend upon an unauthorized UI change to the
159.B fsck
160program, if a filesystem type of
161.B loop
162is found in
163.IR fslist ,
164it is treated as if
165.B opts=loop
166were specified as an argument to the
167.B \-t
168option.
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000169.sp
170Normally, the filesystem type is deduced by searching for
171.I filesys
172in the
173.I /etc/fstab
174file and using the corresponding entry.
Theodore Ts'o10a32f12001-05-21 02:15:15 +0000175If the type can not be deduced, and there is only a single filesystem
176given as an argument to the
177.B \-t
178option,
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000179.B fsck
Theodore Ts'o10a32f12001-05-21 02:15:15 +0000180will use the specified filesystem type. If this type is not
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000181available, then the default file system type (currently ext2) is used.
182.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000183.B \-A
Theodore Ts'o3839e651997-04-26 13:21:57 +0000184Walk through the
185.I /etc/fstab
186file and try to check all file systems in one run. This option is
187typically used from the
188.I /etc/rc
Theodore Ts'o81393672005-04-16 14:05:09 -0400189system initialization file, instead of multiple commands for checking
Theodore Ts'of3db3561997-04-26 13:34:30 +0000190a single file system.
Theodore Ts'o7953f611999-01-09 05:03:52 +0000191.sp
192The root filesystem will be checked first unless the
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000193.B \-P
Theodore Ts'o7953f611999-01-09 05:03:52 +0000194option is specified (see below). After that,
195filesystems will be checked in the order specified by the
196.I fs_passno
197(the sixth) field in the
198.I /etc/fstab
Theodore Ts'o2d091792000-12-02 07:03:32 +0000199file.
200Filesystems with a
201.I fs_passno
Theodore Ts'o9b61b8c2001-07-20 14:25:23 -0400202value of 0 are skipped and are not checked at all. Filesystems with a
203.I fs_passno
Theodore Ts'o7de65772002-04-30 20:22:32 -0400204value of greater than zero will be checked in order,
Theodore Ts'o9b61b8c2001-07-20 14:25:23 -0400205with filesystems with the lowest
206.I fs_passno
207number being checked first.
Theodore Ts'o2d091792000-12-02 07:03:32 +0000208If there are multiple filesystems with the same pass number,
Theodore Ts'o8d641742001-05-14 04:12:27 +0000209fsck will attempt to check them in parallel, although it will avoid running
Theodore Ts'o2d091792000-12-02 07:03:32 +0000210multiple filesystem checks on the same physical disk.
Theodore Ts'o9b61b8c2001-07-20 14:25:23 -0400211.sp
Theodore Ts'o8d641742001-05-14 04:12:27 +0000212Hence, a very common configuration in
Theodore Ts'o7953f611999-01-09 05:03:52 +0000213.I /etc/fstab
214files is to set the root filesystem to have a
215.I fs_passno
216value of 1
Theodore Ts'of37ab682005-05-05 23:15:55 -0400217and to set all other filesystems to have a
Theodore Ts'o7953f611999-01-09 05:03:52 +0000218.I fs_passno
219value of 2. This will allow
220.B fsck
221to automatically run filesystem checkers in parallel if it is advantageous
222to do so. System administrators might choose
Theodore Ts'o8d641742001-05-14 04:12:27 +0000223not to use this configuration if they need to avoid multiple filesystem
Theodore Ts'o7953f611999-01-09 05:03:52 +0000224checks running in parallel for some reason --- for example, if the
225machine in question is short on memory so that
226excessive paging is a concern.
Theodore Ts'of3db3561997-04-26 13:34:30 +0000227.TP
Theodore Ts'o22dcccd2005-01-05 13:43:29 -0500228.B \-C\fR [ \fI "fd" \fR ]
229Display completion/progress bars for those filesystem checkers (currently
230only for ext2 and ext3) which support them. Fsck will manage the
231filesystem checkers so that only one of them will display
232a progress bar at a time. GUI front-ends may specify a file descriptor
233.IR fd ,
Theodore Ts'of37ab682005-05-05 23:15:55 -0400234in which case the progress bar information will be sent to that file descriptor.
Theodore Ts'of3db3561997-04-26 13:34:30 +0000235.TP
Theodore Ts'ofe263da2008-02-16 14:14:24 -0500236.B \-M
237Do not check mounted filesystems and return an exit code of 0
238for mounted filesystems.
239.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000240.B \-N
Theodore Ts'of3db3561997-04-26 13:34:30 +0000241Don't execute, just show what would be done.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000242.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000243.B \-P
Theodore Ts'o7f88b041997-04-26 14:48:50 +0000244When the
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000245.B \-A
Theodore Ts'o7f88b041997-04-26 14:48:50 +0000246flag is set, check the root filesystem in parallel with the other filesystems.
247This is not the safest thing in the world to do,
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000248since if the root filesystem is in doubt things like the
249.BR e2fsck (8)
250executable might be corrupted! This option is mainly provided
Theodore Ts'o7f88b041997-04-26 14:48:50 +0000251for those sysadmins who don't want to repartition the root
252filesystem to be small and compact (which is really the right solution).
253.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000254.B \-R
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000255When checking all file systems with the
256.B \-A
257flag, skip the root file system (in case it's already mounted read-write).
258.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000259.B \-T
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000260Don't show the title on startup.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000261.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000262.B \-V
Theodore Ts'o3839e651997-04-26 13:21:57 +0000263Produce verbose output, including all file system-specific commands
264that are executed.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000265.TP
Theodore Ts'of044b4d2002-08-17 13:32:21 -0400266.B fs-specific-options
267Options which are not understood by
Theodore Ts'o609c9d02001-05-05 06:45:05 +0000268.B fsck
269are passed to the filesystem-specific checker. These arguments
270.B must
271not take arguments, as there is no
272way for
273.B fsck
274to be able to properly guess which arguments take options and which
275don't.
276.IP
277Options and arguments which follow the
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000278.B \-\-
Theodore Ts'o609c9d02001-05-05 06:45:05 +0000279are treated as file system-specific options to be passed to the
Theodore Ts'of3db3561997-04-26 13:34:30 +0000280file system-specific checker.
Theodore Ts'o609c9d02001-05-05 06:45:05 +0000281.IP
282Please note that fsck is not
283designed to pass arbitrarily complicated options to filesystem-specific
284checkers. If you're doing something complicated, please just
285execute the filesystem-specific checker directly. If you pass
286.B fsck
287some horribly complicated option and arguments, and it doesn't do
288what you expect,
289.B don't bother reporting it as a bug.
290You're almost certainly doing something that you shouldn't be doing
291with
292.BR fsck.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000293.PP
Theodore Ts'o64c90ee2003-12-26 13:56:14 -0500294Options to different filesystem-specific fsck's are not standardized.
295If in doubt, please consult the man pages of the filesystem-specific
296checker. Although not guaranteed, the following options are supported
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000297by most file system checkers:
Theodore Ts'o3839e651997-04-26 13:21:57 +0000298.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000299.B \-a
Theodore Ts'o3839e651997-04-26 13:21:57 +0000300Automatically repair the file system without any questions (use
301this option with caution). Note that
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000302.BR e2fsck (8)
Theodore Ts'o3839e651997-04-26 13:21:57 +0000303supports
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000304.B \-a
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000305for backwards compatibility only. This option is mapped to
306.BR e2fsck 's
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000307.B \-p
Theodore Ts'o3839e651997-04-26 13:21:57 +0000308option which is safe to use, unlike the
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000309.B \-a
Theodore Ts'o64c90ee2003-12-26 13:56:14 -0500310option that some file system checkers support.
311.TP
312.B \-n
313For some filesystem-specific checkers, the
314.B \-n
315option will cause the fs-specific fsck to avoid attempting to repair any
316problems, but simply report such problems to stdout. This is however
317not true for all filesystem-specific checkers. In particular,
318.BR fsck.reiserfs (8)
319will not report any corruption if given this option.
320.BR fsck.minix (8)
321does not support the
322.B \-n
323option at all.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000324.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000325.B \-r
Theodore Ts'o3839e651997-04-26 13:21:57 +0000326Interactively repair the filesystem (ask for confirmations). Note: It
327is generally a bad idea to use this option if multiple fsck's are being
328run in parallel. Also note that this is
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000329.BR e2fsck 's
Theodore Ts'o3839e651997-04-26 13:21:57 +0000330default behavior; it supports this option for backwards compatibility
331reasons only.
Theodore Ts'o64c90ee2003-12-26 13:56:14 -0500332.TP
333.B \-y
334For some filesystem-specific checkers, the
335.B \-y
336option will cause the fs-specific fsck to always attempt to fix any
337detected filesystem corruption automatically. Sometimes an expert may
338be able to do better driving the fsck manually. Note that
339.B not
340all filesystem-specific checkers implement this option. In particular
341.BR fsck.minix (8)
342and
343.BR fsck.cramfs (8)
344does not support the
345.B -y
346option as of this writing.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000347.SH AUTHOR
348Theodore Ts'o (tytso@mit.edu)
Theodore Ts'of3db3561997-04-26 13:34:30 +0000349.SH FILES
350.IR /etc/fstab .
Theodore Ts'oa1069112002-01-29 12:49:14 -0500351.SH ENVIRONMENT VARIABLES
352The
353.B fsck
354program's behavior is affected by the following environment variables:
355.TP
356.B FSCK_FORCE_ALL_PARALLEL
357If this environment variable is set,
358.B fsck
359will attempt to run all of the specified filesystems in parallel,
360regardless of whether the filesystems appear to be on the same
361device. (This is useful for RAID systems or high-end storage systems
362such as those sold by companies such as IBM or EMC.)
363.TP
364.B FSCK_MAX_INST
365This environment variable will limit the maximum number of file system
366checkers that can be running at one time. This allows configurations
367which have a large number of disks to avoid
368.B fsck
369starting too many file system checkers at once, which might overload
370CPU and memory resources available on the system. If this value is
371zero, then an unlimited number of processes can be spawned. This is
372currently the default, but future versions of
373.B fsck
374may attempt to automatically determine how many file system checks can
375be run based on gathering accounting data from the operating system.
376.TP
377.B PATH
378The
379.B PATH
380environment variable is used to find file system checkers. A set of
381system directories are searched first:
382.BR /sbin ,
383.BR /sbin/fs.d ,
384.BR /sbin/fs ,
385.BR /etc/fs ,
386and
387.BR /etc .
388Then the set of directories found in the
389.B PATH
390environment are searched.
391.TP
392.B FSTAB_FILE
393This environment variable allows the system administrator
394to override the standard location of the
395.B /etc/fstab
Theodore Ts'of37ab682005-05-05 23:15:55 -0400396file. It is also useful for developers who are testing
Theodore Ts'oa1069112002-01-29 12:49:14 -0500397.BR fsck .
Theodore Ts'o3839e651997-04-26 13:21:57 +0000398.SH SEE ALSO
Theodore Ts'of3db3561997-04-26 13:34:30 +0000399.BR fstab (5),
Theodore Ts'o3839e651997-04-26 13:21:57 +0000400.BR mkfs (8),
Theodore Ts'o3839e651997-04-26 13:21:57 +0000401.BR fsck.ext2 (8)
402or
Theodore Ts'oa5198362005-11-12 23:41:08 -0500403.BR fsck.ext3 (8)
404or
Theodore Ts'o3839e651997-04-26 13:21:57 +0000405.BR e2fsck (8),
Theodore Ts'oa5198362005-11-12 23:41:08 -0500406.BR cramfsck (8),
Theodore Ts'o64c90ee2003-12-26 13:56:14 -0500407.BR fsck.minix (8),
Theodore Ts'oa5198362005-11-12 23:41:08 -0500408.BR fsck.msdos (8),
409.BR fsck.jfs (8),
410.BR fsck.nfs (8),
411.BR fsck.vfat (8),
Theodore Ts'o64c90ee2003-12-26 13:56:14 -0500412.BR fsck.xfs (8),
Theodore Ts'oa5198362005-11-12 23:41:08 -0500413.BR fsck.xiafs (8),
Theodore Ts'o64c90ee2003-12-26 13:56:14 -0500414.BR reiserfsck (8).