[Samsung Galaxy S10 Questions & Answers] ErikUden:
Hello there!

My Samsung S10 (SM-G973F/DS - more information about the phone at the bottom) is currently caught in a boot loop. Here is everything you need to know:

It is rooted with Magisk using this tutorial.

I've used it fine for months - it does not have any boot loop protection modules installed.

A few months ago I swapped the battery using this iFixIt tutorial. It worked fine.

The bootloop has 3 sections (view video of whole boot loop here):

00:19:46 seconds: Booting on

00:00:48 seconds: "Samsung Galaxy S10" + "Secured by Knox" + "Powered by android"

00:11:59 seconds Warning Symbol "This phone's bootloader is unlocked and its software integrity can't be verified. Any data on this phone may be vulnerable to attackers. Don't store any important or sensitive information on this phone." and "PRESS POWER KEY TO CONTINUE"

00:06:59 seconds Warning Symbol, + text in red "This phone is not running Samsung's official software. You may have problems with features or security and you won't..." + "Samsung Galaxy S10" + "Secured by Knox" + "Powered by android"

01:07:09 seconds: "Samsung" Logo screen (not sure if this is still trying to boot on or already turning off - since it vibrates before showing this logo I assumed it was the shut off screen)

00:07:55 seconds: black screen (not sure if this is after shutting off or before booting on)

You can also find these boot loop section durations as timestamps of the video at the bottom.

The following scenario occurred before it started this vicious cycle: In order to boot into the partition that allows me to use the phone with root privileges it needs to be connected to a PC/Laptop for something called "Download Mode" to be entered / utilized. Not quite sure how that works or why that is, but it needs to be connected to a PC (the tutorial I used to root it explains this). Before the thing that probably caused it to boot loop happened, my phone died due to its battery being low (0%). I then connected it to my Laptop, it charged to 1%. Charging it through my laptop is so slow that it would lose power when being turned on whilst charging. I knew this, so I already prepared a different charger connected to an outlet in the wall to then plug the phone to once this boot with root privileges process is finished. I was impatient and only let the phone charge to 1% on my Laptop, then decided to press the three buttons (Volume Up, Bixby, Power) needed to boot it with root privileges. It booted just fine, I think. It showed the GUI, showed some notifications ("Repainter was granted SuperUser rights") and showed the unlock SIM screen! At this point the phone was at 1%, which is when I unplugged it from the Laptop charger and wanted to plug it into the wall charger. During this fraction of a second, however, the phone died. It died moments after just booting up. Additionally, it wasn't like a regular shutdown - it was more instant and did not even show the "Samsung" logo when turning down. Since then the boot loop is happening.

The boot loop is quite strange, because when it is fully discharged it still displays the "percentage charged" screen when plugged in, yet afterwards when booting it on it enters the boot loop. There used to be a time where the "percentage charged" screen displayed after each reboot, right now this is not the case, even when plugged in. I am able to enter download and recovery mode.

What I'd also like to mention is that I do have access to the exact files I flashed onto my boot partitions when rooting my phone.

Now, there are some people claiming this sometimes happens due to the battery being faulty, which I would consider to be a possibility, considering how I abuse and burn through the battery with my insane phone usage (usually the battery lasts for 2-3 hours from 100% to 0%, there are hundreds of applications running) - however, I'd love to hear other suggestions of what I could try because swapping a battery ain't easy on a non-R2R device like any of Samsung's phones!

Do you have any idea what I can do to fix this boot loop?

What I've tried:

Cleared cache in Recovery Mode

Optimized apps in Recovery Mode

Removed MicroSD and SIM Card

Let it discharge completely

Let it charge to 100%

Is there any way to save this? Could it be that the boot partition is damaged and can be repaired with Odin (without wiping all data on the phone)? Is there any way to access the data (not just the data on the MicroSD Card?).

If you got any ideas, I'm willing to give them a try!

I've also asked for help on Mastodon here - in case someone else got a similar issue maybe that thread holds the right answer to you.

Edit 1:

An Idea mentioned on Mastodon was to simply flash all of my previously generated BL, AP (Magisk), CP, CSC files onto the bootloader using Odin [1]. Do you think that is a good idea?

Edit 2:

An idea mentioned on Mastodon by Hazel was to use TWRP to make a backup first. Do not know how to use TWRP but that sounds smart!

Here's all the information about my phone that I have:

PHONE INFORMATION
Model Name: Galaxy S10
Model number: SM-G973F/DS
Serial number: RF8M546Y9LB
Baseband version: G973FXXSGHWC2
One UI version: 4.1
Android version: 12
Board: exynos9820

CSC: DBT
AP: G973FXXSGHWC2
CP: G973FXXSGHWC2
CSC: G973FOXMGHWC2

Three letters: OXM
Service Provider Software Information: DBT (Germany)

Timestamps of the video

Timestamp 0: 00:00:00 (Beginning)
Timestamp 1: 00:07:17 (First Logo Appears)
Timestamp 2: 00:08:05 (Warning Thingy Appears)
Timestamp 3: 00:20:04 (Samsung Galaxy S10 Logo Appears)
Timestamp 4: 00:27:03 (Shut Off / "Samsung" Logo Appears)
Timestamp 5: 01:34:12 (Shut Off / "Samsung" Logo Disappears)
Timestamp 6: 01:42:07 (First Logo Appears Again)

Second Timestamps (Sanitized | -00:07:17)

Timestamp 1: 00:00:00 (First Logo Appears)
Timestamp 2: 00:00:48 (Warning Thingy Appears)
Timestamp 3: 00:12:47 (Samsung Galaxy S10 Logo Appears)
Timestamp 4: 00:19:46 (Shut Off / "Samsung" Logo Appears)
Timestamp 5: 01:26:55 (Shut Off / "Samsung" Logo Disappears)
Timestamp 6: 01:34:50 (First Logo Appears Again)