Introduction to dm-verity on Android
Android 4.4 introduced a number of security enhancements, most notably SELinux in enforcing mode and verified boot.
Android’s verified boot implementation is based on the dm-verity device-mapper block integrity checking target. Device-mapper is a Linux kernel framework that provides a generic way to implement virtual block devices. It is used to implement volume management (LVM) and full-disk encryption (dm-crypt). Device-mapper works by essentially mapping a virtual block device to one or more physical block devices, optionally modifying transferred data in transit. For example, dm-crypt decrypts read physical blocks and encrypts written blocks before committing them to disk. Thus disk encryption is transparent to users of the virtual DM-Crypt block device. Device-mapper targets can be stacked on top of each other, making it possible to implement complex data transformations.
In this context, dm-verity is a block integrity checking target: it was initially developed as part of the Google’s Chromium OS project with the purpose to implement a device mapper target capable of validating the data blocks contained in a file system. This means that it verifies the integrity of each device block as it is being read from disk. If the block checks out, the read succeeds, and if not the read generates an I/O error as if the block was physically corrupt. As for dm-crypt, this process is transparent to the applications reading those blocks.
The final purpose of dm-verity is to guarantee the integrity of a volume against corruption or malicious attacks.
Galaxy S6 Edge showing “dm-verity verification failed” error
Problem: HELP! My Samsung Galaxy S6 Edge went through what seems to be the common problem of the fingerprint unlock randomly deciding to not recognise my fingerprint. When asked for a backup password this no longer worked either. Before it locked I unfortunately turned off data and Wifi so all ways of solving the unlock issue were useless, with the only option being a factory reset.
Due to this, i wanted to try and retrieve my files from my phone before doing this, which proves difficult without being able to unlock the phone. After a lot of research, I came across using adb to pull the files. In numerous cases people were able to do this from the systems Recovery mode. Long story short, downloaded (as far as i know) what was needed for my Mac Book pro to use the Adb and I plugged my phone into the computer but my device couldn’t be found. I then pressed “Apply update using adb” on the phones menu to seek that made it work (after reading somewhere it would). It still could not find the device.
After a few minutes, on the phone screen at the bottom, it said “dm-verity verification failed…” and went back to the recovery menu, where it continues to state that at the bottom of the screen.
Now, if i try and power up my phone properly, I just end up with a repeated flash of the Samsung start-up screen.
I know I have obviously not fully understood anything i was doing but if there is anyway this can be fixed or the files can still be pulled from the phone before I Factory Reset, I would appreciate any and all of your help! Thanks!
Suggestion: This is exactly the reason why users should stay away from rooting, flashing custom ROMs and messing up with ADB–you will end up having a soft-bricked phone if something goes wrong. The “dm-verity verification failed” error or screen shows up only if the EFS folder or its contents are tampered, deleted or changed. The EFS folder contains very sensitive and important files and data that are unique to your phone only, one example of this is the IMEI. It looks like the folder has been messed up and basing on your description, you haven’t created a backup because, in the first place, you couldn’t get into your phone.
There’s not much we can do about this. The best thing to do is contact your service provider. If anything else, it has information about your phone’s serial number and IMEI. Try to see if its technician can do something about this. Third-party technicians can’t do anything either because they cannot restore the correct contents of the EFS folder.
- Charge your phone at-least 50% before starting
- Download Same version firmware and Fix file
- Do all steps on your own risk
- Data(Files,Photos,Documents etc) will be erased
Solution 1 (Devices in Normal Mode)
You can fix DM-Verity Error by Rooting the phone if the phone is in Normal Mode. You can use one of the below tools to root
- Kingo Root
For Latest Version Android 6xx to Android 10 you need special tools and skills to get the phone rooted. You can use Magisk to make a rooted kernel or find root on CF-Auto-Root.
Solution 2 (FRP ON OEM ON Devices)
New Devices get stuck on logo when ever this problem occurs running android 8x to android 10. For these devices you need DRK Fix Files or EFT PRO to bypass DRK. You can fix G925t drk on 7.0 also.
How to fix using DRK Fix Files
You need Firmware with the same kernel version and DRK Fix File. Download DRK Fix files from one of these servers. You can use Samsung Tool Pro, EFT Dongle, or any other professional tool to flash the DRK Fix file.
- GSM Firmare
- Easy Firmware
- Download Samsung USB Drivers and Firmware
- Download DRK Fix File
- Reboot Phone in Download Mode
- Select DRK File in BOOT Section and AP file from Firmware in PDA Section.
- Tick only System.img and click on Flash
How to fix using EFT PRO Tool
EFT Pro has a new feature to bypass DRK Error to turn on the phone on OEM ON FRP ON Devices. In this method, you can bypass using This tool and the Same Firmware only. follow the below steps carefully
- Open EFT Pro and select Samsung
- Select Bypass Protection and then select “Bypass DRK – DM Verity error 2″ and click on AP to add Firmware AP File.
- Reboot the device in Download Mode and connect with pc
- Click on Start
- After Bypass, turn off OEM Lock and Make your phone rooted or find a DRK Fix File and flash with the above method.