how to change out system disk?

D

Doug Floer

I need some help changing out my system disk. Here's my config. I have 3
disks:

Disk 0 (9 GB SCSI): c: (bootblock and boot.ini (old NT4)) and two data
partitions (t:, g:)
Disk 1 (18 GB SCSI): d: (W2K (unused)), y: (data), j: (XP), k: (Program
Files)
Disk 2 (36 GB SCSI): unallocated

My main goal is to simply to move the partitions and contents of disk 1 to
larger partitions on disk 2. I'd like to remove disk 0 and just have disk 2
as the boot disk, too, but this is secondary.

I've used ghost to replicate the partitions and then removed disk 1 from the
system and changed the SCSI ID of disk 2 to disk 1 but XP complained that
the license couldn't be verified.

Can anyone out there advise how this can be done without reinstallation or
program/data loss?

Thanks!
 
R

R. C. White

Hi, Doug.

I also boot from a 9 GB SCSI drive, with two additional HDs, but my other
drives are IDE, attached to the onboard RAID controller (but not using
RAID). I have a couple of thoughts on your system.

Is it too late for you to back up and start over? Here's how I would do it.
But first, let's be sure that we both are talking Microsoft's language about
a few key terms. The "system partition" is generally the first primary
partition on the first HD; this partition must be marked Active (bootable).
The system partition MUST contain the "system files", which are usually only
NTLDR, NTDETECT.COM and Boot.ini, and these must be in the Root of this
partition (usually C:\). All the rest of WinXP goes into the "boot folder"
(\Windows, by default in WinXP; \WinNT in Win2K) on WinXP's "boot volume"
(often also C:, but J: in your existing system). This boot volume can be
any primary partition or any logical drive in an extended partition on any
HD in your computer. Yes, as many writers have pointed out, "We BOOT from
the SYSTEM partition and keep our operating SYSTEM files in the BOOT
volume." There is only one system partition, but each copy of Windows
installed (Win2K and WinXP) should be in its own separate boot volume.

1. Physically add the new HD as Disk 2 and reboot into your existing system
(with C: on Disk 0 as your system partition and J: on Disk 1 as your WinXP
boot volume).

2. Use Disk Management to create partitions on Disk 2, assign drive
letters, and format them. Create a primary partition at the beginning of
the HD. It can be quite small; all the system files combined total much
less than 1 MEGAbyte (~280 KB for NTLDR, ~45 KB for NTDETECT.com; less than
1 KB for boot.ini). You may put other files in this partition, but these
usually are all that are required. (My Drive C: is 715 MB and also holds
some old DOS-based Norton and other utilities.) You can format this small
partition as FAT16. The rest of Disk 2 can be included in a single extended
partition, which will not be assigned a drive letter, of course. Within the
extended partition, create logical drives to match your current "drives":
D:, Y:, J: and K:, in whatever sizes you choose to use, and format them.
Use Disk Management to assign temporary drive letters; you can reassign the
letters later.

3. Use Xcopy (or Ghost) to copy everything from the old J: to the volume
that will become J: later. The contents of the other volumes (D, Y and K)
can be copied either now or later. With Xcopy, use switches to be sure that
you get all files, including system, hidden and read-only files. (As with
most commands in the "DOS" window, just type xcopy /? to see a mini-Help
file listing all the switches available.) I usually use:
xcopy d:\ x:\ /c /h /e /r /k

4. Reboot - into Win2K, NOT WinXP. Use Xcopy from here to copy WinXP's
Registry files to the new HD. This step is necessary because Xcopy cannot
copy Registry files to or from the current boot folder. When you are booted
into Win2K, though, it can copy the WinXP files from
J:\Windows\System32\Config. This would also be a good time to make sure
that the new WinXP volume is assigned drive letter J:, to match the old
configuration.

5. Unplug HDs 0 and 1; plug in your new 36 GB HD as HD 0. Removing the old
Disk 0 is an important step, because if WinXP Setup detects an existing
system partition, it will let that partition keep the drive letter C: and
will assign a new letter to the first partition on the new first HD - and
there's no easy way to change it later.

6. Boot from the WinXP CD-ROM and run the "in-place upgrade" as instructed
in KB article 315341:
How to Perform an In-Place Upgrade (Reinstallation) of Windows XP
http://support.microsoft.com/default.aspx?scid=KB;en-us;q315341

This will take as long as a fresh install of WinXP, but, since you will have
copied the WinXP Registry to your new Drive J:, using this in-place upgrade
procedure (rather than a "clean install" of WinXP) will preserve your
installed applications and data - and most of your tweaks. When Setup runs,
it will detect the existing Win2K and WinXP installations and recreate
C:\boot.ini to point to them by their NEW disk(#)partition(#) numbers. (As
you know, HDs are numbered beginning with 0; volumes (called partitions
here) are numbered beginning with 1 on each HD.)

7. Boot into your new WinXP, get your firewall and antivirus working again,
then visit Windows Update to be sure you have the latest Service Pack and
later Critical Updates.

8. Boot into WinXP and use Disk Management to reassign drive letters to
suit your new lineup. When you are ready, you can add your original HDs and
use Disk Management to create, delete and format volumes.

Simple, huh? :^}

There are a couple of other points that should be mentioned because they
might be important in your system. First, WinXP installations on some SCSI
systems use a system file called NTbootdd.sys and require a different
parameter in C:\boot.ini. My Adaptec AHA-2930U2 SCSI system does not
require this and I know nothing about it. Second, if the driver for your
SCSI Host Adapter is not on the WinXP CD-ROM, you will need to have it on a
floppy diskette before Step 6 and watch during the early part of Setup for
the instruction to Press F6 to install SCSI or other third-party drivers;
press F6 quickly and wait until Setup halts with instructions to install the
drivers from the floppy. If you did not have to use this F6 procedure
during your initial installation of WinXP, you probably won't need to do it
now.

If you have questions, post back.

RC
 
D

Doug Floer

Thanks for taking the time to help out. Followed your excellent
instructions closely, although I didn't use xcopy in favour of ghost.
Unfortunately, I wasn't able to get the system to boot to the new disk. I
get the "press any key to reboot" each time I boot the system up. I've done
the "in-place upgrade" XP reinstallation and even used repair mode to fix
the boot block and MBR of the new C: partition, validate the boot.ini with
bootcfg and map. There seems to be a problem with the parameters or
configuration of the boot volume of the new drive. I created 5 volumes on
the 36 GB drive with the first as a FAT32 primary and the remaining 4 as
logical drives in a single extended partition. Any idea where I should go
from here?

Thanks for all your great help!!
 
R

R. C. White

Hi, Doug.

Two questions:

1. Did you need to use the F6 key to install SCSI drivers during Setup?
The usual symptom for failure to do this is a BSOD with Stop 0x7B,
Inaccessible_Boot_Device, when trying to boot from the new HD, but sometimes
the computer's response is different. Of course, your BIOS must be set to
boot from SCSI, too, but I'm sure you knew that.

2. When you manage to "boot around" the new Drive C:, can you run WinXP
from your new J:? The point of this question is to confirm that your old
Registry did in fact survive the move to the new HD and is still there after
the in-place upgrade. In other words, if you can just get that copy of
WinXP booted, you can still run Word, Quicken or whatever without having to
reinstall them.

WinXP should not need a boot floppy, but one can be made and used in some
situations. Here, for example, you can use WinXP to format a blank floppy,
then copy the system files to it, including boot.ini, which will point to
the full WinXP on your hard drive. When you boot from this floppy, it will
bypass the system files on C: and, following the instructions on A:, go
straight to "disk(0)partition(3)\Windows" (the third volume on the first HD,
following the primary partition (C:) and the first logical drive (D:)).
This boot-from-floppy method gets around needing to install the SCSI BIOS
and using it to BOOT FROM your new Drive C:.

If you can boot from the floppy and run WinXP from your new Drive J:, with
your previously-installed applications intact, then we can concentrate on
getting your system to boot from your new Drive C:. If not, then we have to
figure out why not. Perhaps your implementation of SCSI is more complex
than mine. What make and model SCSI host adapter are you using?
There seems to be a problem with the parameters or
configuration of the boot volume of the new drive.

OK, a third question: Do you mean what common sense would call the "boot
volume", or do you mean what Microsoft calls the "system partition"? In
your computer: Drive J:? Or Drive C:?

RC
 
D

Doug Floer

No, I didn't do the F6 key to install SCSI drivers since the drivers are
included in XP. The controller is an Adaptec AIC-7890.

Never managed to boot from the SCSI drive. What I managed to do was boot
the XP CD and enter the recovery console. I also did the XP system
reinstallation by booting from XP CD. Never was able to load XP from the J:
drive. The boot loader never got that far.

To build the contents for the new C: boot volume, I simply copied the
boot.ini, ntdetect.com, and ntldr files to it. When it wouldn't boot, I
used the recovery console to fix the bootblock (fixboot) and MBR (fixmbr)
and corrected the location of Windows with bootcfg. Still no joy. From the
console, fixboot complained about the look of the boot volume. The SCSI
utility still reports boot from ID0, same as it always has. I have no IDE
drives on this system, only SCSI, so I know it boots just fine.

Thanks again for your help.

Doug
 
R

R. C. White

Hi, Doug.

We're getting close to the limits of my knowledge and experience. :^{
Never managed to boot from the SCSI drive.

When you set the BIOS to boot from the SCSI HD, and then you reboot, what do
you see onscreen? Does the Adaptec SCSI BIOS load?

My SCSI host adapters have always been on Adaptec add-on cards, never built
into my mobo, so perhaps they behave differently. Also, my current 2930U2
was brand new when Win2K arrived in February 2000 and I had to wait a month
or so for Adaptec to produce Win2K drivers for it (although it worked fine
in Win98). So I don't see exactly what you see when we boot up.

If I press Ctrl+A when I see the Adaptec banner, I enter the Adaptec BIOS
utility that is on a chip on my SCSI card. From here, I can adjust many
settings. One of them is to turn off the SCSI BIOS. If I do that, I might
still see the Adaptec banner on boot-up and it still detects my SCSI drive,
but I can no longer boot from that drive. The host adapter lets me use the
SCSI drive for data files, or even for WinXP's "boot volume", but not as the
boot device ("system partition").

That's why I ask what you see on that very first screen when you power on
your computer. Do you see an Adaptec banner? Do you get the message ("SCSI
BIOS failed to load") that looks like an error message but is only informing
you that "the SCSI BIOS is not needed this time so I didn't bother to load
it into RAM"?
To build the contents for the new C: boot volume, I simply copied the
boot.ini, ntdetect.com, and ntldr files to it.

NO! NO! NO! (Sorry to be so melodramatic.) That's why I explained "boot
volume" in my first message, and why I asked in my second message, "Do you
mean what common sense would call the 'boot volume', or do you mean what
Microsoft calls the 'system partition'?" In the typical one-drive,
one-partition computer, they are both C:. But in your computer, C: is the
system partition, but J: is the boot volume. The computer must always start
with the system partition, from which it branches to the boot volume, using
the disk(#)partition(#) numbers in C:\boot.ini. (You can have a dozen
boot.inis scattered around your drives, including one in J:, the boot
volume, but ONLY the one in C:\, the Root of the current system partition,
matters.)

When you first copied boot.ini from your old drive to your new one, it would
have been pointing to the wrong drive(#). And, if your new HD-0 had a
system partition added ahead of your logical drives, the partition number
also would have been wrong. When you later "corrected the location of
Windows with bootcfg", that should have corrected these drive and partition
numbers, but something might have gone wrong. Did you have more than the
one drive connected at that time you ran bootcfg?

As I understand your current configuration, you have only a single HD
connected to the SCSI adapter. It has a single primary partition (C:) and
logical drives D:, J: (the boot volume, where J:\Windows, the boot folder,
is located), and two other data volumes. If this is the case, then
C:\boot.ini should include under [operating systems] the line:
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP
Professional" /FASTDETECT

and in the [boot loader] section above:
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS

This would point to the third (C:, D:, J:) partition on the first HD. NTLDR
should find J:\Windows there.

Maybe your next stop should be at the Tech Support page at www.adaptec.com
or your mobo maker? I would be very interested in what you learn about this
problem.

RC
 
D

Doug Floer

Hi RC, thanks for taking the time to respond.
That's why I ask what you see on that very first screen when you power on
your computer. Do you see an Adaptec banner? Do you get the message ("SCSI
BIOS failed to load") that looks like an error message but is only informing
you that "the SCSI BIOS is not needed this time so I didn't bother to load
it into RAM"?

There is no need to change the SCSI BIOS. It boots from SCSI ID 0 right now
just fine. All I've done is prepare the 36 GB drive that's on ID 3 as
you've indicated, then remove the other two drives and change the 36 GB
drive to have SCSI ID 0. Should be a no brainer, providing the bootstrap
and other files are in place.
NO! NO! NO! (Sorry to be so melodramatic.) That's why I explained "boot
volume" in my first message, and why I asked in my second message, "Do you
mean what common sense would call the 'boot volume', or do you mean what
Microsoft calls the 'system partition'?" In the typical one-drive,

I think we're getting mixed up with the terminology but I understand your
premise and have setup accordingly. Here's the boot.ini. Note that the
drive is partitioned into 5 volumes: 1GB System (with boot.ini, ntdetect,
etc), 2GB W2K, 8GB Data, 8GB XP, 8GB Programs.

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000"
/fastdetect
numbers, but something might have gone wrong. Did you have more than the
one drive connected at that time you ran bootcfg?
Nope.

As I understand your current configuration, you have only a single HD
connected to the SCSI adapter. It has a single primary partition (C:) and
logical drives D:, J: (the boot volume, where J:\Windows, the boot folder,
is located), and two other data volumes. If this is the case, then
C:\boot.ini should include under [operating systems] the line:
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP
Professional" /FASTDETECT

The only problem with this config is that the drive letters are not assigned
correctly since I haven't been able to boot into an instance of XP or W2K
that will allow me to reassign the needed drive letters. I've been assuming
that XP will find the boot volume via %SYSTEMROOT% with the understanding
that not everything would run, since a lot of the programs are installed on
a separate volume, but enough that I can get the system up and the drives
reassigned.
and in the [boot loader] section above:
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS

This would point to the third (C:, D:, J:) partition on the first HD. NTLDR
should find J:\Windows there.

This could be the problem. I've been assuming NTLDR will find it at
%SYSTEMDRIVE%\%SYSTEMROOT%\WINDOWS, which should be relative to the system
disk, right? But even if it does require the J: drive to be preset, I
expected it to load the boot menu which is definitely on the system drive at
C:. (Don't understand why microsoft didn't provide for drive letter
chaneges in the recovery console.)
Maybe your next stop should be at the Tech Support page at www.adaptec.com
or your mobo maker? I would be very interested in what you learn about this
problem.

I'll let you know what I find. You sure earned it! Thanks for all your
help!

Doug
 

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