"James Harris" <
james.h...@gmail.com> wrote in message
news:c280e519-b2d2-4fb3...@e42g2000yqa.googlegroups.com...
> This is a follow up to the thread "Hard disk boot - space for extra
> code" which was going into wider issues so am replying here as a
> separate thread.
...
> On Apr 19, 9:21 pm, "Rod Pemberton" <do_not_h...@notemailnot.cmm>
> wrote:
> > "James Harris" <
james.harri...@gmail.com> wrote in message
...
> > > The goal is to enhance the user experience of the first stage of the
> > > hard disk booting process of a common or garden PC.
> >
> > Why?
>
> Hard to answer without knowing what specifically you are querying.
In the other thread, I described what I wanted from booting. One way to
look at my description is that most of it comprised of *not enhancing* the
so called "user experience". If I'm like many others then, why would I want
an enhanced user experience during booting?
> We all want to make the use of a PC better for users don't we?
No. What users?
My (stalled) OS is light-years away from having any users (excluding me, of
course). Don't you need to get an OS written first before considering
users? Don't you need to get an OS written first before considering the OS'
impact upon users? etc. I.e., there are a number of good bootloaders out
there, so creating a phenomenal one before writing your OS seems like
putting the "cart first, horse after."
And,
No. I'm not sure I want users. Users will put me through hell.
> > > So then, what enhancements? Basically to do things like
> >
> > > * present a specific boot menu
> >
> > Why?
> > - BIOS BBS menu
>
> A BIOS menu is highly restricted, can only give the user choices of
> which hard disk to boot from and the user cannot customise it.
What needs to be customized?
Why would providing the user choices of which hard disk to boot from be
insufficient?
> > - slows down booting
>
> Waiting for user input would slow down booting, yes, but given what
> you say elsewhere are you thinking that displaying a menu would be
> slow? There would only be a wait-for-input delay if chosen by a user.
Yes. All console I/O is slow. And, I don't like text output during boot.
> > > * scan available disks looking for bootable partitions and
> > > offer a choice of those to the user
> >
> > Why?
> > - BIOS boot order in setup
>
> I'm not sure that all BIOSes allow individual hard disks to be chosen.
Of course not, the BIOS allows you to select device(s) to *not* boot also.
Wouldn't it be a security violation if your bootloader could boot devices
specifically set to not boot? I think it would. But, I'm guessing as to
your meaning here too, so maybe you meant to enhance an obsolete BIOS by
allowing it to boot other devices it doesn't recognize? You understand that
the bootloader would have to provide drivers for that other device, yes?
> Some may only allow a choice of whether to boot from hard disk or not
> as if there was only one hard disk in the machine.
So? Unplug, reconfigure, reboot, etc. It's only an issue if you don't own
the device in question, or are lazy about reconfiguring it, or creating
some type of forensic recovery software. Yes? No?
> Besides, the names the BIOS uses may not mean anything to the user.
> Maybe we can use better ones.
What ... ? Are you saying the device id string that BIOS reads and displays
isn't useful? Or, are you saying that you like Linux (etc) device names
better than _____ (something else)?
> > > * maintain a timer and take a default option if a
> > > certain period elapses before a choice is made
> >
> > Ok.
>
> LOL! ISTM the one thing that significantly does take time on
> bootup is the only one you didn't complain about slowing
> down booting!
It was too overwhelming at that point ... lol. ;)
If you're going to use a menu, then a timer doesn't make the situation any
worse. It can actually improve it, by shortening the delay, i.e., zero.
Hopefully, zero makes the menu go away too ...
> > > * issue meaningful diagnostics if errors occur
> >
> > Why?
> > - good for scared newb's
>
> When you refer to newbs are you thinking of new OS developers?
No, I'm thinking of novice OS users. They do stuff "no one" - i.e., those
who are computer literate or even semi-computer literate - would ever
expect, anyone to do.
Not to pry into your private life, but do you have elderly parents who use
computers? (no need to answer) I do. It's a nightmare, even with them
using a professional, high-quality, comercial OS like Windows.
Do you know how freaked out my parents get when they get a blue screen of
death (BSOD) with Windows? Do you know how freaked out they get when
resume mode doesn't resume leaving them with a black screen of death (BlSOD)
with Windows? My dad has managed the to get the BlSOD a few times now.
My mother has managed to get the BSOD screen too many times to count.
Fortunately, more recent Windows is less BSOD happy. Here is a basic
summary:
Dad: BlSOD: few Windows 7, 64-bit, Samsung laptop
Mom: BSOD: few Windows 7, 64-bit, Dell PC
Mom: BSOD: few Windows Vista, 32-bit, Dell PC
Mom: BSOD: numerous Windows XP/XPsp1/XPsp2/XPsp3, 32-bit, Dell laptop
Notice that that's not on Windows 98 or SE or ME. That's on MS' current top
of the line, line up. The Samsung is only four months old.
Linux with it's dark corners is too scary for me to contemplate them ever
using, even if it is 100% free.
I don't know if you recall, but I mentioned one issue I found was that my
mother, i.e., "novice user", was using filenames as a notepad, e.g., grocery
lists, to do lists, massively long descriptions, etc. Once the filenames
were more than 1024 characters in length, the Windows filesystem *failed* to
link the filename and file together. She starting asking why her files were
disappearing. That was with WinXP. Windows provide no warning that the
maximum file length was being exceeded. No joke.
The other BSODs she had seemed to have some correlation with her not waiting
for Windows to do things, i.e., repeatedly tapping the mouse pad. She
didn't understand that you have to wait for Windows to finish loading before
you use it or it crashes, i.e., starting to use Windows once the desktop
appears but before all those system tray icons are loaded. She didn't
understand that if Windows is doing something, i.e., lots of disk access,
that interrupting it will crash it. She didn't know that you have to wait
until Windows is finished writing to CDs or USBs to eject or unplug them,
i.e., corrupted copies. None of that is something we would likely ever do.
> If so I can see more of where you are coming from with other comments.
Uh ...
> While it's good to see things as a developer, in general shouldn't we
> focus on how the machine behaves to a person who is not computer literate?
Yes. A computer illiterate person doesn't know what he or she is seeing on
the screen anyway, so why do they need a more informative boot process?
Did you mean someone semi-literate?
> Even for us, existing messages may be of little use. Let's have a
> quiz... Here are some messages one might get from an MBR program. What
> exactly is each one telling us? I don't know. Much of the time it
> would not even be clear which disk, partition table entry or error it
> was talking about.
>
> Invalid system disk
> Disk I/O error
> Replace the disk then press any key
> Disk error
> Missing operating system
> Invalid partition table
> Error loading operating system
>
> All are taken from MBR code (not floppy code) found at
>
> [link]
>
Well, I know what those mean. I've also seen most of them at some point in
time. But, other than "Missing operating system" or "Invalid system disk",
and "Replace the disk then press any key", you won't see them too often.
> How is a normal PC user supposed to understand what any of those mean
> or what to do to fix it???
Like I said, there is no point in informing someone who doesn't understand.
They still won't understand when you inform them. They've got no context.
They don't know what an MBR, VBR, bootloader, etc are. So, for "Missing
operating system", you can tell them to install an OS all day long and it
won't mean much to them. "What do you mean by 'install'?" "What's an OS?"
...
> Better diagnostics would be a boon, IMHO. They would be possible if
> there was more boot space and we seem to have established that we can
> provide such space. Happy days!
Ok, quiz. What would be better "diagnostics" for "Error loading operating
system" or "Invalid system disk"?
> > - good for when a professional OS has a serious crash and restarts
>
> I don't follow. Would pre-OS code be of much help with an OS crash? I
> doubt it could even recognise that one had happened.
You only need to write a flag to disk. If the flag doesn't have the correct
value upon reboot, then a crash or shutdown failure occured. If numerous
values were written at various stages of shutdown or booting, then even more
specific messages could be provided. E.g., "Failure transferring execution
from 1st stage bootloader to 2nd stage bootloader." Etc.
> > - slows down booting
>
> By printing a few messages! How can that possibly impact on boot
> speed? No one will notice a few milliseconds difference especially if
> something went wrong. Surely this is very worth doing.
>
Ok, you're just thinking about your menu.
Have you seen a recent Linux boot? Once past the BIOS screens, DOS takes
about 1 second, if that. Windows 98 takes about 10 seconds. Linux scrolls
a vast volume of text, then stalls for module loadings, etc. It takes about
5 minutes. That's with a current high speed BSD based distro's like Vector
Linux. 85% of that load time is due *purely* to the slowness of console
I/O.
> > - In general, I don't want. Get me to a prompt where I can fix the
> > issue.
>
> A usable prompt in a pre-OS environment? That sounds a bit hopeful.
No, get me to the OS prompt. I don't want to see the pre-OS environment at
all, ever.
> I gave, in the initial post, a number of reasons why a pre-OS boot
> system would be useful. You don't have to like *all* of them. Any
> *one* would make it worth doing.
See last comment above.
> Since starting this I've come across other reasons such as how poor
> (fragile, vulnerable, inflexible, uninformative) existing boot-menu
> systems seem to be. All the more reason to consider writing a good
> one.
If you're not going to start from scratch, wouldn't it be better use of time
to take a good one and make it phenomenal?
> A quick rant.... Can existing boot systems really be as bad as they
> seem?
Of course, they can. What is good enough is rarely ever made great.
> Microsoft has an excuse (albeit an impermissible one) of
> pretending the rest of the world does not exist.
It's both an issue of security and market control for them. Their OS can't
be secure if someone can modify the boot sequence, and blocking out
competitors gives them monopoly power.
> I can understand (though not excuse) their approach to
> put their boot management inside a Windows partition based on their
> philosophy.
I don't see an issue with storing stuff in a partition.
> I feel exasperated that Syslinux, Grub and Lilo apparently
> load their second stages from fixed locations - often within a Linux
> partition or, if not, from somewhere on the disk that has no
> protection.
You've mentioned this a few times now. Why?
> Why can't people separate concepts when they design things.
Market control, limited foresight, history - that's the way it's always been
done, pick one of those as an answer or something else ...
So, you're saying that GM, Ford, Chrysler, and Toyota should have more
interchangeable parts than just tires? You can't use GM parts with Fords
and vice-versa, except tires, an industry which the automotive companies
left to tire manufacturers. For production vehicles, an alternator is an
alternator. Some are more powerful. Some require specific circuitry etc.
But, basically, if the automotive manufacturers hadn't been in the business
of manufacturing their own alternators, then we wouldn't have dozens of
alternator designs from each company which only work on specific product
lines. If tires had been manufactured by the auto companies, tires wouldn't
fit other vehicles either. Ditto for windows, doors, seats, lights,
exhausts, engine parts, transmissions. Radio's might be interchangeable
too.
> A person's favourite OS is irrelevant to the choice of OS in a
> pre-OS boot process?
Not historically ...
> Why can't the people who design these things think about how best
> to boot a PC irrespective of which OS is to be booted?
Not enough demand, complexity, market control, limited foresight, history -
that's the way it's always been done, pick one of those as an answer or
something else ...
> Why don't they think about what the user might want to do -
> e.g. remove a Linux partition without losing the rest of the
> boot menu options?
They do, but, in the context of users using the OS, not OS setup,
installation, or modification.
Rod Pemberton