2 .\" 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.
5 .TH FSCK 8 "February 2009" "util-linux" "System Administration"
7 fsck \- check and repair a Linux filesystem
17 .RI [ fs-specific-options ]
20 is used to check and optionally repair one or more Linux filesystems.
22 can be a device name (e.g.
23 .IR /dev/hdc1 ", " /dev/sdb2 ),
25 .IR / ", " /usr ", " /home ),
26 or an ext2 label or UUID specifier (e.g.
27 UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root).
30 program will try to handle filesystems on different physical disk drives
31 in parallel to reduce the total amount of time needed to check all of them.
33 If no filesystems are specified on the command line, and the
35 option is not specified,
37 will default to checking filesystems in
39 serially. This is equivalent to the
43 The exit code returned by
45 is the sum of the following conditions:
54 Filesystem errors corrected
57 System should be rebooted
60 Filesystem errors left uncorrected
69 Checking canceled by user request
76 The exit code returned when multiple filesystems are checked
77 is the bit-wise OR of the exit codes for each
78 filesystem that is checked.
82 is simply a front-end for the various filesystem checkers
83 (\fBfsck\fR.\fIfstype\fR) available under Linux. The
84 filesystem-specific checker is searched for in
90 and finally in the directories listed in the PATH environment
91 variable. Please see the filesystem-specific checker manual pages for
96 Lock the whole-disk device by an exclusive
98 This option can be used with one device only (this means that \fB-A\fR and
99 \fB-l\fR are mutually exclusive). This option is recommended when more
101 instances are executed in the same time. The option is ignored when used for
102 multiple devices or for non-rotating disks. \fBfsck\fR does not lock underlying
103 devices when executed to check stacked devices (e.g. MD or DM) -- this feature is
107 Report certain statistics for each fsck when it completes. These statistics
108 include the exit status, the maximum run set size (in kilobytes), the elapsed
109 all-clock time and the user and system CPU time used by the fsck run. For
112 /dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186
117 operations. This is a good idea if you are checking multiple
118 filesystems and the checkers are in an interactive mode. (Note:
120 runs in an interactive mode by default. To make
122 run in a non-interactive mode, you must either specify the
126 option, if you wish for errors to be corrected automatically, or the
128 option if you do not.)
131 Specifies the type(s) of filesystem to be checked. When the
133 flag is specified, only filesystems that match
137 parameter is a comma-separated list of filesystems and options
138 specifiers. All of the filesystems in this comma-separated list may be
139 prefixed by a negation operator
143 which requests that only those filesystems not listed in
145 will be checked. If none of the filesystems in
147 is prefixed by a negation operator, then only those listed filesystems
150 Options specifiers may be included in the comma-separated
152 They must have the format
153 .BI opts= fs-option\fR.
154 If an options specifier is present, then only filesystems which contain
156 in their mount options field of
158 will be checked. If the options specifier is prefixed by a negation
160 those filesystems that do not have
162 in their mount options field of
170 then only filesystems listed in
174 option will be checked.
176 For compatibility with Mandrake distributions whose boot scripts
177 depend upon an unauthorized UI change to the
179 program, if a filesystem type of
185 were specified as an argument to the
189 Normally, the filesystem type is deduced by searching for
193 file and using the corresponding entry.
194 If the type can not be deduced, and there is only a single filesystem
195 given as an argument to the
199 will use the specified filesystem type. If this type is not
200 available, then the default filesystem type (currently ext2) is used.
205 file and try to check all filesystems in one run. This option is
206 typically used from the
208 system initialization file, instead of multiple commands for checking
211 The root filesystem will be checked first unless the
213 option is specified (see below). After that,
214 filesystems will be checked in the order specified by the
216 (the sixth) field in the
221 value of 0 are skipped and are not checked at all. Filesystems with a
223 value of greater than zero will be checked in order,
224 with filesystems with the lowest
226 number being checked first.
227 If there are multiple filesystems with the same pass number,
229 will attempt to check them in parallel, although it will avoid running
230 multiple filesystem checks on the same physical disk.
233 does not check stacked devices (RAIDs, dm-crypt, ...) in parallel with any other
234 device. See below for FSCK_FORCE_ALL_PARALLEL setting. The /sys filesystem is
235 used to detemine dependencies between devices.
237 Hence, a very common configuration in
239 files is to set the root filesystem to have a
242 and to set all other filesystems to have a
244 value of 2. This will allow
246 to automatically run filesystem checkers in parallel if it is advantageous
247 to do so. System administrators might choose
248 not to use this configuration if they need to avoid multiple filesystem
249 checks running in parallel for some reason --- for example, if the
250 machine in question is short on memory so that
251 excessive paging is a concern.
254 normally does not check whether the device actually exists before
255 calling a filesystem specific checker. Therefore non-existing
256 devices may cause the system to enter filesystem repair mode during
257 boot if the filesystem specific checker returns a fatal error. The
263 skip non-existing devices.
265 also skips non-existing devices that have the special filesystem type
268 .BR \-C \ [ \fIfd\fR ]
269 Display completion/progress bars for those filesystem checkers (currently
270 only for ext2 and ext3) which support them. \fBfsck\fR will manage the
271 filesystem checkers so that only one of them will display
272 a progress bar at a time. GUI front-ends may specify a file descriptor
274 in which case the progress bar information will be sent to that file descriptor.
277 Do not check mounted filesystems and return an exit code of 0
278 for mounted filesystems.
281 Don't execute, just show what would be done.
286 flag is set, check the root filesystem in parallel with the other filesystems.
287 This is not the safest thing in the world to do,
288 since if the root filesystem is in doubt things like the
290 executable might be corrupted! This option is mainly provided
291 for those sysadmins who don't want to repartition the root
292 filesystem to be small and compact (which is really the right solution).
295 When checking all filesystems with the
297 flag, skip the root filesystem. (This is useful in case the root
298 filesystem has already been mounted read-write.)
301 Don't show the title on startup.
304 Produce verbose output, including all filesystem-specific commands
307 .B fs-specific-options
308 Options which are not understood by
310 are passed to the filesystem-specific checker. These options
312 not take arguments, as there is no
315 to be able to properly guess which options take arguments and which
318 Options and arguments which follow the
320 are treated as filesystem-specific options to be passed to the
321 filesystem-specific checker.
323 Please note that \fBfsck\fR is not
324 designed to pass arbitrarily complicated options to filesystem-specific
325 checkers. If you're doing something complicated, please just
326 execute the filesystem-specific checker directly. If you pass
328 some horribly complicated options and arguments, and it doesn't do
330 .B don't bother reporting it as a bug.
331 You're almost certainly doing something that you shouldn't be doing
335 Options to different filesystem-specific fsck's are not standardized.
336 If in doubt, please consult the man pages of the filesystem-specific
337 checker. Although not guaranteed, the following options are supported
338 by most filesystem checkers:
341 Automatically repair the filesystem without any questions (use
342 this option with caution). Note that
346 for backward compatibility only. This option is mapped to
349 option which is safe to use, unlike the
351 option that some filesystem checkers support.
354 For some filesystem-specific checkers, the
356 option will cause the fs-specific fsck to avoid attempting to repair any
357 problems, but simply report such problems to stdout. This is however
358 not true for all filesystem-specific checkers. In particular,
359 .BR fsck.reiserfs (8)
360 will not report any corruption if given this option.
367 Interactively repair the filesystem (ask for confirmations). Note: It
368 is generally a bad idea to use this option if multiple fsck's are being
369 run in parallel. Also note that this is
371 default behavior; it supports this option for backward compatibility
375 For some filesystem-specific checkers, the
377 option will cause the fs-specific fsck to always attempt to fix any
378 detected filesystem corruption automatically. Sometimes an expert may
379 be able to do better driving the fsck manually. Note that
381 all filesystem-specific checkers implement this option. In particular
387 option as of this writing.
390 .SH ENVIRONMENT VARIABLES
393 program's behavior is affected by the following environment variables:
395 .B FSCK_FORCE_ALL_PARALLEL
396 If this environment variable is set,
398 will attempt to check all of the specified filesystems in parallel, regardless of
399 whether the filesystems appear to be on the same device. (This is useful for
400 RAID systems or high-end storage systems such as those sold by companies such
401 as IBM or EMC.) Note that the fs_passno value is still used.
404 This environment variable will limit the maximum number of filesystem
405 checkers that can be running at one time. This allows configurations
406 which have a large number of disks to avoid
408 starting too many filesystem checkers at once, which might overload
409 CPU and memory resources available on the system. If this value is
410 zero, then an unlimited number of processes can be spawned. This is
411 currently the default, but future versions of
413 may attempt to automatically determine how many filesystem checks can
414 be run based on gathering accounting data from the operating system.
419 environment variable is used to find filesystem checkers. A set of
420 system directories are searched first:
427 Then the set of directories found in the
429 environment are searched.
432 This environment variable allows the system administrator
433 to override the standard location of the
435 file. It is also useful for developers who are testing
438 .B LIBBLKID_DEBUG=0xffff
439 enables debug output.
441 .B LIBMOUNT_DEBUG=0xffff
442 enables debug output.
465 The fsck command is part of the util-linux package and is available from
466 .UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/