As for OS, there's no real better choice then windows (despite what all the freetards will tell u) so I would check out some quality Powershell. The ingenious programmers at microsoft created a scripting language that also leverages the power of the .Net framework so you can automate all your windows tasks just as well as any linuxfag could (suck on that stallman).
Are you actually being serious or trolling? Wow.
It's hard for me to tell because you mixed good advice with absolute bullshit.
ingenious programmers? LMFAO
10/10 gr8 b8 m8 you got me.
As for OP, I think hacking is more a state of mind than anything.
You have to be persistent, and ready to accept failing 99% of the time and still not give up.
Accept that the only way to learn is to try, and failing is better than doing nothing.
Don't be afraid to experiment. As others have said spin up VM's and snapshot them, then you can mess with everything without fear, because you just rewind to the snapshot when it gets fucked.
Finally read alot, I mean ALOT, there is a never ending amount of new material and you could never finish reading new stuff.
Make sure you read the 'right' stuff, there is alot of crap information on the internet which will actually harm your knowledge rather than improve it.
Accept that you are a 'noob'. This is the only way to learn.
If you tackle a topic with the mindset that you are 1337 you are far less likely to progress in your learning.
The minute you start to feel like you know everything/alot about computers go and read some really technical complicated whitepapers or code and let the humble wash over you.
For me, the more I read the more of a noob I feel, and this is good.
Finally being part of a good community that share similar interests to you is very important. I can count on one hand the amount of people I know in real life I can talk to about the things we talk about on here.
Cheers and good luck man, hope to see you around the forums or IRC.