Visit The New, Modern Unix Linux Community

Putting an old hd in a new computer

Thread Tools Search this Thread
Special Forums Hardware Putting an old hd in a new computer
# 1  
Putting an old hd in a new computer

What are the steps you need to take when you put an old HD in a new computer? I just did this. Every time it makes it to the windows boot screen then restarts. I have a bunch of old engineering software that is not compatible with the newer versions of windows. I figured this out after I bought a new computer and tried to add the software to a newer version of windows. So I figured I could just swap the HD's. This does not seem to be working either. Is there some way to set the new HD as a master and the old drive as a slave and boot that way maybe?
# 2  
This really depends of your windows version.
Newer version tend to work, older need additional steps, as far as my windows memory serves me.

What is the windows on the HD, was that only HD in that old computer ?
Are you using windows bootloader or other (grub, lilo etc.) ?

# 3  
You ask about master and slave settings so are these drives ATA??

If so, you should be able to set one to "master and slave present" and the other as "slave" PROVIDED the machine doesn't use 'cable select' which means a drive master/slave is determined by the cable that it is connected to. In that case, the drive jumpers should also be set to 'cable select' Jumper diagrams are normally found on the HD casing.
# 4  
In addition to the above, you should also check the CMOS settings to make sure that the disk geometry matches the old computer.
# 5  
Originally Posted by cokedude
So I figured I could just swap the HD's. This does not seem to be working either. Is there some way to set the new HD as a master and the old drive as a slave and boot that way maybe?
I assume you have a "standard" PC you are talking about here The following may not be applicable if it is some outlandish hardware:

Let us talk about ATA first: historically disks were attached to computers via a universal system for block-oriented devices (disks, but also tape drives, optical drives, ...) called SCSI (Small Computer System Interface). This was an elegant system which connected up to 7 (later 15) devices via a single controller to a system. Alas, this system was relatively expensive and therefore the first PCs got a cheap alternative: ST-506 interface, developed by Seagate Technologies. It was clumsy, slow and only alled for 2 devices per controller. Over time (and RLL, ESDI, and other abominations), it turned out that it would be easy to move the controller completely into the drive so that only a very basic host adapter remained as controller. IDE (Integrated Disk Electronics) was born. It allowed for 2 devices attached per channel because it had a special line (connector 24) for "drive select": if the line went to "high", device 1 was addressed, if it was low device 0 was recipient of what went on on the bus. This is why you needed to set "master" and "slave" at the drives when you installed them: it told them which form of drive-select-signal they should listen to. Finally came SATA: ATA (AT-Attachment) was originally used to connect floppy drives and CDs (ATAPI, ATA packet interchange) and it evolved from the IDE standard. 2003 the new SATA (Serial ATA) standard was introduced, which made the orginally parallel bus now serial. SATA disks do not need a drive selection any more, who is primary (usually the device with the lowest port number) and who is secondary is selected by the controller at start and then set electronically. Change this by setting the boot orer in the BIOS (see below).

Then you have to understand the boot process: When the computer starts the program called BIOS takes over and organises the hardware. It also has a boot list (a list of devices it tries to boot from), which is stored in a small amount of non-volatile memory. Go to your BIOS and you will probably find a list of your attached disks and their priority in this boot process. Notice that some vendors (especially notebook vendors) make sure you cannot access this part by castrating the BIOS. This is done for "security reasons": it secures the manufacturers profits by making sure you have to buy a new system instead of doing with your old one what you want to do.

Lets say a some (harddisk-) device was selected (there are other processes for booting from a network card, etc,): the BIOS then reads a fixed special part of this disk, the so-called MBR (Master Boot Record), which is part of the partition table. In this place there is a pointer (basically a disk address) to a program, which gets in turn loaded: this is the so-called boot loader. Control is now passed from BIOS to this boot loader. This small program then loads the OS itself and starts it.

Windows has a very limited boot loader, but several alternatives exist, which can usually Windows as well as other operating systems: there is i.e. LILO (the "Linux Loader", which is deprecated nowdays) and of course GRUB (GRand Unified Bootloader), which is standard today for most Linux distributions. There are perhaps many more. Most if not all of these boot loaders per default do their work without "saying anything publicly", but can be configured to present a selection menu with various alternative OSes to boot.

So far, so easy. A few years back now Micro$oft noticed that some people used their systems to run Linux instead of Windows and this of course could not be tolerated. So they invented UEFI (Unified Extensible Firmware Interface) as "more secure" alternative to booting. EFI had the immense advantage that the BIOS only booted OSes now that had a certain key and the only OS that had such a key was Windows (for the meaning of "security" see above). If you want to retain the "secure boot" (which is perhaps what your BIOS is set to) you will have to change the EFI system partition to boot both versions of Windows. Each version has its own key and both keys have to be put there to be able to boot from. In addition you will have to find out how to configure the Windows boot manager - i have no Windoze and don't know.

You could also disable the "secure boot" so that the boot process works like i described above. You could also isntall and configure GRUB, there are lots of step-by-step description of that in the net, for instance here.

I hope this helps.


I hope this helps.
These 2 Users Gave Thanks to bakunin For This Post:
# 6  
Bakunin makes an extremely valid point there. If your new hardware has the "latest features" you should set the boot parameters to 'BIOS' and not 'EFI', and/or "secure boot" should be disabled.
# 7  
The boot is probably failing because you have incompatible device drivers on the hd. Here is some reading material from Microsoft
you will probably have better success creating a VM,

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #587
Difficulty: Medium
All programming languages support recursion.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Other way aside from putting more PIPES (|)

I already manage to get the output that i want.. but wat if removing all the pipes and convert it 1 liner with less pipes. My command below can get the ouput that i want. i just want to remove the pipes or less pipes. #cat file1 us-west-2a running i-3397a421... (2 Replies)
Discussion started by: kenshinhimura
2 Replies

2. UNIX for Dummies Questions & Answers

Putting $$ before filename

Hello , I am searching a directory for a file and have to assign the filename to a variable . The variable must have form $$filename So my code is echo "'$$filename='`ls -lrt *PreMatch*.csv| head -1 | nawk '{print $9}'`" however $$ is converting to a number . How could I make it $$... (3 Replies)
Discussion started by: Pratik4891
3 Replies

3. Shell Programming and Scripting

putting two images together

Hi, I generated many figures in .png format (approximately 120). Right now I need to pair the figures on a single page so that the files with the same file name (i.e. jack) that end with .matrix.png are placed on the left and .cdt.png is on the right (so jack.matrix.png with jack.cdt.png... (6 Replies)
Discussion started by: kylle345
6 Replies

4. Programming

putting numbers behind eachother

I want to make a program where you have to insert binary numbers like this: do { iBinary = getche(); }while(iBinary == 1 || iBinary == 0); after you get the numbers I want them to be placed behind eachother so you will get: input: 1 1 0 1 output: 1101 (7 Replies)
Discussion started by: metal005
7 Replies

5. UNIX for Dummies Questions & Answers

putting Linux on an old windows PC

Hello, I was just reading around these forums when I had an idea, without being able to really answer my question for myself due to some circumstances, so hopefully someone can give me a hand. I have an old desktop PC that has served me very well. I got an Asus G73JH though, so I mostly used the... (2 Replies)
Discussion started by: Patriots12
2 Replies

6. Shell Programming and Scripting

Putting a character between two other characters?

I need to separate Pascal style identifiers (TheyLookLikeThis) into words separated by an underscore (_). I've tried sed 's//&_&/' but this won't work (obviously). I'd love some help. (4 Replies)
Discussion started by: Ilja
4 Replies

7. UNIX for Dummies Questions & Answers

Putting Wallpaper on the Desktop

How do I put wallpaper from the internet on the Unix desktop? For example, I want to know how to perform the same operation as "right click-> Set as Wallpaper" on a graphics on a web page, in Windows. Thanks! :rolleyes: (3 Replies)
Discussion started by: pireifej
3 Replies

8. UNIX for Dummies Questions & Answers

putting a timestamp in a file

I was sure there was a way to put a timestamp ina logfile but I can't seem to figure out how. What I would like to do is after the last messages in the rptmgr.err log is put a timestamp so I know the next time I look whats new. I am using AIX 5.1 any help will great Thanks (2 Replies)
Discussion started by: rocker40
2 Replies

9. Programming

Putting breakpoint on core

Any one tried puting breakpoint while debugging a core file? I have been using a gdb for running it.. But unsuccessful to put a breakpoint before executing it. Any sugestion or tool for doing it would be welcomed.. Thanks :) (0 Replies)
Discussion started by: jyotipg
0 Replies

10. UNIX for Dummies Questions & Answers

Putting pC on network

How do I put a my PC with linux 7.0 on a class B network. Can someone give me info or text that will guide me? (1 Reply)
Discussion started by: Rush
1 Replies

Featured Tech Videos