New hard drive

B

BH

I've posted an e-mail with Seagate to get an answer to this problem, but
someone here may have a simple, faster solution. This is what I told
Seagate:

I installed this new Seagate hard drive (SATA, 160 gigs). Using Discwizard
for Windows (supplied by Seagate), I formatted the new drive into four
partitions (K, L, M and N) and copied my old C:\ drive files over to the new
drive, which I want to be my new boot drive. (I would continue to use my old
drive, which has two partitions, for storage). Everything appeared to copy
just fine.

I shut down Windows and then instructed my bios (Phoenix Award Bios v6.00Pg)
to first load the SCSI device (the new drive). I then attempted to reboot
(several times). As it is loading, the bios reports that it sees the new
SATA drive (Serial-Ch0 Master ST3160827 AS), but then it stops on this
message: NTLDR is missing. I've tried it several times with same result.

When I change the bios back to boot on the old IDE drive (also a Seagate),
it boots up and loads Windows XP without a problem. I'm not sure what I need
to do to take care of the error message NTLDR is missing.(My motherboard is
an ECS KT600-A with direct SATA connections.)When I boot on the old drive
and load Windows, it recognizes the new drive and the four partitions on it.

Thanks for your help.
 
M

Mike Walsh

Boot with the old drive and make sure that NTLDR is in the root directory of the new drive. It might not have copied depending on what attributes and permissions were set.
 
B

BH

Thanks for your suggestion. It helped, but I'm not there yet. Here's what
happened.

First, I didn't find the ntldr.sys file in the root directory of my old hard
drive's partition C but in the root directory of the old hard drive's
partition D. (I have my Windows and program files on C, my data files on D)
I copied it over to my new hard drive's first partition, K, and then
rebooted.

I did not get the error message that the ntldr.sys file was missing, but at
the point where I usually did, the computer hung up, then automatically
rebooted. Tried recopying the file just to be sure, but nothing worked.

Then, I noticed there were two other files in the D root directory that were
not in the K root directory: boot.ini and ntdetect.com. First, I copied just
the boot.ini file to K and rebooted, but again I hung up. Then I added the
ntdetect.com file and tried it.

Close, but no cigar: Now I get an error message that the hal.dll file is
missing or corrupt, so apparently Windows XP is trying to load. I checked,
and the hal.dll file is there. Then, to be sure, I copied it, too, from the
C drive to the K drive and rebooted. But I still get the same message, that
it's missing or corrupt. (And as you can see, I still have no problem
rebooting from my C drive with ease.)

Any more suggestions?

Thanks again for your help.

-- Bruce, Austin, Texas

----- Original Message -----
From: "Mike Walsh" <[email protected]>
Newsgroups: alt.comp.hardware
Sent: Saturday, January 07, 2006 12:57 PM
Subject: Re: New hard drive
 
E

Erick

Exactly HOW did you copy the contents over? A simple drag-and-drop copy will
NOT work, because of hidden systems files and where they are located within
a partition. Use something like Syamantec Ghost or another
partitioning/duplication tool to copy the old drive to the first partition
of the new drive. That shopuld solve the problem.

Also, make sure the BIOS is set to boot in this order:

1: CDROM (not necessary, but handy if you ever need to reinstall)
2: HDD0
3: SCSI
Boot other device = Yes

The reason for the boot order is because not all SATA devices show up as
SCSI. Some are native in the controller (meaning they show up as IDE4, IDE5,
etc). Soemtimes they show up simply as SATA (somewhat native, but sometimes
requires "F6" drivers) and some show up as SCSI (almost always require "F6"
drivers).

The "boot other device" is basically a catch all for any other possibility.

I've posted an e-mail with Seagate to get an answer to this problem, but
someone here may have a simple, faster solution. This is what I told
Seagate:

I installed this new Seagate hard drive (SATA, 160 gigs). Using Discwizard
for Windows (supplied by Seagate), I formatted the new drive into four
partitions (K, L, M and N) and copied my old C:\ drive files over to the new
drive, which I want to be my new boot drive. (I would continue to use my old
drive, which has two partitions, for storage). Everything appeared to copy
just fine.

I shut down Windows and then instructed my bios (Phoenix Award Bios v6.00Pg)
to first load the SCSI device (the new drive). I then attempted to reboot
(several times). As it is loading, the bios reports that it sees the new
SATA drive (Serial-Ch0 Master ST3160827 AS), but then it stops on this
message: NTLDR is missing. I've tried it several times with same result.

When I change the bios back to boot on the old IDE drive (also a Seagate),
it boots up and loads Windows XP without a problem. I'm not sure what I need
to do to take care of the error message NTLDR is missing.(My motherboard is
an ECS KT600-A with direct SATA connections.)When I boot on the old drive
and load Windows, it recognizes the new drive and the four partitions on it.

Thanks for your help.
 
B

BH

As I said, I used the utility provided by Seagate, Discwizard for Windows,
to copy the contents of C over to K. Apparently, there were a few root
directory files, as mentioned below, that were needed but on the D drive;
those have been copied over. I don't have Ghost, but I do have Drive Image
7. However, I've read that Drive Image 7 has a problem moving files from an
IDE drive to a SATA drive. However, I may soon try it anyway.

I'll try the boot order you suggest in bios, though it's pretty close to
that now. But if the HDD0 is listed first, won't it just load it and ignore
the SCSI device? I'll give it a try. Thanks.
 
M

Mike Walsh

The active partition of your boot drive should contain ntdetect.com boot.ini and ntldr (no extension).
If I recall correctly hal.dll is the first file loaded from the windows directory. Make sure Boot.ini specifies the correct location. E.g. in the case of multi(0)disk(0)rdisk(1)partition(2)\WINNT the windows directory is WinNT on the second partition of the second drive {rdisk(0) is the first drive}.
 
M

Mike Walsh

I was mistaken. The first file to load is ntoskrnl.exe. Hal.dll is the second file. These files are in the <windows>\system32 directory.
 
B

BH

This is a bit beyond my knowledge.

Here's what I've got: The new SATA drive is divided into four partitions, K
through N; K my intended boot drive and has Windows XP installed.

Here's what my boot.ini file has now:

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Home
Edition" /fastdetect /NoExecute=OptIn

If boot.ini is incorrect, does that screw up Windows' attempt to load
hal.ddl? I do have ntdetect.com and ntldr on the K drive, as well as
boot.ini.

Thanks.
 
M

Mike Walsh

If Boot.ini is wrong the OS will not load. If the correct partition and directory are not specified the system files will not be loaded. Ntoskrnl.sys is loaded first from windows\system32 and then hal.dll.
Add /sos to the end of the parameter line in Boot.ini to display more information, including displaying the system files as they are loaded.
This is a bit beyond my knowledge.

Here's what I've got: The new SATA drive is divided into four partitions, K
through N; K my intended boot drive and has Windows XP installed.

Here's what my boot.ini file has now:

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Home
Edition" /fastdetect /NoExecute=OptIn

If boot.ini is incorrect, does that screw up Windows' attempt to load
hal.ddl? I do have ntdetect.com and ntldr on the K drive, as well as
boot.ini.
 
M

Mike Walsh

I decided to try to duplicate the problem with hal.dll by mis-configuring Boot.ini. Since I didn't want to make changes on the drive I usually boot with (IDE) I switched to another drive (SCSI). Booting with the SCSI drive gave me the message could not find ntldr. This once worked, and the configuration was correct with ntldr in the root directory. I fixed it with my repair disk. I then mis-configuring Boot.ini and it gave me a message ntoskrnl.exe not found.
There are things I don't understand about all of this. Why did my SCSI drive not find ntldr when it worked before (the same thing happened once before). Why would you get an error hal.dll not found when it must first load ntoskrnl.exe from the same directory?

Mike said:
If Boot.ini is wrong the OS will not load. If the correct partition and directory are not specified the system files will not be loaded. Ntoskrnl.sys is loaded first from windows\system32 and then hal.dll.
Add /sos to the end of the parameter line in Boot.ini to display more information, including displaying the system files as they are loaded.
This is a bit beyond my knowledge.

Here's what I've got: The new SATA drive is divided into four partitions, K
through N; K my intended boot drive and has Windows XP installed.

Here's what my boot.ini file has now:

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Home
Edition" /fastdetect /NoExecute=OptIn

If boot.ini is incorrect, does that screw up Windows' attempt to load
hal.ddl? I do have ntdetect.com and ntldr on the K drive, as well as
boot.ini.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top