[Moto G5S Plus Questions & Answers] riyan65:
To unbrick your device you need to have mmcblk0 file.

Here is the procedure for extracting mmcblk0.

https://xdaforums.com/moto-g5s/how-to/guide-how-to-create-mmcblk0-img-device-t3803176/post76795590

Here is the procedure for unbrick the hard bricked device.

Requirements

Freshly formatted microSD card of at least 32gb (It needs to have at least 31.3gb free after formatting - if it displays as less you will need to buy a 64gb microSD card)

7zip

Linux mint live usb/dvd

USB card reader

Method

The BEST method to flash the sdcard with mmcbk0.img file is to use LINUX!

Windows user have no need to install Linux in pc, you can run Linux from a bootable usb-stick that is at least 8gb or a dvd

Do not run Linux as a virtual machine on Windows! Use the live USB/DVD

0) Put the Moto g5s plus on mains charge until you have finished flashing the sdcard so it's fully charged ready for the boot test!

1) Run Linux, preferably cinnamon or mate versions of Linux Mint

2) Insert the sdcard in pc or card reader and open "Disks" app

3) In "Disks" app select sdcard and you will see the sdcard partitions

4) Press "-" to delete the partition (delete all partitions if there is more than one)

5) Press "+" to create a new one and name it mmcblk0, set FAT(FAT32) file format and press "CREATE"

6) Press "Play" button to mount the sdcard, look to see what path the sdcard has (/dev/sd??) and then close the "Disks" app

7) Go to Desktop, open "Computer" and navigate to the location where the img file is extracted (mmcblk0.img)

8) Open the window where img file is with root (right click on window and select "open as root")

9) In root window open the Terminal (right click on window and select "open terminal")

no need to type "su" in terminal, it has root already (see notes if using Linux live usb/dvd)

10) Type in terminal the command written below and don't forget to eliminate that "1" from the sdcard path,

that "1" can make the difference between the phone booting or not!!!!!

Things to note

Linux Live dvd doesn't have open as root so just open in terminal and add sudo to the start of the commands

I've included this in the commands below

If you get a status error just remove status=progress from the terminal command below

Terminal comands

- if your sdcard is seen like " /dev/sdb1"

in terminal apply this command:

sudo dd bs=4M if=mmcblk0.img of=/dev/sdb status=progress oflag=sync

-if your sdcard is seen like " /dev/mmcblk0p1"

in terminal apply this command:

sudo dd bs=4M if=mmcblk0.img of=/dev/mmcblk0 status=progress oflag=sync

and the flashing process should start

When it finishes, test the sdcard in the phone and it should boot!

If you get a size error of the sdcard in terminal you have to change the sdcard and try again!

Thanks to [MENTION=3178159]vaserbanix[/MENTION] for the original version of this guide

Re-flash Stock Firmware

Once the phone is in bootloader mode you can flash stock firmware via fastboot

Note that in order to flash gpt the firmware MUST be the same or newer than the version currently on your phone

Once you have firmware that is the same or newer than your current version you can remove the sd card and run these commands (assuming you have fastboot all setup on your pc)

fastboot oem fb_mode_set
fastboot flash partition gpt.bin
fastboot flash bootloader bootloader.img
fastboot flash logo logo.bin
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash dsp adspso.bin
fastboot flash oem oem.img
fastboot flash system system.img_sparsechunk.0
fastboot flash system system.img_sparsechunk.1
fastboot flash system system.img_sparsechunk.2
fastboot flash system system.img_sparsechunk.3
fastboot flash system system.img_sparsechunk.4
fastboot flash system system.img_sparsechunk.5 (only oreo firmware)
fastboot flash system system.img_sparsechunk.6 (only oreo firmware)
fastboot flash system system.img_sparsechunk.7 (only oreo firmware)
fastboot flash system system.img_sparsechunk.8 (only oreo firmware)
fastboot flash modem NON-HLOS.bin
fastboot erase modemst1
fastboot erase modemst2
fastboot flash fsg fsg.mbn
fastboot erase cache
fastboot erase userdata
fastboot erase customize (ignore any error)
fastboot erase clogo (ignore any error)
fastboot oem fb_mode_clear
fastboot reboot