CPU Upgrades – Not As Easy As They Used To Be

I thought upgrading my CPU would be easy. Turns out – it’s far, far, far more complicated than you’d ever imagine!

mycomputer Lately I’ve been thinking that maybe it’s time to upgrade my computer a little bit and make the jump to a newer CPU – specifically a 64-bit Dual or Quad core CPU. My venerable old Pentium 4 (with HyperThreading!) is still working just fine – but it is starting to show its age. And of course there’s that whole 64-bit thing I’m dying to try out (4 gigs of memory just isn’t enough anymore!).

So, I started to look around – but keep in mind it’s been quite a while since I last built my own computer. My computers tend to last for many, many years, so I don’t build them often – and as you’ll recall my current computer was pre-built.

Suffice to say, I was a little bit lost. The last time I built a computer from scratch (nearly 10 years ago now), the CPU choices were basically either Intel (Pentium III) or AMD (Athlon or Duron). There was a socket/slot for the Intel (socket 370 or Slot 1), and a socket for the AMD (socket A). Your motherboard was made for one or the other – and that was it.

Things are far more complicated these days.

We’ve still got sockets, of course – but a bewildering array of them, and some of them even have multiple names!

And if the number of sockets wasn’t confusing enough, now you have to pay far more attention to the particular chipset which accompanies your socket. To get an idea of what I’m talking about, just look at this list of Intel chipsets.

When I started looking around, I made the initial mistake of not paying attention to chipsets. I thought that since my current CPU socket was a LGA 775 (or “Socket T”) – the same one that was used for Core 2 Duo and Core 2 Quad processors – I could just take out my old CPU out and pop in a new one.

Sadly, this is not the case. My current chipset is the Intel 945P, which sadly does not support any of the new Core 2 processors. The best it can do for multi-core is the Pentium D, which in my experience is not that great. (The Pentium D runs much hotter and has less on-board cache.)

Since chipsets are not a replaceable component, the only option is a new motherboard. Again, in the “old days” this would not have been a big deal – but again, these days there is a bewildering array of choices.

What makes the whole experience even more maddening is the additional factor of… well, form factors. My current motherboard is a BTX form factor – a new-ish form factor that never really caught on.

BTX Motherboard for the Dell XPS 400Of course, the BTX form factor is totally incompatible with the far-more-common ATX form factor. Which means I’m basically SOL when it comes to upgrading. 

The handful of BTX form factor motherboards I’ve been able to find thus far are all of the same type as the one I have now – in other words, similar chipsets that don’t support Core 2 Duo or Quad.

So now I’m facing the reality that, in order to upgrade my CPU, I need to upgrade my motherboard, and in order to upgrade my motherboard I need to upgrade my case and power supply. And once all that is done, I’ll need to re-install Windows from scratch (this many hardware changes would make Windows throw a fit).

I don’t know about you, but this is starting to sound a lot less like “CPU upgrade” and a whole lot more like “whole new computer.” Which, of course, is exactly what I didn’t want to do.

See, I like my current computer – it’s been very good to me – and it’s design is very good. The cooling is excellent and it’s nice and quiet. It’s got plenty of USB ports (both front and back), which is important because I have lots of USB devices hanging off my computer. And I’m rather fond of the extra set of front-mounted microphone and headphone jacks – especially since plugging something into the headphone jack automatically cuts the sound to the rear speaker jack (very handy for using headphones). Say what you will about Dell computers, but mine is very good at what it does (being part of Dell’s higher-end XPS line doesn’t hurt either).

The thought of having to get rid of the case and buy all that new stuff is, frankly, rather depressing – mostly because it’s more work (and more money!) than I had planned for. But, it looks like I don’t have much choice. It’s either upgrade, or buy a whole new computer. All this confusion is one of the reasons why I didn’t build my last computer – but I guess I’m paying the price for that now.

I guess I just have to face the fact that upgrading my CPU just isn’t as easy as it used to be!

Computer icon courtesy of the Crystal Icon Set. Motherboard image courtesy Dell.

So Much for my “Upgrade” Path

There’s been a major change in my plans to eventually “upgrade” to a 64-bit OS (probably the 64-bit version of Windows 7). Namely, the idea that it could be an “upgrade” at all.

There apparently is no upgrade path from any Windows 32-bit edition to any Windows 64-bit edition. If you’re going to make the jump, you have to do a clean install.

Major bummer.

Bad Sectors? Low-Level Format

It seems like there IS a way to “clear” bad sectors from your hard drive so you can use tools like GParted and the like – but I use “clear” in a very loose sense here!

First off, I MUST point out that I’m talking about file-system bad sectors. I’m NOT talking about physically damaged disk platters.

It seems NTFS keeps a list of bad sectors, and as long as those sectors are there, most partition-resizing tools will refuse to touch the disk with a 10 foot pole. HOWEVER… those of you who are beyond a certain age might remember something called a “low-level format.” (I’ll wait a moment for you while the moment of nostalgia passes.)

I thought I’d never see a need for low-level formatting in today’s world of super-reliable, super-fast, super-S.M.A.R.T, super-big hard drives – but it seems there is still one use for it.

The hard drive manufacturer’s low-level formatting utility will detect “bad” sectors and put them in the drive’s internal list of “bad” sectors – this is in the drive’s own firmware mind you, not in any file system structure (because at this point, your file system has been wiped out!).

Once this is done, the drive’s own controller will silently avoid those bad sectors – from any software’s point of view, those sectors or clusters just don’t exist anymore. (Since software rarely – if ever – directly addresses the disk, this sort of behind-the-curtain hiding of sectors or clusters is easily done by the drive’s on-board controller.)

After the low-level format, you can partition & format the drive normally, and your OS or whatever disk-checking tool you use should find a nice, clean disk with no errors.

Astute readers will note the downside to this “solution” – you have to low-level format your hard drive! Obviously this erases everything on it, without any possibility for recovery. So it’s not for the faint-of-heart.

And, coincidentally, it’s not for me, either. I’ve simply got too much data on my 2nd hard drive to back it up easily (and cheaply). And doing this to my primary hard drive (and thus being forced to re-install Windows) is simply out of the question.

For those that are interested, I found a lot of this information in this EASEUS Software Forum posting, while looking for the reason why (you guessed it) their software wouldn’t re-size my partition.

In the end, it looks like I’m stuck running the Windows 7 beta in a virtual machine – which is of course super-slow.

Maybe someday I can shell out the cash for an external hard drive so I can back up my data and do the low-level format… but until then… I’m stuck with my partitions the way they are. Bummer!!

Interested readers may want to catch up on the previous entries in this saga:

Making ’em Like They Used To

Well, it’s been a little over a week now, and the verdict on the router-reset issue is:

Linksys Wins!

internetSince switching to the Linksys, I’ve had zero router resets and my Internet connection has been rock-solid. My Mozy online backup has been able to run each night without interruption, and during the day my work (which often involves some IP-based telephony) has been fine as well (nothing more irritating than making an IP-phone call and having your router reset!!).

I still don’t know what was causing the Netgear router to reset frequently – but at this point, I really don’t care. I don’t know what I’m going to do with the Netgear router, either – I’d sell it or give it away, but knowing that it has this problem makes me feel guilty. So I guess… into the great bit-bucket in the sky it must go.

I’ll be sad to see the Netgear go – I always had a soft spot for Netgear in the past. Their products retained that “metal enclosure” look long after Linksys and others had jumped on the “plastic” shell bandwagon back when home networking became “popular.” And those metal-shelled products were easy to rack mount, with the right brackets, which was always nice.

But now, all home networking products are plastic-shelled, and some (it would seem) are no longer as high-quality as they once were.

As for me – I’m just glad my ‘net connection is reliable again. Internet, ahoy!

Icon courtesy of the Crystal Icon Set.

GParted, Why Hast Thou Forsaken Me?

The trouble with using GParted to resize an NTFS partition that has supposedly “bad” sectors (and, finally, a solution!).

UPDATE March 16 2012 – there is finally a solution to this problem – read the updates at the end of this article for details.

Longtime readers will remember the computer drama that unfolded back in May of 2008 when I bought my new 500 GB hard drive. Basically, when I tried to resize my NTFS partitions, GParted (or, more specifically, the tool ntfsresize) said “you’ve got bad sectors on your disk, I’m not touching anything” and refused to run. I eventually lost the battle and settled for a (less than ideal) configuration for my new disk.

Fast-forward to today – the public beta of Windows 7 is meant to come out today, and although there’s always the virtual machine route, for something like this I thought it might be worthwhile to dual-boot so it could have the full power of my machine (Vista under Virtual PC is OK, but sloooooow – imagine what a beta version of an even newer OS would be like?).

Since Microsoft’s web servers seem to be totally overwhelmed with the demand for Windows 7, they’ve taken the download off-line for the time being. So, given that it seems like I might have to wait a bit, I figured I might as well download the latest GParted LiveCD (version 0.4.1-2 in case you’re curious) and make a little partition space available.

As you might imagine from the title of this post, I wasn’t able to do it. It was the same problem as before – there were “bad” sectors on the disk, so ntfsresize refused to do anything. Oh, sure, I could have tried to do it from the command line and used the --bad-sectors option of ntfsresize, but I’m not one for specifying disk sizes based on cluster locations, which is how you’d have to do it. And I couldn’t even get the parameters that the GUI interface would have used when resizing, because it wouldn’t even let me try to resize under the GUI to get the parameters!

After all, what’s the point of a GUI LiveCD if you can’t use the GUI!

What’s even more confusing/infuriating is that every forum post or help document I could find on this subject seems to go like this:

Novice User: I’m getting this “bad sector” warning – but I ran CHKDSK two times like it said, it found no bad sectors (or it found one and repaired it), but I still can’t run ntfsresize!

Linux Guru: Your disk is failing, get a new one.

Novice User: But…


I have, of course, embellished this somewhat for dramatic effect, but you get the idea. The assumption is always that the problem is with the hardware. (Even the Wikipedia article on ntfsresize seems to support this point of view, although in fairness it is marked as [citation needed]!) I can understand a certain amount of healthy skepticism (in many cases bad sectors are a legitimate sign of a dying hard drive), but there seems to be a certain amount of… I don’t know, denial – for lack of a better word – going on with respect to bad sectors that aren’t actually all that “bad.”

If your hard drive develops a bad sector (as a result of a sudden power loss situation, for example – which is what caused my bad sectors), CHKDSK for Windows will find the problem, recover what data it can, and mark the sector as “bad” so it doesn’t get used again. Barring another power loss situation (fixed for me since I now have a UPS for my computer), the drive should be just fine for the rest of its natural life.

Likewise with defects that were detected by the manufacturer (but not bad enough to reject the disk over) and marked as “bad” before they left the factory. I know they used to do this with disks – I assume they still do.

So, it certainly seems like there are situations (possibly quite common) where a drive will have “bad” sectors, but should still be safe to use and operate on. After all, the fact that they were marked “bad” means that they were detected and won’t be used again.

Of course, I do have to mention again that ntfsresize has a --bad-sectors option which will ignore bad sectors… but there’s no way to access this option from the GParted GUI. You HAVE to do it from the command line – which kind of defeats the point. The whole wonderful thing about GParted in the first place is that it’s a graphical way to resize your disk partitions. I’m a geek, but even I don’t like to have to specify partition sizes by sector/cylinder offsets.

So, if you were to ask me, I’d say that either:

  • ntfsresize should be a little more forgiving regarding bad sectors; or
  • The GParted UI should detect the ntfsresize error and allow the user to proceed with the --bad-sectors option, obviously with a stern warning about making sure you’ve checked the disk thoughougly with CHKDSK or some other tool to make sure there are no further problems and the drive isn’t failing even more.

I know this post ended up being sort of just me whining – but I do wish that I could resize my disks with GParted. I like GParted – I think it’s a great tool – but, unfortunately, it’s just not a tool I can use anymore.

If anyone has any tips or ideas on how I might be able to work around this limitation – or of perhaps another partition-resizing tool (free and/or open source preferred, of course!), I’d love to hear from you – feel free to speak up in the comments!

UPDATE: I’ve found a program called EASEUS Partition Manager – it’s free for the “home” edition. (But not open-source, unfortunately.) I’ll update with a new post if I’m able to resize my partition, but first I need to do a full backup, just in case!

UPDATE 2: Follow up article here – the news isn’t good, I’m afraid.

UPDATE 3: A very nice reader emailed me to point me to this solution from Unfinished Teleporter: Gparted won’t shrink an NTFS partition with a bad sector.

Basically, you create an executable bash script which adds the --bad-sectors option to the original ntfsresize program. You can see the steps in the article I linked above, or follow these general steps:

  1. Locate the ntfsresize executable (for the GParted live CD it will be in /usr/bin, for Parted Magic it is in /usr/sbin).
  2. Rename it to ntfsresize.orig.
  3. Create a new bash script at the same location named ntfsresize. (See below for what you should put in this script.)
  4. Use chmod to ensure the new script is executable (chmod 755 will do the trick).
  5. Run GParted as normal.  It will ignore the bad sector(s).

In the bash script itself, you’ll want to add these two lines:

exec ntfsresize.orig --bad-sectors "$@"

This will call the original ntfsresize that you renamed, tack on the --bad-sectors option, and then pass whatever other options GParted (or whatever you are using) called it with originally.

I haven’t been able to try this myself (I’ve long since upgraded to another, newer computer), but I’ve been told this works like a charm. So if you are having this same sort of problem, give this a try!

Of course, before doing this you should be sure you’ve backed up all your data, since this is technically overriding a fail-safe feature of ntfsresize.

Anyway, I hope someone finds this useful – and thanks again to that very nice reader who pointed out this solution to me!