Well, installing a new hard drive in the system is always lots of “fun”.
Expect major hair loss every time you need to do that. Especially if
you’re going to install a new operating system on it!
Let’s see, where should I start? I have an AsRock Dual-Sata2 motherboard,
which uses ULI’s newest chipset. I already have two SATA drives on it,
two 200G Maxtors DiamondMax 10′s, which I got last year as they are
fast and pretty quiet. My machine is on 24/7 and during summer the
temperature in my den is in mid 30′s – so I suppose they can be called
reliable. My motherboard is capable of driving total of 3 SATA drives,
two of which are on the chipset’s own controller which is “only” SATA-1.
They also have an extra SATA-2 port which is driven by a JMicron chip, and
it is the reason they can give the “Sata-2″ name to the motherboard.
In addition to supporting 3Gb/s transfer rate – which is of no real value
right now – it also supports NCQ (Native Command Queueuing), which the
two standard ports do not.
While Maxtor drives were quiet, having two of them was causing annoying
beating vibration (which frequency equals the difference of two
frequencies of each of the hard drives, which are very close)
due to two of them interacting. Or so I thought.
The quietest 3.5″ drive one can buy right now is Samsung P120 250Gb.
It also happened to be on sale at Netlink, which is celebrating its 10-year
anniversary. $90 for 250Gb quiet drive looks like a good deal whichever
way you look at it, so I decided to get one. I also got an external
HDD enclosure from Vantec for $43 – also on sale – for unrelated reasons;
my old one stopped providing power to the hard drive I used as network storage.
This is where the trouble starts. First off, I opened the external enclosure
box and found out that it’s SATA only! Which means I couldn’t use it
with my IDE drive. Nevertheless, it’s a very cool looking device and it
comes with lots of cables – including a e-SATA case bracket and external
SATA cable! Meaning, the enclosure also supports e-SATA! Whoa, cool! So
I decided to just plug in the bracket and cable into this extra port, not
bothering to read anything about e-SATA; I read just a few days ago that it
differs only mechanically, not electrically.
To make the long story short, it didn’t work. Maybe the cables were too long
or something, but it wouldn’t get recognized. Oh well, it was designed to
be connected directly to a drive anyway, and not through yet another
controller. No big loss, I’ll read up on e-SATA later. I unplugged
everything and connected the drive directly to the extra SATA-2 port. This
time the drive got recognized fine. I didn’t have the driver installed,
so I had to do that first, and afterwards I was finally able to use it
from within Windows.
Existing Windows, that is.
Because, if you try to install a fresh Windows XP on it, you will need to
supply the driver for the JMicron SATA-2 controller up front. And that
can only be done via a floppy disk. In fact that is probably one of
two reasons that anyone would want to keep a floppy drive in their computer.
The other reason is flashing the BIOS on the motherboard. Both of these
tasks can be accomplished without a floppy, though alternatives have
their own requirements which may or may not be showstoppers of their own
to you. Flashing BIOS for example can often be done via Windows – most
manufacturers provide programs to do this. Drawbacks are that you need a
working OS to do this – which is impossible if you’re starting with a brand
new hardware. As for fresh Windows XP installation, the only alternative
to providing the driver at boot time via a floppy is to create a custom,
“slipstreamed” version of Windows XP installation CD – which contains extra
drivers in addition to original ones. And for that, you
need a working Windows (though it can be on a different machine!) as well
as the original XP installation CD. However, my experience with slipstreaming
has been far less than stellar. In fact, in the past I’ve never managed
to create a working installation that way, they were always corrupted
no matter how many times I tried, even though there was really not much
chance to make a mistake – leading me to believe that custom files
provided with image creation software were corrupted themselves. At which
point of course you start to wonder just how safe the whole procedure is -
I must be sure that I’m starting with a clean slate when I
reinstall windows and if there’s even a iota of a chance the
installation is not clean, then it’s unacceptable. And getting corrupted
installations is so far beyound unaacceptable that it isn’t even funny.
There are a lot of people out there swearing they use slipstreaming, but
from what I saw, unless Microsoft releases it themselves, I wouldn’t touch
it with a 10-foot pole.
Anyway, if you’ve ever had a dual boot machine where the other OS wasn’t
windows, you know that Microsoft loves to take the boot sector all for
themselves, wiping out without a trace anything that is there. God
forbid they at least acknowledge the existance of alternatives –
just look at their computer management software, they are “unable” to
recognize any other partition type other than windows. If anyone
needs any more proof about M$ anti-competitive practices, they need to
look no further. You can summarily dismiss any argument from M$ about
them not being a monopoly once you see that they behave as there really
is no competition – by refusing to acknowledge even the existence of
alternatives.
So naturally, after installing this drive on SATA-2 and booting from
XP installation CD and then installing the XP (using the floppy), once
the machine finished the final installation reboot, I was back to
only having the Windows boot menu.
Oh wait, did I see “installing the XP using the floppy”? My mistake!
What, did you really think having drivers on the floppy would be enough?
Of course not, what are you, dumb? This is Microsoft we’re talking about!
Nooo, the floppy must be in some strange, weird format. I’m not
talking about files on the floppy – whcih must follow some rules, and
that is fair enough; however it is not possible to combine multiple
drivers on one floppy even if there’s enough space, because you’d need to
merge the oemsetup.inf (or whatever) files and it’s a non-trivial task, but
let that one slide because I’ll be here till tomorrow if I keep sweating
the “small” things. Anyway, it’s not just enough for files to be on the
floppy, the floppy itself must be formated in some particular way. I
wasn’t able to reuse one of the floppies I had by simply adding the
necessary files – even though the floppy was perfectly readable in
windows, it wouldn’t get read during installation. So I took another
blank floppy – hoping that however that one was formated will suffice,
as I didn’t want to wait for 5 minutes for it to format from scratch.
This luckily worked. God knows why. Perhaps floppy was marked as
bootable or something.
Anyway, I ignored the fact that I cannot boot linux any longer for a moment
and proceeded to install a few basic things onto the new windows installation.
Afterwards, I decided to test how much noise will I get rid of,
and what will happen, when I only use the new drive. So I unpluged the
rest and let it boot. Which it didn’t. But of course!
Now it complained about “missing NTLDR”. I figured out immediately that
it’s probably because the stupid piece of crap installed the boot
files onto the first primary partition of the first drive – which wasn’t
connected any more. It’s one thing to set up the boot hooks or whatever
on that partition, it’s quite another to omit copying the basic files
needed to boot the system onto the partition where you installed the
OS on. Though I might be too harsh on Microsoft in this regard, after all
even Linux will not boot of its partition by itself if you originally
installed the boot onto the MBR; most of the files will actually
be under /boot (whether it’s on a separate partition or just a directory
under /). Linux might have all the files on there but it wouldn’t boot either,
and the end effect will be the same. So I suppose it’s pointless to lay
blame.
Anyway, I had to browse the web to find a way to fix this problem.
As I thought, you can use the recovery console, which is available on the
XP Installation CD. Then, you’d use commands fixmbr and fixboot, as well as
the command to rebuild the boot menu, which name I cannot remember
any longer but it should be in the help. Now, I canot remember if this
was enough or if it was still refusing to boot. I do know I manually
copied the ntldr and a few other files from a windows installation I knew
worked but I’m not sure if this was before or after running the recovery
console. Your mileage may vary. The biggest pain here is the super long
time it takes to boot into anything when using the XP Installation CD -
and you still have to use the floppy with drivers, of course. If you
miss something, you’ll have to wait 5-10 minutes all over again to retry.
Absolutely horrible.
But as you’ll see, linux is no better. If anything, it’s worse. See, after
I got this new windows to boot on its own, as the sole drive in the system,
I put back the original two drives and decided to fix linux, just for
“being able to sleep” sake.
Naturally, you’d think you can use the original linux installation CD to
achieve similar results, namely to restore boot capability to your linux
installation. I’m talking about Ubuntu linux specifically.
Well, you thought wrong. First, even though there are 10 screens of help,
accesible at CD boot time via F1-F10, none of them mentions anything about
recovery or fixing anything. It’s all about installation and “special”
cases such as providing parameters at boot time to allow machine to boot by
bypassing the default drivers or their settings or by enabling them,
depending on your needs. Which is something that is rarely needed, yet
received at least half of the amount of help available, if not more.
So I proceeded to look on the web about linux recovery, specifically
about doing that using your bootable CD (DVD). I found the Ubuntu
FAQ or HOWTO or whatever guide that claimed that indeed this can be done.
In fact, one of the FAQ questions was exactly the one I was looking
an answer for, namely how to restore grub as the boot manager.
It’s easy. First, you simply type “restore” on the boot menu. Why is this
simple directive not listed anywhere on the 10 pages of help is beyond me.
Anyway, that worked, though it doesn’t take much less time than getting to
a windows recovery console. All the “progress” I’ve seen on linux in last
10 years had only made it a) boot longer and b) get more bloated and
c) less reliable. To the point that windows XP is now a more stable
and easier to use alternative, and it’s even faster for many things
such as running Java (in my experience anyway). What a turnaround!
Perhaps I should move onto Apple OS X, which retains UNIX base yet
is easy to use.
After booting to recovery mode, you’re supposed to simply type
“grub-install /dev/sda1″ assuming your boot partition is there. That’s
all there is to it!
You are waiting for me to say “did you really think that’d work?”.
And I won’t dissapoint you! What, did you really think that’d work?
Of course not!!
grub-install first compains about a whole bunch of tools missing
(sort, query, whatever), but after a page and half of those, it
finally gives an “unrecognizable device” error or something like
that. Try all you might, it just doesn’t recognize anything. Oh well,
I usually do it manually anyway. So I would start up grub itself and
type some commands… Yeah, right. You try to type grub and you’ll be
greated by “bterm missing” message from NCURSES text library (and it will
terminate). Oh, so the stupid terminal emulation that is set up by
recovery boot does not work!
I tried to do a trick that usually helps, namely “export TERM=vt220″
or “export TERM=vt100″, as those usually exist. No luck! Even though you
go to /etc/terminfo, or whatever directory NCURSES complains about as
missing, and then follow up to /lib/terminfo where the README in the former
directs to, and which is definitely not missing, the stupid grub -
or more likely stupid NCURSES (curse them!!) – simply does not seem
capable of finding any terminal emulation files.
Now, this is like a critical level bug as far as I’m concerned. This
wouldn’t affect just grub, it’d (probably) affect vi and just about
any console program as most of them use NCURSES. How on Earth did this
basic configuration error get past the QA? Was there any QA
at all?
Or perhaps that is why they don’t provide “recovery” info on the help
page during boot – because it doesn’t work! So if you do it, you do it
at your own risk. That would make sense, actually.
So forget the stupid Ubuntu recovery mode. I searched the web for
generic linux recovery tools and found one that provided me with the
.iso burn image for a
bootable CD with a whole bunch of tools, all meant for basically recovering
your system.
Great, or so I thought. Let’s get it then. It’s a long download, over 100MB,
and then you have to burn it. I had to utilize my laptop for this, using
the external CD burner. Once it finally downloaded – more wasted time waiting
for download to finish, of course – I realized that I don’t have Nero, or
anyting else for burining, installed on the laptop. After all, it crashed
just two months ago and I never bothered to reinstall this as I normally
don’t burn CDs from the laptop.
Of course, the problem is not the installation, the problem is that NERO
software (at least the latest version and the serial number) is on the
machine I’m trying to fix! Meaning, go to another room, go into bios,
get the machine to boot, boot into windows… Sigh. Install Nero, and
connect drive, then burn the image, finally.
Ok, so now I rebooted and tried to boot off this new CD. This time I was
able to boot into some sort of command line linux – though not after
spending 5 minutes reading the main help page trying to figure out
what to boot! There are many options but they don’t make much sense to me.
I just pressed ENTER key in the end, hoping for the best.
Luckily, it booted into command mode linux just fine. I tried grub-install
again, and – I think – it again refused to work. There wasn’t a page and
a half worth of error messages, but there was still the “invalid device”
or something message. So I ran grub manually – no “missing term” warning
this time, at least this bunch of people knew how to get that one right -
and did the “root (hd0)” followed by “setup (hd0,0)”. It didn’t compain,
so I thought fine, let’s try it. I rebooted.
And was greeted by many pages of dots, followed eventually by a smiley.
Whoa, corrupted grub installation! How fun!
Now I was starting to get really pissed off. I mean, come on.
This shouldn’t be so complicated, more than 20 years later we are still
using the stupid boot method, can’t we at least have it figured out by now?
I rebooted with the CD again, tried a few more things, but no luck. Then
I figured something out, that perhaps this boot just doesn’t work on my
machine. It was copying its own stage 1, 1.5 and 2 files to /boot partition,
and it just didn’t work. What if I was to copy the files from the
actual linux installation (for Ubuntu I was trying to recover) there?
I mean, 64-bit AMD and all. Should it matter at that point? I don’t
think it should matter what version the boot manager is, right?
Even 386 code should work to bootstrap the OS installation, I’d think.
At any rate, I mounted partitions from the hard drive and ran the grub
off there, rather than the one that come with the installation CD’s
boot OS. There were some issues, of course, which I discovered the hard way
(try to boot, it still doesn’t work). For example, it would still copy
the CD OS stage files because that was in the library path, so I had to
manually copy those from the /lib/grub I believe, on my hard drive
partition, to the /boot on the other partition. I hoped that at least
the boot hook in the MBR was set up correctly by the off-the-HDD grub.
Luckily, that did the trick. Linux (and windows, from it) was bootable
again. Whew.
The saga of course didn’t end there. What are you, an optimist?
I don’t recall if I mentioned it, but I installed Windows on the new drive
while the other drives were still plugged in. At least I think so. At the
very least, I started installing software on it while other drives were
there, mostly because I needed to access the software, settings and
documents, of course.
Unfortunately, this means that the drive letter for the OS was “E”,
not “C”, for this new OS. This turned out to be a bad thing some
6 or so hours later, after I already installed and configured everything.
You see where I’m coming from, right? Once I had the drive set up as
the sole drive in the system, it still showed up as “E”. Some of the
software did not work any longer – even though it was installed on “E”,
it might’ve expected to find files on “C” (e.g. because the settings
and profiles I copied over were not relative and had hard-coded drive
letters in them, who knows). And, it is
impossible in Windows to change the drive letter of the system partition.
Well, not quite. If you are willing to hack the registry, it is possible,
and not even that hard, but it is tedious. However, it is very dangerous.
Which, of course, I found out the hard way. After changing the OS letter
to “C”, the OS would not boot any longer. Well, I kind of brought this upon
myself – the warnings not to do this were everywhere. However, not having
the OS on “C” can lead to a some pretty subtle problems with some software,
as vast majority of machines uses only “C” for everything, and not just
system files.
Now I had the useless installation I spent half of the day working on!
On Sunday, my day off! I was nearly crying in anger.
Stupid, idiotic Microsoft!! After several decades their OS is
still based on DOS! I don’t care if there’s no actual DOS
underneath, as long as the OS does not function without refering to
DOS letters, using utterly stupid naming scheme that hard-codes
assignment of drives and partitions to letters, it is a pathetic excuse
for a proper OS.
They can supposedly mount a different partition under a subdirectory,
like in UNIX. Oh really? They can? Wow. If that is really true then why
can’t they have a proper logical filesystem instead of hard-coded one?
If it was truly logical, it shouldn’t matter what I’m calling the “C”.
C should be just a label, not an identifier. Those are not the same!
So in the end I had to install the new drive solo, and reinstall
everything from scratch once more! There goes my Sunday. The really
important thing to ask is, why do I keep doing this to myself?
Oh, and by the way, the computer’s case still vibrated! Granted, I got rid of the beating sound thanks to having only one hard drive in it, but it was still buzzing.
Well, what else would you expect anyway?
0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment