Build a PC Setting up a dual boot on separate hard drives

Status
Not open for further replies.

chocobogo_rct

Posts: 93   +0
I have 2 different operating systems on separate drives and for some reason my bios doesnt give me the option of booting from each of the hard drives, just the master.
So at the moment I have to open my pc up and swap the cables, jumpers etc to boot to the other HD!
Is there a program or code I can write that will choose which hd to boot to!

One HD is running XP Pro - Master
XP Home - Slave

Cheers
 

Th3M1ghtyD8

Posts: 660   +0
I think you will have to reinstall the 2nd copy of WinXP, so that you get the nice little boot menu. Unless of course anyone can suggest a way of editting boot.ini.
 

Greeno

Posts: 277   +0
post the contents of your boot.ini from the root of your c:\

i'm sure we could piece something together ;)
 

Phantasm66

Posts: 4,909   +8
you don't need to boot from either HDD, you just need to boot from one, and the boot manager on that HDD can boot any OS you like.

Tell us more about what happens when your PC boots up...
 

SNGX1275

Posts: 10,603   +459
I think what he's saying is he has XP pro on 1 hard drive and XP home on the other, right now they think they are both the only OS and both think they are the first hard drive.
As in when he boots into XP Pro his XP home harddrive is slave but the boot.ini on his XP Pro drive only has in it something like this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

Now I believe what he needs to do is have this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Home" /fastdetect

Now I've spent some time trying to find the correct things for what disk(0) means and what rdisk(0) means and I think that if you have a harddrive as slave with a second OS on it you want the rdisk(0) part to be rdisk(1). But I'm not 100% sure on that. Phantasm66 will know and others as well. Its amazing how hard it is to find a clear explanation for this on the net.

So basically he has 2 boot.ini one on each hard drive, when he boots into Pro that hard drive is set as master, when he boots into Home that hard drive is master (he said he had to physically remove them and change the jumpers). So all he needs to do is make the Pro hard drive master, Home slave, and change the boot.ini to what I have above. But I'm just not sure whether the Home part needs to say disk(1) or rdisk(1). But from what I read it sounds like it should be disk(0)rdisk(1). Please correct me if I'm wrong though.
 

chocobogo_rct

Posts: 93   +0
  • Thread Starter Thread Starter
  • #6
here is boot.ini on my xp drive

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
 

SNGX1275

Posts: 10,603   +459
Backup your existing boot.ini then make your boot.ini look like this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW
S
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Home" /fastdetect

Worst thing that can happen is it won't boot, in that case you just do what you've been doing and swap your hard drives, then go back and restore your original boot.ini on the Pro drive.
Post back if you have any problems.
 

chocobogo_rct

Posts: 93   +0
  • Thread Starter Thread Starter
  • #8
ok thanks for the help!
I did exactly as posted above, now when I boot, low and behold I get a boot menu consisting of:
Windows XP Pro
Windows XP Home
Windows Default

Which is great!

The problem is when I try to boot into Windows XP Home I get the following error message;

Windows can not start becuase of a computer disk hardware configuration problem.
Could not read from the selected book dsik, check boot path and disk hardware.

And if i try to boot to Windows (Default) whatever that is i get:
error, cannot find
\\System32\hal.dll

-------

Could this be an error in jumper settings??
Please shed some light!!
 

SNGX1275

Posts: 10,603   +459
Maybe try making the XP Home line look like this:
multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home" /fastdetect

I don't know if this is it, but it certainly won't make it any worse. No shouldn't be a jumper problem if you have the Pro drive as master and the Home drive as slave and the Home drive second on the ide cable.
I would have thought someone else would have been able to say whether I was right or not by now on that boot.ini thing.
 

chocobogo_rct

Posts: 93   +0
  • Thread Starter Thread Starter
  • #10
ok i have changed as suggested above and plan to reboot soon!
Another question, if i was to set up a 3rd drive with a linux partition on would i be able to add that to the boot choices menu??
 

chocobogo_rct

Posts: 93   +0
  • Thread Starter Thread Starter
  • #12
Originally posted by SNGX1275
Maybe try making the XP Home line look like this:
multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home" /fastdetect
.
Tried that!!
Still get the same problems!!
 

Mictlantecuhtli

Posts: 4,049   +11
http://support.microsoft.com/?kbid=102873

From http://support.microsoft.com/?kbid=102873:
multi(X)disk(Y)rdisk(Z)partition(W)\<winnt_dir>

MULTI(X) Syntax
The MULTI(X) syntax of the ARC path is only used on x86-based computers. In Windows NT version 3.1 this path is only valid for IDE and ESDI drives; in Windows NT version 3.5, 3.51 and 4.0 it is valid for SCSI drives as well.

The MULTI() syntax indicates to Windows NT that it should rely on the computers BIOS to load system files. This means that the operating system will be using interrupt (INT) 13 BIOS calls to find and load NTOSKRNL.EXE and any other files needed to boot Windows NT.

The X, Y, Z, and W parameters have the following meaning:

* X is the ordinal number of the adapter and should always be 0 (see the text below for the reason).
* Y is always 0 (zero) if the ARC path starts with MULTI(), because MULTI() invokes the INT 13 call as described above and therefore does not need the DISK() parameter information.
* Z is the ordinal for the disk on the adapter and is usually a number between 0 and 3.
* W is the partition number. All partitions receive a number except for type 5 (MS-DOS Extended) and type 0 (unused) partitions, with primary partitions being numbered first and then logical drives. NOTE: The first valid number for W is 1, as opposed to X, Y, and Z which start at 0 (zero).

Theoretically, this syntax could be used to start Windows NT on any drive in the system. However, this would require that all drives are correctly identified through the standard INT 13 interface; since support for this varies from disk controller to disk controller and most system BIOS only identify a single disk controller through INT 13, in practice it is only safe to use this syntax to start Windows NT from the first two drives connected to the primary disk controller, or the first four drives in the case of a dual-channel EIDE controller.

In a pure IDE system, the MULTI() syntax will work for up to the four drives maximum on the primary and secondary channels of a dual-channel controller.
If you have previously installed XP Home when the drive was set as master, it still thinks it's installed to master drive, so it won't let you boot if it's slave..
Oh, the joys of Window$..
 

Loquacious1

Posts: 13   +0
Maybe This Info Will Help?

Found information on MS.com site about the error message "Windows Could Not Start Because of a Computer Disk Hardware Configuration Problem". Maybe it will help...

I have a similar problem with dual booting from separate drives, except both drives have the same OS installed on them (XP). The logic being to allow a boot into the slave drive in the event that I failed to back up data on the primary so it could be recovered. In retrospect, maybe not the greatest way to go about it. ;)

Still looking for ways to recover the original boot sequence installed through BIOS settings while installing XP on the primary drive. It worked fine once before thanks to Dell tech instruction! Now I only get techs that either don't know how, or won't/can't address it.

Looks like Dell's suggested fresh install on the primary wiped out boot.ini information. (woe, if only I'd have known at the time to backup the working boot.ini file prior to a fresh install) :( Now XP is sucking up space on my slave drive without being able to boot into it. I don't know the exact perameters for editing the boot.ini file for my setup unfortunately, and am wary of recovering the old bootloader repair sequence by creating the file
bootsect.dos on the system drive. I understand that debug.exe in DOS can accomplish this, but an unsure of the risk (if any) involved.

Anyhow, I hope you can figure out how to get yours running right again, and here's that link:

http://support.microsoft.com/?kbid=314477
 

RealBlackStuff

Posts: 6,452   +3
To say it short and sweet,
multi(0)disk(0)rdisk(0)partition(1)
multi(0)disk(0)rdisk(1)partition(1)

multi(x) = Number of the IDE disk controller or the SCSI adapter with BIOS. (Always 0)

disk(x) = Only for SCSI - ID disk. When using multi - this setup is always 0.

rdisk(x) = Disk number on the IDE EIDE controllers (0 first, 1 second, 2 ....) for SCSI always 0

partition(x) = partition number 1,2,3,4... (primary partitions are always before extended partitions and logical disks)
 
Status
Not open for further replies.