Tuesday, June 24, 2014

Simple optimizations for SSD on Windows 7

Recently I dusted-off one SSD and decided to install it into my ThinkPad X201. It's a small 64GiB 2.5" Transcend drive, and wanted to see how much better is using the SSD compared to the conventional spinning disk drive. So here's my check-list:

1. Install Windows 7 as usual.
2. Disable scheduled disk defragmentation - right click on the drive, select "Tools" tab, click "Defragment now...", click "Configure schedule...", uncheck "Run on a schedule".
3. Disable file indexing - right click on the drive, select "General" tab, uncheck "Allow files on this drive to have contents indexed in addition to file properties".
4. Check the MSAHCI driver is using SATA mode - edit registry key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Start" to value "0".
5. Reboot and check in your BIOS that the disk is in SATA (sometimes described as AHCI) mode, not Compatibility mode.
6. Check for disk TRIM support, run this command in the console (run "cmd" as administrator): "fsutil behavior set disabledeletenotify 0".
Note: SSD TRIM can actually slow-down your machine, by explicitly marking blocks for deletion. It's entirely possible to have TRIM disabled and to just over-provision your disk by leaving some non-partitioned spaceon the disk (between 7% and 25%). Feel free to experiment and choose what suits you best.
7. Disable your system page file - Control Panel -> System, select "Advanced" tab, click on "Settings..." button in "Performance" area, select "Advanced" tab, click "Change...", uncheck "Automatically manage paging file size for all drives", select "No paging file" radio-button, click "Set", reboot (hey, GUIs are nicer than command-line, aren't they?).

It's not very scientific, but it works.

PS: This information was found on the "Internet", and was copied here solely for my own convenience. I didn't invented this tip, credit should go to others.
PS2: Need to dig out my notes for similar checklist on Linux SSD setup.

Monday, June 23, 2014

Synchronizing Linux and Windows 7 system clocks on dual-boot machine

Offtopic: As I tend to forget I have to write things down, especially important ones. So I decided to start putting short post-it notes online, just not to forget countless little things that I have to remember.

It became a habit of mine to always have at least 2 OSes installed on all of my machines - a favorite one (GNU/Linux) and a "expensive-and-buggy" one (Windows 7). It took me a while to notice that the system clock is always wrong in one of the OSes, and when you fix it in one of them, it breaks the other one. It turned out that Windows 7 prefers to use user's local time as system clock, while Linux uses UTC and calculates the offset to the local time. I decided to force Windows 7 to the "the right thing". You need to edit the following registry key value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

...and change its value from "0" to "1". If this registry key value doesn't exist, just create a new one with value type "DWORD" and set it to "1". Now you can reboot and enjoy a synchronized clocks on both OSes.

PS: This information was found on the "Internet", and was copied here solely for my own convenience. I didn't invented this tip, credit should go to others.