A Catch-22 of BOOTing with fsck

Two nights ago, after completing the routine update of Manjaro, I restarted my computer. As the Manjaro loading screen flashed by, the boot process halted, and a spell-like message appeared on the screen:

“ERROR: Bailing out. Run ‘fsck UUID=xxxxxxx’ manually.”

I followed the prompt and ran fsck UUID=xxxx, but the result showed:

/dev/nvmexxx has unsupported feature(s): FEATURE_C12

e2fsck: Get a newer version of e2fsck!

It looks like there’s a disk issue. I switched to an Ubuntu system installed on another partition, and it booted smoothly into the GNOME desktop. I ran fsck UUID=xxxx again, and guess what? No errors were found—the partition appeared completely normal. It seemed fixed.

But when I rebooted and tried to enter Manjaro, I was still greeted with the same error:
ERROR: Bailing out. Run “fsck UUID”

What the heck?

Wait, don’t rush—I just remembered! When a disk exceeds a certain number of mounts, Linux automatically runs fsck during boot, right? So the issue must lie in this forced fsck process!

I removed the ‘quiet’ parameter from the kernel boot options and restarted Manjaro. Sure enough, the screen showed that fsck failed due to unsupported ‘FEATURE_C12’.

Aha! Got you, you little troublemaker!

Now that we’ve identified the problem, I need to either disable FEATURE_C12 or try upgrading fsck?

Wow, I’m just stuck in a Catch-22 where fsck can’t run because of FEATURE_C12, yet the system insists on running fsck.

Welcome to Manjaro! :smiling_face_with_three_hearts:

  1. Please read the information behind this link. It will help you to post necessary information.
  1. Please press the 3 dots below your post and then press the :pencil2:
  • If you give us information about your system, we can see what we’re talking about and make better suggestions.
  • You can do this by using inxi in a terminal or in console.
sudo inxi --verbosity=8 --filter 
  • Personally identifiable information such as serial numbers and MAC addresses are filtered out by this command
  • Presenting the information in this way allows everyone to be familiar with the format and quickly find the items they need without missing anything.
  1. Copy the output from inxi (including the command) and paste it into your post.
  • To make it more readable, add 3 backticks ``` on an extra line before and after the pasted text.
  1. Or we can try to play hide and seek :wink:
    Have you already :mag: for your problem in the forum ? (Wisdom lies in asking → listening → reading :wink: )

I googled for just this expression:
FEATURE_C12

The very first result seems relevant.

https://askubuntu.com/questions/1497523/feature-c12-e2fsck-get-a-newer-version-of-e2fsck

A suitable version of fsck should be available in the initrd, but apparently it is not.
cave: apparently … :nerd_face:

Just as you can disable the feature with

tune2fs -O ^orphan_file /dev/device

to get the check done and the file system clean,

you can re-enable it later.
(or maybe not, I can’t interpret / don’t understand the ramifications of the second comment there)

To be on the safe (and: current) side, I’d prepare a Ventoy USB stick with a very recent Arch or Manjaro ISO on it and boot that - instead of Ubuntu.
But Ubuntu doesn’t seem to choke on that feature, while Manjaro apparently can’t handle it,
so: :man_shrugging: strange …

I have had a similar thing “happen” to me, when I was trying to access/check a file system that was created by Arch with features which where not (by default) supported by the Debian derivative I was trying to use.
… but not the other way around, as it appears to be here


Ubuntu/Mint creates ext4 file systems by default with these features:
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum

Arch/Manjaro by default creates ext4 file systems with this feature set:
Filesystem features: has_journal ext_attr resize_inode dir_index orphan_file filetype needs_recovery extent 64bit flex_bg metadata_csum_seed sparse_super large_file huge_file dir_nlink extra_isize metadata_csum orphan_present

obtained through:
sudo tune2fs -l /dev/device | grep features

1 Like