Results 1 to 2 of 2
Hello Everyone. I recently had some questions, and Tim Wright in the UK was VERY nice in responding to some of my writings. I also had a good response from ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 03-06-2007 #1
- Join Date
- Nov 2005
SATA and IDE Disks - How To (By Request) PT I
Hello Everyone. I recently had some questions, and Tim Wright in the UK was VERY nice in responding to some of my writings. I also had a good response from several other members here. I shared quite a bit of information with Tim in the UK and here is what Tim asked me to do:
You know it always cheers your day up when someone takes the time to explain something simply and thoroughly. I'm actually a Windows lad myself and I've just started on my Linux adventure recently .
I'm glad you got your problem sorted out and I think you should start a thread with just the PM you sent to me today. It would be very helpful for both novices and experts.
I've always had a bit of trouble trying to understand the way Linux lays out the disk space but you've helped me to understand it far better than any guide.
Wishing you all the best,
Ok, so there you have it. There are are several issues here, and if I am wrong, please forgive me. You can let me know what you think about this thread. I decided to honor Tim's suggestion. Actually, I consulted with several Linux forums and read up on all the SATA related issues just to get a feel for what other people have been faced with in both Windows XP and one Distribution or another of Linux. I do not pretend to know it all, but I hope that for those of you who are new to Linux or those of you who are confused about hardware issues, will bear with me as I try to explain things.
First of all, I am ambidextrous, in both the Windows and Linux operating systems...I am not an expert with Linux, but I know just enough to get along and be dangerous with it a bit. I like both Windows XP and Linux, and so I use them equally, probably Windows more because there is a lot of software available for Windows that isn't for Linux. There are two big issues at least and that is: The hardware config has changed over the last two years or less to new devices such as SATA and PCI-Express. The second issue are Windows users like me who want to fool with both operating systems in a dual boot config. I guess the third issue may be those of us who are brave enough and foolhardy enough to build our own computer systems.
My motto is simply: You don't try it, you won't ever know. That can be sort of dangerous with electrical equipment, so I advise you to get a handle on basic electronics circuits and electrical laws, just enough so you don't stick your hands into the box and fry yourself. You know you have to use common sense and that means, making sure that the power is disconnected and that you are appropriately grounded, when handling sensitive electronic equipment.
Another issue was where to put this information on this forum. Installation seems to be the most likey and logical place, but it might equally as well be suitable in both a Hardware Forum and and Installation Forum.
Let's get on with it however...and I assume you are reading this because you are searching for some answers about how to install a SATA drive like me, on a newer motherboard and you want (but do not have to have) a dual boot configuration of Windows and a Linux distro(s).
Just to let you know, am a Red Hat/Fedora Core Linux user, but I have also used and am familiar with SUSE and Mandrake (Mandriva). There are two big groups of Linux distros, the difference for me is WHERE the critical operating files are put (into which directories)....the FreeBSD people, Ubuntu crowd can expect their files to be located in a different directory config from us SUSE/Fedora people. This means, difficulties when you try to install software made for one group of Linux user for the other unless you are eminantly familiar with C++, the GNU compiler and you can "fix" the installer...
Now lets talk about SATA and IDE...I am going to assume that you are a Linux user who doesn't know much about Windows (Windoze for the hardcore). I am further going to assume you may be a Windows user and are thoroughly bolixed about the drive devices and their Linux config.
Let's assume you went out and bought a new motherboard which has both the older EIDE (IDE for short) device ports on the motherboard. Let's further assume that your new motherboard has SATA ports on the board. This means that you DO NOT need to have a SATA controller card...the controller card is only necessary if you want to put more SATA devices on your board than you have native SATA ports for or you want to EXCEED the number of RAID configured (mirrored) hard disk devices. My new motherboard has four SATA ports native to the board,so this means I can either have FOUR NON-RAID configured SATA devices or I an have TWO RAID configured devices.
Remember, if you want RAID configured devices you must have two hard disks which are of equal size (I would recommend that you buy two new devices made from the same manufacturer at the same time, just to make sure). I won't be discussing RAID configured devices because I don't care about RAID. Let's assume you don't either, and you want to also use the IDE ports on the motherboard. If you are like me, you have a number of older IDE devices and you want to continue to use them rather than waste them.
Now, the qustion for me was and may be for you, how do you get Windows to see the one SATA drive you have (on SATA1) port rather than the Primary IDE Master device. Windows always wants to install itself to the Primary master device and assign the drive letter C: to it. That's not what we want if we want the SATA drive to be the primary device in which C: is installed.
The problem here is we have two devices in conflict with each other, one which windows wants to install on, which we do not want. How do we fool windows? The answer is VERY easy:
Just keep your IDE devices unplugged except for your CD or DVD device which is an IDE device (most likely) until Windows is installed. Then, after Windows is installed to the SATA drive, you can go back and plug in your other IDE devices to the motherboard.
Now, here is how IDE works: Typically, there are TWO IDE ports on a motherboard, the PRIMARY IDE (often designated as IDE0) and the SECONDARY IDE (often designated IDE1). Each IDE port supports TWO DEVICES for a total of four devices. The first device on an IDE port is called the MASTER device and the second device is called the SLAVE device.
And by the way, a single SATA port only supports ONE device, not two like the IDE ports! So don't get them confused.
IDE Port = Supports TWO devices, Master and Slave
SATA Port = Supports ONE device Only
Now, the way you configure Master or Slave is that you manually set the JUMPER of the device according to the device map, usually the device map is located on most IDE hard disks on the label (pull it out of your computer if you need to find out which is which). If you have an older IDE hard disk, it may not have the map on the label and you will have to go back to the manufacturer and look up the stocknumber of the hard disk or by any other information that might be on the label of the hard disk. If you are unable to locate a manufacturer or they are no longer keeping info on your older drive, you can try setting various different jumper settings until your BIOS detects and reports it to you correctly. It may take a number of different configurations with the jumpers...beware, some older drives have TWO JUMPERS! OMG! Some of them are set to horizontal or a combination of parallel and vertical. You may never be able tomess around enough. The best thing to do before tearing into you hard disk config is to consult your BIOS and write down whether the device is master of slave as it is already configured. Then pull the device out and make sure you count the number of pins from left to right (usually 5 or 6 n a row) and WHICH jumper(s) are jumpered. There is a GOOD chance that a master cofigured IDE hard disk can be made a slave by removing all the jumpers...a very good chance, but not a 100% chance. That means that if you have a master configured IDE disk, you only have to experiment and pull the usually (one lone) jumper and stick it back in and see if BIOS detects a slave device. Let your BIOS do the work for you. If you have one of those older IDE drives that has two jumpers jumpered, one in horizontal and one in vertical, pull the vertical jumper but not the horizontal because more likely than not, the horizontal jumper is set permanently and shouldn't be pulled. If you have to vertical jumpers, just pull one jumper and set various pins back and forth first and then try the second pin with the other pin in one place. The likelyhood is that at least after several attempts you will hit upon the right combination.
Now, for newer drives, ones that have been made in the last couple of years ago or so, the problem is a lot simpler...usually there is but one jumper and all you have to do if it is MASTER is just pull it and try a jumperless config.
Sometimes, a jumperless configuration means that that one hard disk is all there is on the IDE...why the heck the disk manufacturers have to be such a pain in the *ss is beyond me. They could all get into a conference and agree on one standard...but whoah be it...probably their sales and marketing people would freak out if it was suggested hat jumper settings actually be standardized across the industry.
Now, lets assume you have gotten past the master and slave problem, IF you have problem, that is...
See Part II
- 03-06-2007 #2
- Join Date
- Nov 2005
SATA and IDE Disks - How To (By Request) PT II
See Part I for the beginning up to this point...
Lets assume, you want two hard disks on IDE0, one set MASTER and the other SLAVE. Let's further assume you have ne more IDEhard disk and you want it to be the MASTER on the Secondary IDE port. And then, you want to make your CD or DVD drive the SLAVE device on the Secondary IDE port.
The reason why you want your CD or DVD drive to be a slave device is that its ACCESS TIME is slower than most hard disks. You always want to make the Primary Device the faster device. This speeds up your computer.
You could also put the Master device on IDE0 as the primary hard disk and the slave device onthe IDE0 as a CD or DVD drive and do the same with the secondary IDE port as well.
You could also have two hard disks on the Primary IDE0 and two CD/DVD drives on the Secondary IDE Port, one set to master and the other slave.
But remember, you always HAVE TO have a hard disk on the Primary IDE0 port. Don't try to put a CD/DVD device on the Master IDE0 or you won't go anywhere!
Now, windows always assigns the Master device of IE0 to C: drive. This is the exact same drive as /dev/hda for IDE devices and /dev/sda for SATA devices.
In the case of a computer with BOTH SATA and IDE drives, your Linux installer will show both devices as:
Primary Master IDE0 = /dev/hda .... which Windows calls C: drive if Windows is installed on the IDE drive instead of the SATA drive
Primary Master = /dev/sda ... which Windows calls C: drive if Windows is installed on the SATA drive instead of the IDE drive.
Notice an IDE drive in Linux is called ... hda
Notce a SATA drive in LInux is called ... sda
So my computer with both kinds of drives will show:
/dev/sda -and- /dev/hda
Meaning, I have both a SATA drive on SATA1 on the motherboard and a Primary Master IDE hard disk, /dev/sda.
Now friends, I believe CD writers are /dev/cdx where x indicates he alphabetical order of the device.
Since my ONE DVD drive is located on the Secondary Slave IDE, it will show up in Linux as:
/dev/sda or /dev/hda = SATA1 on mb or IDE Primary Master
/dev/hdb = IDE Primary Slave
/dev/hdc = IDE Secondary Master
/dev/cdd = IDE Secondary Slave
Notice how the last letter trickles down.
Windows will assign the following letters:
/dev/sda or /dev/hda = C:
/dev/hdb = D:
/dev/hdc = E:
/dev/cdc = F:
Now lets get something clear here. Windows assigns the NEXT UP letter according to what it finds AT THE TIME OF DISCOVERY. So if you add a device later, such as an external HD or CD/DVD drive, Windows will automatically assign the next up letter. This is ASSUMING OF COURSE that you do not split up your hard disks into partitions. We are assuming here that you are going to have one PRIMARY partition on each hard disk.
Windows ONLY allows you to have a MAXIMUM of FOUR PARTITIONS per device. The schema in Windows of assigning thenext up letter to new devices applies WEIRDLY ENOUGH to new partitions you maycreate on a single device.
In the above scheme I have above, lets say, we later go back and create three further partitions on the C: drive. What will happen? What happens is that Windows assigns three new letters AFTER F: on that hard disk you just partitioned off.
This means, that Primary Master IDE0 will now have the the following partitions:
C:, G:, H:, I:
That's right, the old schema will be maintained and the reason for it is very logical. Windows has a REGISTRY database which keeps track of which partition you put software onto. If you were to re-letter the drive partitions in order, you would royally screw up the registry database. The windows registry is NOT automatically updated by re-assigning drive letters to installed software when you partition off new partitions. Now listen, Linux users, its no fair to make of this a fun thing to poke fun at...just remember what a BAG OF WORMS IT IS IN LINUX to figure out all the dependencies yourself and the fact there is no particular magical answer in Linux across distributions for compiling and updating software...you know the routine, YUM updater, APT updater, CVS, etc etc etc...so let's keep the sneering down to a drivel. I happen to think MS Windows has LInux over a barrel in this particlar respect, JUST BECAUSE its a breeze to install and maintain software, unlike Linux which can be a pain you know where...
Now, for those of you who get confused, due to the Linux Kernel, oh wonderful Kernel it be: USB devices are treated like SCSI devices.
I have still to figure out why Linux treats USB devices as SCSI but it does.
And this means, that if you so happen to have an external USB device like an external hard disk or a CD/DVD writer, its gonna look like you just added an SCSI device (even though it is defnitely NOT and SCSI device!!!!). Therefore, if you have the configuration I have described with all IDE channels full (four devices) and a SATA1, you are going to see the first
USB external device something like:
/dev/sdx where s is used to indicate an SCSI device which really is a USB device. On my little schema, my SATA device is the boot device and that is where Windows will also boot and it isalso where GRUB resides (the Linux Bootloader)...I won't even go into LILO for those of you who are masochistic and love it...I am gonna stick with GRUB as the bootloader.
Just also remember this...you can only have FOUR partitions on a single hard disk in Windows, so if you create three really typicall partitions on your hard disk for Linux, you have used up all the partitions you areallowed for in windows on that device because even though Windows will not normally access the Linux partitions (unless you use some other linux software to do that...), the Linux partitions will still be seen by Windows and counted as partitions although they will be unavailabe for Windows. So this is all the more reason to have more than one hard disk on your computer.
I always try to keep my C: drive JUST for windows bloated updates...I do not install software to C:drive unless the software has a fit about it and these days most software doesn't care where it gets installed under Windows, that is, on which drive. What I do like is that the DLL files almost always get installed to the SYSTEM32 subdirectory...I then make most of my C: drive
for Windows and keep the other three Linux partitions smaller. The largest one is for /root of course...I uually allow at least 120 Gigs for that. Then, I create a Linux partition on another hard disk for more space to install "stuff."
In windows, I install all my software to some other device, other hard disks, and try to keep C: as unburdened as possible. As you know, the more a hard disk gets full the longer is the seek time and this slows down the computer.
But with a big fat 500 GIG SATA drive, can partition off 250 Gigs or so to Linux and still leave plenty ofroom for Windows. Just consider that when you are installing Linux, and IF you are going to install it on the primary MASTER IDE0 or the SATA1, that you still are bound by the 4 partition rule.
And listen, Norton Partition Magic is VERY GOOD at creating Ext2 and Ext3 Linux filesystems without damaging your windows installation. What you should do tho first is defragment your hard disk and run a disk check using chkdsk /f/v on all your primary IDEO partitions to make sure your hard disk won't fail during the making of linux partitions. I don't know about strict Linux users, but I have found that Partition Magic 8.0X works very well in creating your Linux partitions...I have just been a little bit leery of letting a Linux installer mess with my C: drive...who knows, maybe it hates my Windows and wants to do it in...that's my own personal fear of course speaking here. But that is what I do.
And lastly, if you want to install Linux on a Widows computer, doing a clean install, always make sure you install windows first and then your Linux distro.
One last thing, you may have to copy the SATA driver to a floppy and make i available to the windows installer by holding down F6 during the windows installer initilization. When you see all these drivers being initially loaded, hold down F6 and then a box will pop up that will allow you to install the SATA driver. Check with your motherboard vendor to find out. Make sure ou set your BIOS to PATA device (meaning SATA device) as the primary boot device. Keep IDE devices except for your CD/DVD drive on Secondary IDE1 off line until you install widows on the SATA drive. So in other words, you wil have just one IDE device, on IDE1 set to slave. You need to have a CD drive right, on install!?
I hope this helps a lot of people, and if anyone can find something wrong here, which may be the case please add to these comments and lets offer up something to people they can use so they aren't so confused about these issues.