PDA

View Full Version : HDD & BIOS : why the hell is that so badly designed???



fullmetalcoder
5th April 2006, 12:20
Hi guys, I have few questions :


my PC is 5 years old, so is BIOS, and it refuses booting from a DVD. I think I figured out why but I cant't think of a way to fix it : I have two IDE drive, 1 CD burner being master drive and one DVD reader being slave. Do I absolutely need to go inside my PC to set the DVD as master?
I want to buy a new HDD but I'm unsure about something : I have no SATA slot on my motherboard and I don't know if my PC could boot from a HDD using a SATA slot from a PCI extension card...
assuming I have two hard disk, grub installed on the MBR of the first one (master IDE), can I boot from the second one???

Codepoet
5th April 2006, 12:49
1.: Depends on the BIOS. Try hitting [F11] or [F8] before the boot loader starts. That could allow you to choose another boot device.

2.: A real SATA controller with its own BIOS can do that. Sometimes you have to configure your normal bios to boot from SCSI or "other boot device".

3.: That's possible if the OS supports it. Windows will probably not work without some tricks like hiding the first hdd. But Linux will do.

wysota
5th April 2006, 12:57
BIOS sucks! Who invented it anyway?

GreyGeek
10th April 2006, 22:44
BIOS sucks! Who invented it anyway?
The PC BIOS was invented by the late programmer, and PC operating system (CP/M) pioneer Gary Kildall.
http://dmoz.org/Computers/Software/Operating_Systems/BIOS/desc.html

The concept of the BIOS as software wasn't patented by Kildall, because software wasn't patentable in those days. So, that allowed IBM to design the PC from commodity hardware components, and they hoped to retain control of the PC architecture through ownership of only one component, a copyrighted ROM-BIOS, which was patentable hardware. This key wasn't "given" to anyone, but taken, when Compaq figured out how to reverse-engineer the ROM-BIOS without violating IBM's patents. The guy who invented IBM's BIOS was David Bradley: http://en.wikipedia.org/wiki/David_Bradley_(engineer)


At the time the BIOS was a terrific advance in technology! You'd understand if you ever programmed analog computers or the earl digital computers that required each binary of code to be set on a bank of 16 switches and then the toggle switch to be thrown, which moved to the next memory location. Hours later, or so it seemed, for "big" programs, one would toggle the run button and after a few seconds the "answer" could be extracted by going through the memory positions and reading the binary bytes out and mentally translating them to numbers and/or letters.

By today's standards the Model-T sucks too, but it beat horses in the urban environment.

Brandybuck
11th April 2006, 02:37
To elaborate a bit more, remember that the orignal IBM PC was the quasi-16bit 8088. An OS was purely optional, as a lot of software booted themselves into memory, bypassing any need for DOS. The BIOS provided basic I/O services (b.i.o.s.) that allowed this. In terms of booting, all it did was find the boot device (floppy) and transfer control to it.

Unfortunately, the nature of a commodity platform, and the reluctance to abandon old (often adhoc) hardware, caused the BIOS to accrete several ugly warts and addons. The A20 crap is one example. We have much better alternatives today, but PC manufacturers are very reluctant to move to them.

One benefit to the BIOS is that it is user friendly! Really! Your BIOS gives you a nice menu and your mobo probably came with a nice manual. Trying futzing with the OpenBoot of Solaris, and you'll come to appreciate your BIOS!:D

high_flyer
11th April 2006, 18:32
@fullmetalcoder:
Why not buy a new mother borad while you are buying a new HDD?
You can certainly do with middle ranged mother board if you are still happy with a 5 years old PC, and it will cost you not more then 50€, but will enable you to have a modern hardware that boots the way you want it.
A PCI SATA controller will not cost that much less then a new motherboard.

fullmetalcoder
12th April 2006, 13:12
@fullmetalcoder:
Why not buy a new mother borad while you are buying a new HDD?
You can certainly do with middle ranged mother board if you are still happy with a 5 years old PC, and it will cost you not more then 50€, but will enable you to have a modern hardware that boots the way you want it.
A PCI SATA controller will not cost that much less then a new motherboard.

And what about buying a new PC ??? :rolleyes:

I'm not happy at all with my 5 years old PC (not mine actually but it doesn't matter). THe problem lies in two facts : my current HDD is 40 Gb which is quite small to have multiple boot & I don't have that much money to spend for buying new hardware (80€)

BTW, I read in some magazines that a PCI SATA controller costs about 15-20€ and it's much easier to add a PCI card than to remove the old motherboard, reconnect everything (including IDE slots, graphic cards, CPU and RAM)

@wysota : sounds like Gran'Pa kicked your as! :p

Brandybuck
12th April 2006, 21:04
Since you don't want to buy a new motherboard:


my PC is 5 years old, so is BIOS, and it refuses booting from a DVD. I think I figured out why but I cant't think of a way to fix it : I have two IDE drive, 1 CD burner being master drive and one DVD reader being slave. Do I absolutely need to go inside my PC to set the DVD as master?
If you're motherboard's BIOS can't handle changing the startup drive to a slave, then the answer is "yes". You could try using Grub to boot from it, but I'm not sure it would work.


I want to buy a new HDD but I'm unsure about something : I have no SATA slot on my motherboard and I don't know if my PC could boot from a HDD using a SATA slot from a PCI extension card...
In this case I would get an IDE drive. You don't have any extra slots, so make it a big one, and replace your smallest drive with it.


assuming I have two hard disk, grub installed on the MBR of the first one (master IDE), can I boot from the second one???[/LIST]
Yes you can boot from the second. But it really depends on what you want. If you want the computer to boot by default off the MBR of the second, then you need help from your BIOS. Otherwise, the Grub on your first drive can be configured to boot any partition on any drive. You may need a boot manager on the target partition, hower, depending on the OS in question.

wysota
12th April 2006, 21:12
my current HDD is 40 Gb which is quite small to have multiple boot & I don't have that much money to spend for buying new hardware
Why not invest in a DVD-burner? (50€)



@wysota : sounds like Gran'Pa kicked your as! :p
Did he? He didn't say it doesn't suck and I didn't say it didn't use to do its job well at the time it was designed. It just wasn't designed with intention to handle all those nifty gadgets available nowadays. And it shouldn't need to handle them anyway... It should just be able to boot the machine. Nothing more. No tweaking, device discovery, temprature monitoring, time setting -- nothing. It can all be done elsewhere and each device should be able to autoconfigure itself on the hardware level (like memory speed, etc.)

The amount of legacy solutions in PC computers (and I don't like PC computers at all) is just plain silly. And Micro$oft is doing the same (mistake) on software level, too.

GreyGeek
13th April 2006, 19:12
Did he? He didn't say it doesn't suck and I didn't say it didn't use to do its job well at the time it was designed. It just wasn't designed with intention to handle all those nifty gadgets available nowadays. And it shouldn't need to handle them anyway... It should just be able to boot the machine. Nothing more. No tweaking, device discovery, temprature monitoring, time setting -- nothing. It can all be done elsewhere and each device should be able to autoconfigure itself on the hardware level (like memory speed, etc.)

The amount of legacy solutions in PC computers (and I don't like PC computers at all) is just plain silly. And Micro$oft is doing the same (mistake) on software level, too.
You're correct, wysota. I don't deliberately try to abuse anyone. I was just giving info on the history of the BIOS. Compared with what we had to work with before, the BIOS was a minor miracle.


But, I agree with the rest of your statement. When the BIOS is first powered up it looks at the HD controller card for a 512 byte section of code that contains the boot loader code. That code loads the "DOS" (Disk Operating System) off of the HD and gives control back to the BIOS. The BIOS continues loading the ring0 interrupts from its EPROM space into RAM. There are 1024 ring0 interrupt vectors, which are now called "ports", and the rest of the ports above 1024 are for less secure ring use. Good Terminate and Stay Resident (TSR) programs, what we now call "services", treat the vectors as pointers by replacing the original interrupt calling address with its own memory address and then passing on to the calling function the original vector address that the BIOS loaded, IF it didn't handle the call itself.

Those "services" can control who gets access to the orignal vectors and their capabilities. Microsoft, primarily, is pushing "Trusted Computing" (TC, aka Treacherous Computing or corporate "Digital Rights Management", NOT your rights) in order to control how your PC can be used by you with THEIR permission, of course. DRM or TC or what ever the name deJour, is merely TSR with a vengence, burned into hardware and encrypted so they can't be bypassed even at the hardware level. Total "ball and chain" enslavement. Their goal is to treat you like mushrooms..er.. consumers, by keeping you in the dark and feeding you sh**. Their EULAs have stripped all of your rights away. Your only job is to give them your money, use their crappy software, and keep your mouth shut.

You don't own Windows. If DRM gets into place you won't own your PC, either. Citizens of former USSR client states know what it's like to have someone else tell you what you can and cannot do in every aspect of your lives, because the "state" owns everything, including you. The State tells you where you can live, how much you'll pay for rent, what jobs you can do and how much you'll be paid to do them - regardless of your skill sets, when you can have bread or meat, what kinds of clothes, appliances, books, magizines,etc. that you can buy. In the Brave New World of PCs envisioned by Bill Gates, he and other corporate heads dictate to you what you can an cannot do with your PCs, even when you are not running any of their devices or watching their movies. They are the "State". You are the slaves.

There. I feel a little better now.

Brandybuck
14th April 2006, 04:49
I'm glad you got that off your chest...:eek:

fullmetalcoder
14th April 2006, 16:31
Since you don't want to buy a new motherboard:


If you're motherboard's BIOS can't handle changing the startup drive to a slave, then the answer is "yes". You could try using Grub to boot from it, but I'm not sure it would work.


In this case I would get an IDE drive. You don't have any extra slots, so make it a big one, and replace your smallest drive with it.


Yes you can boot from the second. But it really depends on what you want. If you want the computer to boot by default off the MBR of the second, then you need help from your BIOS. Otherwise, the Grub on your first drive can be configured to boot any partition on any drive. You may need a boot manager on the target partition, hower, depending on the OS in question.

1) I tried Grub but I got the "invalid device string error"... (with /dev/hdd/ cd0 ...)
2) I was thinking about that but have to earn some more money... :(
3) sounds hard! anyway I'll try everything ASAP (i.e. when I would have my new hd)




Why not invest in a DVD-burner? (50€)


What would be the point??? :confused:




In the Brave New World of PCs envisioned by Bill Gates, he and other corporate heads dictate to you what you can an cannot do with your PCs


Ah ah! We do have the same culture!!! Long live Aldous Huxley, George Orwell, Ray Bradburry, and all the staff... :D
BTW I agree with you but thanks to Open Source and strong willed coder we do have alternatives :
- Linux BIOS for replacing the corrupted BIOS that's trying to deprive us from owning our PCs
- Linux / BSD / Haiku (renewal of BeOS) / Syllabe : four promising project that kick M$'s and Apple's as
- lots of free software that do everything source-closed ones do (and much more!)

Long live the rebellion!

wysota
14th April 2006, 17:35
What would be the point??? :confused:
The point would be to burn some of the data from that 40GB HDD to DVDs so that you don't have to keep them on your hard disk (and risk losing them upon disk failure, by the way). Don't tell me you use those 40GB of files everyday :)

fullmetalcoder
19th April 2006, 13:37
The point would be to burn some of the data from that 40GB HDD to DVDs so that you don't have to keep them on your hard disk (and risk losing them upon disk failure, by the way). Don't tell me you use those 40GB of files everyday :)

Poor solution IMHO and not that cheap (DVD burner plus 10 DVD-RW is quite the same as a new IDE HDD)