Stuck in emergency mode, cannot restore snapshot with Timeshift

So yesterday I was playing a game when all of the sudden my computer completely freezed up. I restarted my computer and was stuck with this text left on my screen:

[        3.773317] ldm_parse_tocblock(): Cannot find TOCBLOCK, database may be corr
upt.
[        3.773326] ldm_parse_tocblock(): Cannot find TOCBLOCK, database may be corr
upt.
You are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, "systemctl default" or "exit"
to boot into default mode.
Give root password for maintenance
(or press Control-D to continue)

Now, I've seen this screen before and I had just simply restored a backup using timeshift. However, when I attempted to restore a snapshot from a Live USB, and Timeshift gives an error when I select my drive

There are no snapshots on this device

...which can't be true because I can access the folders of all my snapshots at @/timeshift-btrfs/snapshots. However, when I open info.json on each of them, it is corrupted and filled with squares.

Could someone please help me fix this problem so I can access my computer? I would greatly appreciate it!

Maybe you could try to chroot from the live USB into your system and launch
sudo btrfs check
In case of errors then you could try
sudo btrfs check --repair

3 Likes

I ran the

sudo btrfs check

command and it found no errors. Should I try running the

sudo btrfs check --repair 

command as well?

No, I think the repair is always a bit risky...

1 Like

At the "recovering journal" error, hit the Enter key to enter maintenance mode, then at the # prompt, type:

journalctl -xb

And post the output

2 Likes

The output was over 1000 lines long, so I got some pictures of colored errors that I thought were important:








Let me know if I need to post more information

Ah, I cant find the order of the images. Go through the logs and post anything looking like errors.

Okay so I was able to check the @log directory of my boot device with a live USB and this was what the output was for boot.log:

e%G[e[0;1;31mFAILEDe[0m] Failed to start e[0;1;39msystemd-guest-user.servicee[0m.
[e[0;1;31mFAILEDe[0m] Failed to start e[0;1;39msystemd-guest-user.servicee[0m.
[e[0;1;31mFAILEDe[0m] Failed to start e[0;1;39msystemd-guest-user.servicee[0m.
[e[0;1;31m TIME e[0m] Timed out waiting for device e[0;1;39m/dev/disk/by-uuid/9c11b4d9-dc2f-4167-bc12-76b80a3e5b53e[0m.
[e[0;1;38;5;185mDEPENDe[0m] Dependency failed for e[0;1;39m/mnt/timeshift/backupe[0m.
[e[0;1;38;5;185mDEPENDe[0m] Dependency failed for e[0;1;39mLocal File Systemse[0m.
[e[0;32m OK e[0m] Finished e[0;1;39mTell Plymouth To Write Out Runtime Datae[0m.
[e[0;32m OK e[0m] Finished e[0;1;39mCreate Volatile Files and Directoriese[0m.
Starting e[0;1;39msystemd-guest-config.servicee[0m…
Starting e[0;1;39mNetwork Time Synchronizatione[0m…
Starting e[0;1;39mRecord System Boot/Shutdown in UTMPe[0m…
[e[0;32m OK e[0m] Finished e[0;1;39mRecord System Boot/Shutdown in UTMPe[0m.
[e[0;32m OK e[0m] Finished e[0;1;39msystemd-guest-config.servicee[0m.
[e[0;32m OK e[0m] Started e[0;1;39mNetwork Time Synchronizatione[0m.
[e[0;32m OK e[0m] Reached target e[0;1;39mSystem Time Sete[0m.

Maybe, instead of launching timeshift from the live USB, you could use the USB to chroot into your system, then launch timeshift from terminal with
sudo timeshift --restore

1 Like

It has the same error again, it either displays no backup devices when I use

sudo garuda-chroot

or it just says that there are no snapshots.
It also doesn’t work when I use

sudo chroot

1 Like

I followed those instructions and it still showed no snapshots for me:

To be honest - it sounds like you're having a hardware issue - your SSD/NVME or whatever you have sounds like it could be about to die and that's why you aren't seeing any snapshots.

This may suck to hear - but I hope you've got backups.

2 Likes

Well I thought that I did have backups with Timeshift up until the info.json file got corrupted. However, I found another similar thread were someone mentioned replacing the corrupt info.json: Json files describing the snapshots messed up · Issue #313 · teejee2008/timeshift · GitHub

It should be possible to create new snapshot. Then you can use the info.json from there. If not: here is one of mine. For me it worked just replacing the damaged json with a working one.

  "created" : "1544955020",
  "sys-uuid" : "46b1f5a5-00b4-4ce1-a181-dc815668c599",
  "sys-distro" : "arch",
  "app-version" : "18.9.1",
  "file_count" : "0",
  "tags" : "ondemand",
  "comments" : "",
  "live" : "false",
  "type" : "btrfs",
  "subvolumes" : {
    "@home" : [
      "@home",
      "839",
      "291924873216",
      "5621964800",
      "46b1f5a5-00b4-4ce1-a181-dc815668c599"
    ],
    "@" : [
      "@",
      "838",
      "18277564416",
      "239136768",
      "46b1f5a5-00b4-4ce1-a181-dc815668c599"
    ]
  }
}

The only thing is that I do not know what to replace in this new info.json file. What do I need to change in order to make this work with mine?

1 Like

Good luck. You're WAY over my expertise on that one.

1 Like

Maybe you could try creating a dummy snapshot from the USB and use the relevant info.json created there to replace the others.

That's something that I tried to do, but for some reason Timeshift won't let me make a backup; it has the "create" option greyed out and it said that it's "restore only"

Do you walk through the settings?

Damn, not possible in live mode.

1 Like

What? Which settings? Do you mean the setup through Timeshift? If so, yes I did and it said that there were no snapshots detected

°°° ^^^^ again, :slight_smile:

2021-08-21_22-03