Tuesday, December 22, 2009

Dare you install Windows 7?

Of all the operating systems available for the PC, Windows 7 provides the best balance of performance, features, and usability. Windows 7 is so good, in fact, that any further improvements would require the services of three wolves and the Moon.

Like so:

While Win 7 is great, several of its improvements are only apparent if your computer has the processing power and hardware to support them. Because of this, many older PCs will be better served by sticking with Windows XP. This guide will help you decide whether Windows 7 is right for your computer by answering a number of common questions about the new operating system.

Will my computer run Windows 7?

Before we get to you whether should upgrade to Windows 7, we first need to find out if you can. Microsoft provides a free utility called the Windows 7 Upgrade Advisor that checks your computer for compatibility, and indicates any specific issues it detects that might prevent you from installing the new operating system successfully. Potential issues include lack of sufficient memory or hard disk space, or system devices that do not have Windows 7-compatible drivers.

The advisor will also make some suggestions that would make upgrading your PC easier if you choose the "upgrade" option (only available on certain versions of Vista) as opposed to performing a fresh installation. (For example, it might recommend you uninstall a program with known compatibility issues.)

I am running Windows XP. Should I upgrade to Windows 7?

Windows XP is actually a really good operating system, especially for older computers. It's small, fast, and secure if you set it up properly. While Windows 7 introduces some nice interface and usability enhancements, they come at the cost of additional memory, disk space, and processor usage. The good news is that Windows 7 also introduces some performance enhancements that make up for the operating system's increased heft- but the potential bad news is that not all computers have enough processor power or memory to take advantage of those improvements. An old, slow computer might end up even slower on Windows 7.

In order to know whether you should upgrade from Windows XP to Windows 7, you need to answer these questions:

Do I have at least a dual-core processor?

Windows 7's performance improvements mostly have to do with multithreading and multitasking; your computer's ability to do a lot of things at once. The more processors (or "cores") your system has, the better Windows 7 will be able to manage all its tasks. These improvements are only possible on systems with at least two processor cores to work with. If you don't know how many cores or processors your system has, you can do the following:
  1. Right-click a blank area on your task bar and click Task Manager on the shortcut menu.
  2. Click the Performance tab.
  3. If you only see a single bar graph under CPU Usage History, your computer only has one single-core processor. If you see several bar graphs, that means that you have at least a multi-core processor. Most modern computers have 2 or 4 total processor cores. Most computers more than 3 years old only have a single-core processor.
Do I have at least 2 Gigabytes (GB) of RAM?

A fresh install of Windows 7 with the proper drivers installed will eat up 500MB of RAM just sitting there, which is about 200MB more than what XP requires (but about 200MB less than what Vista uses). Both Vista and Windows 7 introduced some performance improvements that rely on "predictive caching;" they load files you frequently use into memory before you actually need them, based on your common PC usage patterns. This saves time, because fetching data from memory is much faster than fetching it from your hard drive. The problem is, you need to have lots of free RAM in order for Windows 7 to be able to cache enough information to make a difference. (There's another minor performance improvement in both Vista and Windows 7 called ReadyBoost, which lets you use SD cards or USB flash drives to supplement your cache without impacting your RAM, but it's no substitute for having more real memory.)

If your computer doesn't have at least 2 GB of RAM, you won't be giving Windows 7 the memory it needs to keep your system fast while you've got various programs open. To see how much RAM you have installed, right-click the My Computer icon on your desktop (or open the System control panel), and look at the General tab. Under Computer, you should see what kind of processor you have and how much RAM is installed.

If you have 4 or more GB of RAM you'll need a 64-bit version of Windows 7 to be able to use all of it. We'll talk about that later.

Will my computer support Windows Aero?

A lot of the visual enhancements in Windows 7 are part of what Microsoft calls "Windows Aero," which is really a combination of desktop theme and various technologies. Even if a computer is capable of running Windows 7, it may not meet the heavy graphics and system requirements for Aero. Unfortunately the exact requirements are quite complex and difficult to confirm on your own, but the Windows Upgrade Advisor will inform you if your computer will not be able to use Aero, and it will give you recommendations of things you can do to fix the problem.

If you're less concerned about system performance than you are about usability, you'll be missing a lot if your system isn't Aero-capable. It might not be worth it to upgrade if your system's not going to be able to use the new OS to its fullest.

Do I use my computer primarily for 3D gaming?

If you have at least a multi-core processor and at least 2GB of RAM, Windows 7 outperforms Windows XP in almost everything except boot-to-desktop and 3D games. The problem with 3D games is that most of them are primarily "single-threaded" applications. In other words, they are written to do most of their work in a very tight, linear fashion that is immune to Windows 7's multitasking performance enhancements. Windows XP uses less memory and processor time than Windows 7, so demanding single-threaded applications, including games, tend to run better simply because of XP's lower system overhead.

If you play a lot of CPU-and-graphics-intensive games and you like squeezing every bit of performance out of your PC, you will be better off sticking with XP for now. Microsoft did a sneaky trick of limiting their DirectX 10 and 11 technologies to Vista and later... but for now there aren't many (if any?) games that require those technologies. In the future you might HAVE to upgrade to Windows 7 if compelling games start capitalizing on the various features only available in DirectX 10 or 11. But by that time you'll probably have a better computer anyway.

I am running Windows Vista. Should I upgrade to Windows 7?

Oh my yes. Vista is the slowest, most memory-and-resource-intensive operating system Microsoft ever produced. It is slower than both Windows XP and Windows 7 in all benchmarks I have ever seen, and now that Windows 7 is out, there is almost no reason to keep running Vista. Almost.

Device drivers (the software that makes your computer's hardware features and accessories work inside Windows) that are written for Vista are supposed to work just fine under Windows 7. I, however, have personally encountered three different cases where the Vista driver for a given device was not acceptably stable under Windows 7, resulting in device failure or even "blue screen" operating system crashes. In two of those three cases, I found updated Windows 7 drivers for the problem devices that fixed the issues, but in one sad case, I was forced to uninstall Windows 7 because my PC was unacceptably unstable, and I could not find any Windows 7-compatible drivers that would fix it.

So my complete advice for Vista users is this: Upgrade to Windows 7 and look for the very latest Windows 7 (or Vista) drivers you can find for all your devices. Give Windows 7 a week or two. If you find that your system is still stable, stick with it- you'll be glad you did. Otherwise, move back to Vista (or XP) until you replace your computer or new drivers come out for your problem devices.

Should I upgrade my existing installation, or should I do a fresh install?

If your computer is currently running XP, you don't have much of a choice. Your only options on an XP system are to reformat your hard drive and install Windows 7 fresh, or to install Windows 7 on a separate drive or partition, resulting in a "dual boot" setup, where you choose which OS to load when you power up your PC.

If you have Vista, however, you might have the option to do an "upgrade" install, which keeps all your programs and data, and simply replaces the operating system. You need to have matching editions of the two operating systems (for example, you can't upgrade a Vista Home installation with Windows 7 Ultimate, or 32-bit Vista with 64-bit Windows 7), but once you've established that you're able to upgrade, it appears to be a pretty stable way to go.

I have upgraded three different Vista PCs to Windows 7, and I didn't have any problems with them at all. I ran the Windows 7 Upgrade Advisor before-hand on each system, and every time the advisor recommended I uninstall a few specific programs- which I did before performing any of the upgrades. The upgrade process takes a lot longer than a fresh install (it can take several hours), but it is almost completely automated, and the end result is that you have a computer that works just like you're used to, without requiring you to re-install a bunch of applications and back-up/restore all your files.

One thing to be aware of, is that Windows 7 always enables the User Account Control (UAC) feature upon install, even if UAC was disabled in your Vista installation. I always turn off UAC first-thing, because it can cause very hard-to-diagnose problems with many application and driver installers. It can prevent them from working without telling you that there's any problem. You disable UAC in the Users control panel.

Which edition of Windows 7 should I get?

There are a number of different versions of Windows 7 available to consumers. I will only talk about the consumer versions available in the USA. Wikipedia has the best comparison of all the different editions. Here are my recommendations for the various choices that you might face when buying a new netbook or computer, with the understanding that each subsequent version I discuss includes all of the features of the previously-mentioned versions:
  • Windows 7 Starter - This version is only available as a pre-installed product on low-end computers and netbooks. It is frustratingly limited- you can't even set a desktop background or use Fast User Switching, so it's no good for a computer that's going to be used by more than one family member. This is also the only edition that is not available in 64-bit. Skip this one if you can (see the note after this list if you get a netbook that comes with it pre-installed).
  • Windows 7 Home Premium - This is the most common version available on new computers, and is usually the "free" operating system option when purchasing a new computer online- but like Professional and Ultimate, it is also available for individual purchase in stores. If you don't plan to use your PC as a Remote Desktop host (see the other editions for details), do not need Windows "domain" access, and you don't have any mission critical XP applications that might have Windows 7 compatibility issues, Home Premium is a pretty solid choice. It features Windows Media Center, and even includes the ability to play store-bought DVDs- something which used to be an "Ultimate" feature on Vista. One minor caveat about Home Premium- this edition (and Starter) will only use one physical processor in your PC if you happen to have more than one. Most people do not have multiple processors; 99% of new computers in peoples' homes have only a single processor with multiple cores. Even Starter will use multiple cores, but neither Home nor Starter will make use of any additional physical processors installed in your PC.
  • Windows 7 Professional - This version adds the ability to connect to Windows domains (a kind of network usually only used in large-scale businesses, almost never at home), and the ability to enable "Windows XP Mode," a downloadable feature that actually runs a full-on copy of Windows XP inside a "virtual machine" environment, which lets you install old XP-based applications that might not operate properly in Windows 7 inside a safe environment. The performance in XP mode isn't as good as running the application natively, but it provides 100% XP compatibility to those who need it. (Note: XP Mode will only work on PCs with hardware virtualization support. This is a relatively recent technology that not everyone has.) The most important feature introduced in Professional, for me, personally, is the ability to operate as a Remote Desktop host. With this feature, you could have your Windows 7 computer in one room of the house, and connect to it from another computer in the house over your home wireless network, and control it as if you were sitting right there. I use this feature all the time for cases where I want to access or share a file stored at one PC but I'm too lazy to actually walk over to where that PC is. I use Remote Desktop all the time, and this feature alone is worth my money. Professional has every feature that I need in an operating system.
  • Windows 7 Ultimate - Ultimate is only slightly more expensive than Professional, but not a single one of the additional features it includes are anything that I will ever use. If you have a choice between Professional and Ultimate, you seriously won't be missing out on anything big if you go the cheaper route.
All Windows editions below Ultimate should offer an "Anytime Upgrade" option which unlocks the features of a more advanced Windows version for a discounted price. For example, I bought a Dell netbook that had Starter edition installed, and used the Anytime Upgrade feature to upgrade my system to Windows 7 Ultimate. The whole process took only about 10 minutes.

Should I get 32-bit or 64-bit Windows 7?

This is the toughest question of them all. For most people, for most applications, the only real reason to use 64-bit Windows is to ensure that you have access to all your physical memory if you have 4GB or more installed. Most people are going to be just fine with just 2-3GB on Windows 7, and 32-bit Windows offers the most compatible and stable situation right now. If you have or think you will someday need 4 or more GB of RAM, though, you need to think seriously about 64-bit, assuming your computer will even support it (not all systems do). It's a complicated matter, though, because 64-bit Windows actually runs best with 64-bit applications and requires 64-bit drivers. Let's look at these issues individually:

32-bit programs are different from 64-bit programs, and not all applications are available in 64-bit versions. Microsoft has put a ton of work into making sure that 32-bit programs function in a 64-bit environment, but there are some very strange side-effects that can cause hard-to-diagnose problems. For example, a 32-bit application that stores settings inside the Windows registry actually saves its information in a different "ghost" registry that only 32-bit programs can see. The same goes for 32-bit files in the Windows folder; Windows separates 32-bit and 64-bit files into different places on your hard drive, but this behavior might confuse certain applications expecting their files to be stored elsewhere. The ideal situation is to find a 64-bit version of important applications you use. This situation will improve over time.

If you don't have 64-bit Vista or Windows 7 drivers for your devices, your devices simply won't work. The newer your computer or peripherals are, the better chance there is that you will find 64-bit drivers for them (remember, 64-bit XP drivers don't count; they have to be for Vista or Windows 7). If you plan to install 64-bit Windows on an existing computer, make sure you have 64-bit drivers for all critical components before you upgrade Windows.

So, short answer: Get 64-bit Windows if you need access to 4 or more GB of RAM, you have 64-bit drivers for all your hardware, and your computer is capable of running 64-bit Windows (that's the next topic).

Can my computer run 64-bit Windows?

64-bit Windows requires special CPU features that aren't present in many older PCs. The best way to determine if your computer is capable of running 64-bit Windows is to run the Windows 7 Upgrade Advisor. Once it has checked your computer, it will create an additional "64-bit" tab if it determines that your CPU has 64-bit support. If you do not see the 64-bit tab, you're stuck with 32-bit, whether you like it or not. (For the time being, consider that a blessing. The compatibility and reliability issues with the current generation of 64-bit drivers and applications result in endless headaches.)