[Moto G4 Plus Questions & Answers] reggow:
Still struggling, and pulling my hair out, I'm nearly bald now.

Moto G4 Plus Recovered the phone using 'Lenovo Moto Smart Assistant' application.

I then copied the firmware from the 'Lenovo Moto Smart Assistant' applications download.

C:\ProgramData\LMSA\Download\RomFiles

ATHENE_OPJ28.111_22_cid50_subsidy_DEFAULT_regulatory_DEFAULT_CFC.xml

I've extracted the firmware into my adb folder.

Opened a Powershell Window while in the adb folder and run through the following script:

fastboot oem lock begin

fastboot oem lock begin

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

fastboot flash system system.img_sparsechunk.6

fastboot flash system system.img_sparsechunk.7

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

fastboot erase clogo

fastboot oem lock

fastboot reboot

This was the result:

PS C:\adb> fastboot oem lock begin

...

(bootloader) WARNING: This command erases all user data.

(bootloader) Please re-run this command to continue.

OKAY [ 0.015s]

finished. total time: 0.016s

PS C:\adb> fastboot oem lock begin

...

(bootloader) Check 'Allow OEM Unlock' in Android Settings > Developer

(bootloader) Options

OKAY [ 0.021s]

finished. total time: 0.022s

PS C:\adb> fastboot flash partition gpt.bin

target reported max download size of 536870912 bytes

sending 'partition' (32 KB)...

OKAY [ 0.019s]

writing 'partition'...

(bootloader) Flashing primary GPT image...

(bootloader) Flashing backup GPT image...

OKAY [ 0.113s]

finished. total time: 0.147s

PS C:\adb> fastboot flash bootloader bootloader.img

target reported max download size of 536870912 bytes

sending 'bootloader' (3651 KB)...

OKAY [ 0.125s]

writing 'bootloader'...

(bootloader) validating: bootloader.default.xml ...

(bootloader) will pass: flash:aboot

(bootloader) will pass: flash:rpm

(bootloader) will pass: flash:tz

(bootloader) will pass: flash:hyp

(bootloader) will pass: flash:cmnlib

(bootloader) will pass: flash:keymaster

(bootloader) will pass: flash:sbl1

(bootloader) committing: bootloader.default.xml ...

(bootloader) - flashing 'emmc_appsboot.mbn' to 'aboot'

(bootloader) - flashing 'rpm.mbn' to 'rpm'

(bootloader) - flashing 'tz.mbn' to 'tz'

(bootloader) - flashing 'hyp.mbn' to 'hyp'

(bootloader) - flashing 'cmnlib.mbn' to 'cmnlib'

(bootloader) - flashing 'keymaster.mbn' to 'keymaster'

(bootloader) - flashing 'sbl1.mbn' to 'sbl1'

OKAY [ 0.493s]

finished. total time: 0.631s

PS C:\adb> fastboot flash logo logo.bin

target reported max download size of 536870912 bytes

sending 'logo' (2186 KB)...

OKAY [ 0.083s]

writing 'logo'...

OKAY [ 0.069s]

finished. total time: 0.169s

PS C:\adb> fastboot flash boot boot.img

target reported max download size of 536870912 bytes

sending 'boot' (16384 KB)...

OKAY [ 0.535s]

writing 'boot'...

(bootloader) Image signed with key bad key

OKAY [ 0.319s]

finished. total time: 0.872s

PS C:\adb> fastboot flash recovery recovery.img

target reported max download size of 536870912 bytes

sending 'recovery' (16484 KB)...

OKAY [ 0.543s]

writing 'recovery'...

(bootloader) Image signed with key bad key

OKAY [ 0.352s]

finished. total time: 0.908s

PS C:\adb> fastboot flash dsp adspso.bin

target reported max download size of 536870912 bytes

sending 'dsp' (16384 KB)...

OKAY [ 0.530s]

writing 'dsp'...

OKAY [ 0.182s]

finished. total time: 0.731s

PS C:\adb> fastboot flash oem oem.img

target reported max download size of 536870912 bytes

sending 'oem' (69480 KB)...

OKAY [ 2.225s]

writing 'oem'...

OKAY [ 0.664s]

finished. total time: 2.903s

PS C:\adb> fastboot flash system system.img_sparsechunk.0

target reported max download size of 536870912 bytes

sending 'system' (256517 KB)...

OKAY [ 8.157s]

writing 'system'...

OKAY [ 2.764s]

finished. total time: 10.936s

PS C:\adb> fastboot flash system system.img_sparsechunk.1

target reported max download size of 536870912 bytes

sending 'system' (258339 KB)...

OKAY [ 8.205s]

writing 'system'...

OKAY [ 2.197s]

finished. total time: 10.421s

PS C:\adb> fastboot flash system system.img_sparsechunk.2

target reported max download size of 536870912 bytes

sending 'system' (260247 KB)...

OKAY [ 8.269s]

writing 'system'...

OKAY [ 2.316s]

finished. total time: 10.605s

PS C:\adb> fastboot flash system system.img_sparsechunk.3

target reported max download size of 536870912 bytes

sending 'system' (261006 KB)...

OKAY [ 8.280s]

writing 'system'...

OKAY [ 2.152s]

finished. total time: 10.449s

PS C:\adb> fastboot flash system system.img_sparsechunk.4

target reported max download size of 536870912 bytes

sending 'system' (258102 KB)...

OKAY [ 8.196s]

writing 'system'...

OKAY [ 2.098s]

finished. total time: 10.314s

PS C:\adb> fastboot flash system system.img_sparsechunk.5

target reported max download size of 536870912 bytes

sending 'system' (262061 KB)...

OKAY [ 8.319s]

writing 'system'...

OKAY [ 2.006s]

finished. total time: 10.343s

PS C:\adb> fastboot flash system system.img_sparsechunk.6

target reported max download size of 536870912 bytes

sending 'system' (244304 KB)...

OKAY [ 7.754s]

writing 'system'...

OKAY [ 2.676s]

finished. total time: 10.447s

PS C:\adb> fastboot flash system system.img_sparsechunk.7

target reported max download size of 536870912 bytes

sending 'system' (88696 KB)...

OKAY [ 2.814s]

writing 'system'...

OKAY [ 0.724s]

finished. total time: 3.552s

PS C:\adb> fastboot flash modem NON-HLOS.bin

target reported max download size of 536870912 bytes

sending 'modem' (69401 KB)...

OKAY [ 2.214s]

writing 'modem'...

OKAY [ 0.683s]

finished. total time: 2.910s

PS C:\adb> fastboot erase modemst1

erasing 'modemst1'...

OKAY [ 0.026s]

finished. total time: 0.032s

PS C:\adb> fastboot erase modemst2

erasing 'modemst2'...

OKAY [ 0.024s]

finished. total time: 0.031s

PS C:\adb> fastboot flash fsg fsg.mbn

target reported max download size of 536870912 bytes

sending 'fsg' (2104 KB)...

OKAY [ 0.084s]

writing 'fsg'...

OKAY [ 0.078s]

finished. total time: 0.180s

PS C:\adb> fastboot erase cache

erasing 'cache'...

OKAY [ 0.027s]

finished. total time: 0.031s

PS C:\adb> fastboot erase userdata

erasing 'userdata'...

OKAY [ 0.428s]

finished. total time: 0.437s

PS C:\adb> fastboot erase customize

erasing 'customize'...

OKAY [ 0.020s]

finished. total time: 0.025s

PS C:\adb> fastboot erase clogo

erasing 'clogo'...

OKAY [ 0.019s]

finished. total time: 0.023s

PS C:\adb> fastboot oem lock

...

(bootloader) Check 'Allow OEM Unlock' in Android Settings > Developer

(bootloader) Options

OKAY [ 0.041s]

finished. total time: 0.061s

PS C:\adb> fastboot reboot

rebooting...

finished. total time: 0.008s

PS C:\adb>

Seems that the problem is the problem is the 'Check 'Allow OEM Unlock - Bootloader ' in Android Settings'.

I've checked the developer options but there is only a 'OEM unlocking - Bootloader is already unlocked' option which is greyed out.