Is it possible to root my Galaxy S7 without a PC? Can it be rooted from the SD card?
Yes, you can root your phone using the Kingroot application. This also doesn't void protection because the KNOX counter always remains 0. You have to download an APK from the XDA developers website and transfer it to your device, then enable Unknown Sources in Security.
Here is the download page from where you have to acquire the APK file: https://forum.xda-developers.com/android/apps-games/one-click-root-tool-android-2-x-5-0-t3107461