1st
Extracting a boot.img using Fastboot Enhance
Pre-requisites
A device with a working version of magisk manager installed, simply change the channel to the version outlined in the list above relevant to your firmware then select install / update:
A Windows 10 computer / laptop
A full update downloaded firmware zip for your model (recommend oxygen updater)
Payload dumper program for Windows.
The local System Update Installer : normal local system update will not allow a reboot during installation, the one I've linked will.
Process
On your computer
1. Download and copy the fastboot enhance folder to your desktop or a location of your choosing.
Download from here:
https://github.com/libxzr/FastbootEnhance/releases
2. Download the firmware of your choice and open it using Winrar or a similar zip program, extract the file called payload.bin a folder of your choosing.
3. Run the program FastbootEnhance.exe, a window will appear, click Payload Dumper, then click browse and point to the payload.bin file, the contents will now be shown.
4. One of the files will be called boot.img, this is the file we'll be patching, click extract then copy this to your phone, root of storage which is called /sdcard.
On your phone
5. Open up Magisk and click Install / Update, if you don't see update then change channel, so this by changing the channel in magisk settings, it'll then show the install/ update buttons.
6. Select "Select and Patch a file" it'll open up a file browser, navigate to the boot.img you copied earlier and select it, allow it to complete (this will output a file called "magisk_patched" (which will be in the Downloads folder)
You now have a patched boot.img ready to flash to either slot with fastboot or boot via fastboot, would recommend booting as this is risk free, if it's a bad image for whatever reason and you choose to flash then your phone may bootloop.
3rd
Rooting using fastboot commands
Method 1
Booting the patched image
1. Obtain a patched boot image for your device variant preferably using payload dumper or download one of mine from the foot of this guide or if you've just performed the above guide you should already have a functional one, copy this file to your fastboot folder on your computer
**NOTE - The above suggested downloads are for the EU / UK variant- if you have another model / firmware please use that instead, If you did not obtain the boot.img from a firmware and patch it yourself, you will need to patch it again in magisk manager to avoid a bootloop, if you still get a bootloop it's best to obtain one yourself using the guide at the top of this post.
2. Reboot your phone to fastboot
and connect to your computer.
3. Boot the magisk patched img
fastboot boot magisk_patched (or name of your patched boot img)
Your phone should now boot automatically, you should now be rooted but we need to make this permanent, if you were to reboot you would lose root.
4. Open magisk manager and click install/update, if you are missing the install/ update buttons, change magisk version to beta in magisk settings and install the update, the buttons should then show.
5. Select Direct install (recommended) then click ok.
6. Allow magisk to permanently root your device then click reboot.
You should now boot and remain rooted.
Window's version
Windows 7 will not work with fastboot, please use Windows 10
USB
Use USB 2.0 not 3.0 or 3.1
ADB
These are the files i use for ADB (1st in the below list) tested these on fresh installs of windows on several windows machines, all win 10
Place them into the root of C so it reads C:\ADB much easier to navigate to that way.
Bootloader unlock
Boot to the bootloader with adb reboot bootloader
type fastboot flashing unlock
Agree to unlock - allow to boot.
If you can't see the device using ADB
Make sure USB Debugging is turned on
Connect your cable to your phone and computer, when asked what you want your phone to do, click on transfer files, a driver will be installed.
After this reconnect your phone and it'll prompt you with a disclaimer with a check box, check the box and click ok, ADB / Fastboot should now work.