The reason that
ntbtlog.txt is not getting created on your system on which Avast is unable to run is likely due to the fact that it uses a driver which is not starting. Drivers are loaded early in the boot process and
ntbtlog.txt isn’t written until the session manager runs, which occurs after the drivers are loaded. So if Avast’s driver is causing a problem, then the boot-log may not get written. I had a similar problem a while back and found an MS knowledge base article that gave a clue to the reason. Of course it doesn’t help solve the problem.
Use Autoruns to view the installed drivers (reduce the clutter by selecting verify and hide). You should see one or more Avast related drivers. If you disable them and reboot (selecting the boot-log option), you should get the file.
The next step is to figure out how to fix Avast—short of just reinstalling it. (Of course you’ll want to re-enable the its drivers.)
Services.msc and open the Avast service(s) and switch to the Dependencies tab and look at the top box. It should show you what services or drivers it depends on. That will help narrow down what’s causing the issue.