Btrfs Can't Read Superblock on External Disk Problem

If this is the wrong place, I apologize.

I am new to Linux and I am about to lose an important disk.

I am using a 2TB SATA external disk to store my backups. My system was working fine until a few hours ago, when I turned the computer back on, I saw that I could not connect to my disk.

When I enter my login password to access my disk, I get the following error.

Error mounting /dev/sda1 at /run/media/azor/Backup: can’t read superblock on /dev/sda1

I tried methods such as recovery but I was unsuccessful. I would be grateful for your help.

I have added the btrfs tag to your topic.

I’m not a user of BTRFS personally, however, the error seems to indicate an issue with the file system; perhaps btrfs-check might be useful:

The presumption is that btrfs-check would need to be performed on an unmounted file system (much like using fsck on an ext4 file system); perhaps best initiated from a bootable Manjaro Installer USB. Please perform research as needed.


Some system context might be useful for those wishing to help. Please provide full system information using the following inxi command;

inxi --admin --verbosity=8 --filter --no-host --width

I’ve taken the liberty of leaving you the filtered command which obfuscates any personally identifiable information from the output. You might like to add this to your notes.

Regards.


Welcome to the Manjaro community

As a new or infrequent forum user, please take some time to familiarise yourself with Forum requirements; in particular, the many ways to use the forum to your benefit:


Required Reading:

Resources:


Update Announcements:

The Update Announcements contain update related information and a Known Issues and Solutions section that should generally be checked before posting a request for support.


System Information:

Output of this command (formatted according to forum requirements) may be useful for those wishing to help:

inxi --admin --verbosity=8 --filter --no-host --width

Be prepared to provide more information and outputs from other commands when asked.


Regards.

Thank you for your response.

I was have read and tried some btrfs wiki. The commands you gave before, they did not work, or maybe I used them incorrectly. I am currently trying to recover the data with ddrescue -n.

My detailed system information is as follows and I do not think there is anything I need to remove. Thank you again.

System Details
System:
  Kernel: 6.12.4-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.12-x86_64
    root=UUID=6b508a89-b699-45b7-835f-de779380230f rw quiet splash
    udev.log_priority=3 usbcore.autosuspend=-1
  Desktop: KDE Plasma v: 6.2.4 tk: Qt v: N/A info: frameworks v: 6.8.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Manjaro base: Arch Linux

Machine:
  Type: Desktop System: Micro-Star product: MS-7D11 v: 1.0
   
Memory:
  System RAM: total: 16 GiB available: 15.5 GiB used: 3.11 GiB (20.1%)

CPU:
  Info: model: 11th Gen Intel Core i7-11700F bits: 64 type: MT MCP
    arch: Rocket Lake gen: core 11 level: v4 note: check built: 2021+
    
Drives:
  Local Storage: total: 2.27 TiB used: 93.45 GiB (4.0%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: KIOXIA model: EXCERIA SSD
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: ECFA15.3 temp: 54.9 C
    scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST2000DM008-2UB102
    size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 1.5 Gb/s
    tech: HDD rpm: 7200 serial: <filter> fw-rev: 0001 scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 465.47 GiB size: 457.09 GiB (98.20%)
    used: 93.45 GiB (20.4%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2
    label: N/A uuid: 6b508a89-b699-45b7-835f-de779380230f
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 288 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 label: N/A
    uuid: 04E0-318C

Swap:
  Alert: No swap data was found.

Unmounted:
  ID-1: /dev/sda1 maj-min: 8:1 size: 1.82 TiB fs: btrfs label: Yedek
    uuid: c8feff30-6005-4904-9bd6-69515b2b28da


    tool: systemctl
  Compilers: clang: 18.1.8 gcc: 14.2.1 Shell: Zsh v: 5.9 default: Bash
    v: 5.2.37 running-in: konsole inxi: 3.3.37

This post is meant as a brief summary for others, in hopes that someone familiar enough with BTRFS file system will contribute something useful.

The OP is receiving the following error:

I note that the error refers to a failure to mount /dev/sda1 which is apparently a 2TB external SATA HDD using BTRFS.

Judging by “When I enter my login password to access my disk” it’s possible they are also using encryption, but this hasn’t been clearly stated.

The OP has also attempted other as yet unspecified methods to recover their data. There isn’t a great deal of information to work with at this time and possibly the more they try things the chances of recovery may be worsened.

…and we presume this also means new to using BTRFS.

I hope this quick overview is helpful to others reading.


@theazopizi

A professional data recovery service is also a valid consideration, if you feel that’s warranted.

If you decide that is an option, I’d suggest not attempting any further recovery operations; in fact, disconnect it completely until you can have someone examine it more thoroughly.

Regards.

Actally the first superblock is not readable. You can recover the superblock by another copy on the same partition:

sudo btrfs rescue super-recover /dev/sda1

https://btrfs.readthedocs.io/en/latest/btrfs-rescue.html

You forgot to mention a Lot of needed information.

  1. What die you do before this happend ?
  2. Did you Change partitionsnon this disk ? (With which program?)
  3. How Is the disk partitioned (msdos / gpt / none)
  4. Is the disk encrypted?
  5. What does lsblk find about the disk
  6. Have you already tried to mount the disk readonly (per commandline !)
    :footprints: