A while back, friend had a password on his laptop. So I restarted his computer, hit
F8, and it booted up in safe mode. The administrator account appeared, and it didn't
have a password. I went right in -- and by the way, administrator can see all files.
I removed the password from his limited account.
Next thing he knows, I'm using his laptop. He was like - how the f*** did you get in???
That is because on default factory loads there is no admin password on machines and if you skip setting one during set up guess what, its blank. Windows security for ya
Look, no matter what you do if they have physical access your machine is theirs. I don't care what methods you use to secure your machine if I have physical access then I have access to it completely, unless you encrypt everything and put a password on the encryption, but that leaves so much to be desired and has it's own quirks. Plus if your file system goes awry while encrypted good bye all of your data, and data recovery is typically almost 100% not possible.
So, here is the best thing you can do. Put a password on it and create maybe a guest account with limited options. Lock it down and then talk to your roommates and just be up front with them that you want them to respect your privacy and your equipment.
Do not encrypt your computer that is just ridiculous and would you really want to encrypt a file system for an OS (assuming you are running windows) that is known to crash when updating a driver? I mean file system corruption on encrypted file systems none of your disk tools work because it can't read the file system because it is freaking encrypted!!!!!!!!!!!!!!!!!!!!
With them having physical access there is not much you can do trust me. As a system administrator to all of our mobile users (6,000 of them) at my work which they take the laptops home and off campus, puts me in a position where I can't secure everything in absolutes. This is because the users have physical access to the machines, and they also go off campus which means all my networking magic that I conjure up all day every day from group policies, MCX refreshes and shell scripts I write that execute as log in and log out hooks are nil if it is not on my network.
That being said, the very best advice anyone can give, and no one has yet, is to talk with your roommates and set boundaries. This is going to be the best way to handle others using your computer.
Now, I can also recommend perhaps some security software that will log key strokes, monitor user account activity, web browsing and such so on and so forth if you want to track what they do with your computer. Then you can just bust them on it. If you live with roommates you can't trust you need to get new roommates.