I learned the meaning of Ubuntu’s “clean, files, blocks” line after my own laptop appeared to stop at it. My screen showed a message like “/dev/sda3: clean, X/Y files, P/Q blocks,” and I initially treated that last visible line as the error. It was not.
Ubuntu had already warned me that the root filesystem had less than 1 MiB free. I had been using CLion, and its JetBrains cache was one of the places where I normally reclaimed space. I shut the machine down without dealing with the warning. On the next boot, normal startup and recovery mode both failed, so I used a live Ubuntu USB to mount the installed system and free space. The machine booted again.
That experience is the starting point for this guide, not proof that every similar screen has the same cause. A “clean” result means the filesystem check did not leave errors unresolved. When the machine appears stuck there, the real problem may be a full root filesystem, a failed graphical session, another service, a mount problem or failing storage.
The lesson from my own failure was to treat “clean, X/Y files, P/Q blocks” as a checkpoint, not a diagnosis. Check whether Ubuntu is actually hung, whether a TTY still works, whether the root filesystem is full, whether a service or graphical login failed, and only consider filesystem repair when the evidence supports it.
What the “clean, files, blocks” message means
Ubuntu’s systemd-fsck services run filesystem checks for devices configured to be checked at boot. The filesystem-specific checker decides whether a check is needed, and systemd reacts differently to success, corrected errors, a required reboot, or errors left uncorrected. On ext2/ext3/ext4 filesystems, e2fsck reports counts such as files and blocks as part of its result.
The important word is “clean.” It is not an instruction to run fsck again. In my case, the line remained on screen while a nearly full root filesystem prevented the system from completing startup. On another machine, the next failed stage could be graphics, a display manager, a mount, another service or hardware initialization. The visible line tells you where the console stopped updating, not necessarily what broke.
The last line you can see is not necessarily the component that failed. Boot output is sequential, so a successful fsck status may simply remain on screen while a later unit or graphical session fails.
Start with the least invasive checks

1. Give the boot a little time
If I faced this screen again, I would begin by waiting rather than forcing an immediate shutdown. After an update, storage check or slow device initialization, boot can take longer than usual.
If there is disk activity, give it a few minutes. Repeated hard shutdowns can create the filesystem problems you are trying to avoid.
2. Try another virtual terminal
Press Ctrl+Alt+F3. On some systems another function key between F2 and F6 may be the active TTY.
If you get a login prompt and can sign in, Ubuntu is running; the problem is more likely in the graphical stack, display manager or another late boot service than in the filesystem check. I could not reach a usable recovery session in my incident, which is why I eventually moved to a live USB.
3. Look for failed services
After logging in, run:
systemctl --failed
This lists units currently in a failed state. For a specific failed unit, inspect it with:
systemctl status UNIT.service
Systemd records service output and exit status in the journal, so a failed service often has useful detail there.
4. Read errors from the current boot
Use:
sudo journalctl -b -p err
The -b option limits output to the current boot and -p err selects error-priority messages. Do not assume every red or error-level line caused the hang; look for failures that align with the point where boot stopped, especially display-manager, GPU, mount, storage, or dependency errors.
5. Check whether the disk or inode table is full
This is the check I wish I had acted on before shutting down. A nearly full root filesystem can break logins, package operations, desktop startup and services. Check space with:
df -h
Then check inode usage:
df -i
To see which top-level directories are consuming space without crossing into other mounted filesystems, start with:
sudo du -xhd1 / 2>/dev/null | sort -h
If you are working from a live USB, replace / with the installed system’s verified mount point, for example:
sudo du -xhd1 /mnt/ubuntu 2>/dev/null | sort -h
The mount point is only an example. Confirm it with lsblk -f and findmnt before inspecting or deleting anything.
A filesystem can have free gigabytes but no free inodes if it contains an extreme number of small files. If either usage is at or near 100%, free space carefully before changing unrelated boot settings.
In my case, the root filesystem had almost no free space. From the live session I mounted the installed partition and removed files I knew I could replace, including unneeded personal files and JetBrains cache data. A safer recovery should begin by copying important data when possible. I would not recommend turning my fix into a blanket command such as “sudo rm -rf *”. Verify the mounted path, inspect what is consuming space and delete only data you understand.
Start with files you can recreate or move, not system directories you do not understand. If logs or caches are large, identify the application or service that owns them before deleting anything; a large directory is evidence, not permission.
If the TTY works but the desktop does not
A working TTY is strong evidence that the kernel, root filesystem and much of userspace have booted. Focus on the graphical path rather than repeatedly repairing the disk. My own case was different—the system was starved of free space—but that is exactly why I would test TTY access and disk usage before assuming a graphics-driver failure.
Check the display manager:
systemctl status display-manager.service
Then inspect relevant errors in the current boot journal. If the problem began immediately after a graphics-driver or kernel update, record the package/kernel change before attempting a rollback. Avoid copying old commands that purge graphics packages indiscriminately; the correct recovery depends on the GPU, driver source, Ubuntu release, and what changed.
My original recovery worked, but I did not capture enough evidence before changing files. I would now record systemctl --failed, sudo journalctl -b -p err, lsblk -f, df -h and df -i before changing drivers, services or storage. That snapshot helps separate the original cause from problems introduced during troubleshooting.
When a filesystem check is actually justified
The “clean” result on my machine was a reason not to make fsck my first move. A filesystem repair becomes more plausible when you see explicit filesystem errors, emergency mode caused by an fsck failure, repeated I/O errors, an unmountable volume, corruption after unsafe shutdown or a checker result indicating errors remain uncorrected. Systemd’s fsck integration can send the system to emergency mode when filesystem errors are left uncorrected.
Do not jump from a successful “clean” line directly to a forced repair.

Identify the correct device first
Run:
lsblk -f
This shows block devices, filesystem types, labels, UUIDs and mount points. My installed system happened to be on /dev/sda3, but that detail belongs to my machine, not yours. Do not assume the partition named in another person’s guide is your root partition; modern systems also commonly use NVMe names such as /dev/nvme0n1p2, and layouts vary.
Confirm whether the target is mounted:
findmnt --source /dev/DEVICE
Replace /dev/DEVICE with the device you verified from lsblk. If it is your mounted root filesystem, do not run a normal repair against it from the live system.
Why you should not run e2fsck on a mounted filesystem
The e2fsck manual states that, in general, it is not safe to run e2fsck on mounted filesystems. Even the read-only exception described by the manual can produce results that are not valid while the filesystem is mounted.
For a root filesystem that genuinely needs repair, use an environment where the target can be unmounted, such as Ubuntu recovery mode or a live USB. Verify the device again in that environment because device naming can differ.
Never paste “fsck -y /dev/sdaX” from a forum into your machine without verifying the filesystem, device, mount state, and backup situation. -y automatically answers yes to repair questions; on the wrong device or in the wrong state, that can turn a boot problem into data loss.
A safer recovery sequence
Recovery mode did not give me a usable route into my installed system, so a live USB was what allowed me to inspect and free space. If your evidence instead indicates that an ext filesystem genuinely needs checking, a defensible sequence is:
- Back up important data first when possible, especially if you see I/O errors or suspect failing storage.
- Boot into recovery or live media so the target filesystem can be unmounted.
- Run lsblk -f and verify the exact filesystem and device.
- Confirm the target is not mounted.
- Use the filesystem-appropriate checker. For ext2/ext3/ext4, e2fsck is the relevant checker; other filesystems have different tools and repair rules.
- Read the result before rebooting. Fsck exit statuses distinguish no errors, corrected errors, a required reboot, uncorrected errors, and operational failures.
Ubuntu’s graphical Disks utility can also check and repair supported filesystems; Ubuntu’s current help notes that the check action may unmount the filesystem as needed and that repair attempts to return it to a consistent state.
What if Ubuntu drops into emergency mode?
Emergency mode is different from merely seeing a clean status line. Read the messages immediately above the prompt. A failed /etc/fstab mount, missing drive, filesystem error, or dependency failure may be named explicitly.
Useful diagnostics include:
journalctl -xb
systemctl --failed
lsblk -f
If a nonessential drive listed in /etc/fstab is missing, the fix is not necessarily to repair the root filesystem. Verify UUIDs and mount configuration before editing fstab, and keep a recovery path because a malformed fstab can prevent normal boot.
When to suspect the drive itself
Filesystem repair cannot fix failing hardware. Repeated I/O errors, devices disappearing from lsblk, SMART/NVMe health warnings, unusual noises from a mechanical disk, or corruption that quickly returns are reasons to prioritize backup and storage diagnostics rather than repeated repairs.
If important data is at risk, minimize writes. A successful fsck does not prove the physical device is healthy.
Common mistakes to avoid
- Treating the word “clean” as the error message, as I initially did.
- Running fsck repeatedly without evidence of filesystem damage.
- Running e2fsck on a mounted ext filesystem.
- Assuming /dev/sda1 is the correct partition.
- Using -y before understanding what will be changed.
- Purging graphics drivers because one old forum post had a similar-looking screen.
- Ignoring a low-space warning until the next boot, which was my actual mistake.
- Editing /etc/fstab without recording the original configuration and verifying UUIDs.
The troubleshooting order I would use now
If the system boots normally after the message, do nothing.
If it appears stuck but Ctrl+Alt+F3 gives you a login, inspect failed services, logs, disk space, and the graphical stack.
If it enters emergency mode, read the named failure and inspect the journal and mounts before repairing anything.
If there are explicit filesystem errors, verify the device and filesystem type, back up data, and perform the appropriate check from an unmounted/recovery environment.
If there are I/O or hardware-health warnings, prioritize data protection and drive diagnostics.
What my Ubuntu failure taught me
My machine booted again after I used a live USB to free space on a root filesystem I had allowed to become almost completely full. That does not make freeing space the answer to every “clean, files, blocks” screen. It makes the broader lesson more important: the last visible message can be the messenger rather than the failure.
I would now diagnose from the least invasive evidence outward—TTY access, failed services, current-boot logs, free space and inodes, graphics, mounts and storage health. I would only move to filesystem repair after the system gives me a real reason to do it.