More OT: HDD Boot

J

John Ferrell

I have purchased a few IDE hard drives (EBAY) for experimental use. I
want to retry some old Os's and dabble with other hardware.

My guess is that the data security erase that the vendor used to wipe
previous user's data also corrupted something in the boot operation.

I can format & install Win7, Win XP and Ubuntu and everything looks
good. But I cannot boot any of them. I have done a lot of searching
and trying and I gather that there is an area on the disk the
prevailing OS's cannot modify. The drives all work fine for ordinary
data storage.

I have collected a few HD's of my own with the bug as well.
I would appreciate any info on the subject.

I hope to live long enough to work out the interface to my favorite
micro processors so I can either put them away for that purpose or use
them for data storage.

BTW, I posted here because there are some bright folks among the
trolls!
John Ferrell W8CCW
 
K

Ken

John said:
I have purchased a few IDE hard drives (EBAY) for experimental use. I
want to retry some old Os's and dabble with other hardware.

My guess is that the data security erase that the vendor used to wipe
previous user's data also corrupted something in the boot operation.

I can format& install Win7, Win XP and Ubuntu and everything looks
good. But I cannot boot any of them. I have done a lot of searching
and trying and I gather that there is an area on the disk the
prevailing OS's cannot modify. The drives all work fine for ordinary
data storage.

I have collected a few HD's of my own with the bug as well.
I would appreciate any info on the subject.

I hope to live long enough to work out the interface to my favorite
micro processors so I can either put them away for that purpose or use
them for data storage.

BTW, I posted here because there are some bright folks among the
trolls!
John Ferrell W8CCW
Is the partition set as ACTIVE?? It will not boot unless it is.
 
P

Paul

John said:
I have purchased a few IDE hard drives (EBAY) for experimental use. I
want to retry some old Os's and dabble with other hardware.

My guess is that the data security erase that the vendor used to wipe
previous user's data also corrupted something in the boot operation.

I can format & install Win7, Win XP and Ubuntu and everything looks
good. But I cannot boot any of them. I have done a lot of searching
and trying and I gather that there is an area on the disk the
prevailing OS's cannot modify. The drives all work fine for ordinary
data storage.

I have collected a few HD's of my own with the bug as well.
I would appreciate any info on the subject.

I hope to live long enough to work out the interface to my favorite
micro processors so I can either put them away for that purpose or use
them for data storage.

BTW, I posted here because there are some bright folks among the
trolls!
John Ferrell W8CCW
First, there are truly ancient PC BIOSes (like the one on my 12 year
old motherboard). And then there's the BIOS interface on more modern
motherboards.

On the old ones, the boot order in the BIOS makes reference to "C:"
in the actual BIOS. I don't understand the significance of that, except
that on my old system, it appeared to limit my choices. The BIOS in that
case, rotated through a set of "canned" boot configurations. I use
to twiddle that adjustment, until something booted, and did not investigate
further. I think I may have even used a boot manager, such as "Boot Magic",
so I could hop from one drive to another, with that BIOS interface limitation.

*******

Modern motherboards have two dimensions of boot order. Device type,
and then priority within a specific device type.

floppy
CD
hard drive (sub-menu HDD3, HDD1, HDD2 perhaps)
network

So one level of menu setting, chooses the basic order. The order I
demonstrated there, puts the removable media first, and if the removable
media slots are empty, then the system goes to hard drives. If my
hard drive died a horrible death, then I'd find the system with a
"PXE" message and a spinning cursor, as the computer searches the
network for some kind of "bootp" or equivalent storage device.

In my example, if HDD3 is present, the BIOS loads the boot code contained in
sector 0. If the boot code in sector 0 chooses to look for an
"Active" partition, where the boot flag is set to x80, then the boot
code can then vector to a particular partition. If the boot code
was installed by Linux, further stages of booting can identify
the boot partition, without an active flag (so an active flag doesn't
absolutely have to be present - it's an "ecosystem" thing). GRUB has
multiple stages for things like that, and partitions can even be recognized
by GUID before booting starts (so Linux can find what it needs to boot,
with fewer limitations - the boot loader searches until it finds the
GUID it wants). Using GUID for identification is a PITA, when
it comes to cloning or fooling around, and I'm not really a fan of stuff
like that. (Clone gets new GUID, boot is screwed, can't find tool to
change GUID, hit head on keyboard, etc. Get bruise on forehead.)

Since sector 0 is key to these kinds of decisions (the first 440 bytes
of code hide in there), if you wanted to understand what was going on,
that would be one place to look. But the other observation I might make,
is that you could be failing in some BIOS setting, and getting the BIOS
to "look" at the disk you want.

Also, on a modern motherboard, go into the BIOS and start by disabling
the "full screen logo" function. After saving the new setting and exiting,
you'll be able to look at the BIOS text display. In the BIOS text display,
at the bottom of the screen, it will mention certain function keys,
as being recognized in the BIOS. For example, on my Asus motherboard,
it might be <Del> to enter the BIOS, and <F8> to have the popup boot
menu appear. On my Asrock, it might be <F2> to enter the BIOS, and
<F11> for the popup boot menu.

The popup boot menu, on modern systems from the last five years or so,
allows the user to make a "temporary" boot disk selection. For example,
I have two disks on my computer, and if I'm too lazy to enter the BIOS
and make a "permanent" boot disk selection, I can use the popup boot
menu F key, and it presents a menu of storage devices. It's up to me
to know they're ready to boot. (For example, my DVD drive is listed,
but the BIOS doesn't check for media. This is actually a good thing,
since sometimes I wait until the popup boot menu is presented, before
putting media in the tray. The popup boot menu is also "storage safe",
so sometimes I unplug USB keys right after that menu appears.) If I
select a device which is *not* ready for booting, then the BIOS might
just head off in the woods and grab a disk I wasn't expecting. But if
I keep my head on my shoulders, the popup boot is very useful. Since I
may reconfigure drives quite regularly, I can never be sure what the
BIOS contains for it's "permanent" boot selection, and bypassing it
with the popup is great. The value selected in the popup, is not
recorded or saved for later.

(Example of a popup boot menu, drawn by the BIOS, in reaction to appropriate F key)

http://docs.oracle.com/cd/E19127-01/ultra27.ws/820-6772/images/7-2-Boot-Device-Network-Menu.gif

When the BIOS starts in text mode (you've disabled full screen logo),
the text may stay there for as little as one second. My laptop does
that, and it's ultra-annoying. You can press the "Pause" key,
timing it very, very carefully, to snag the BIOS before the
text goes away. This will allow you to carefully read the screen,
and determine whether you want F8 or F11 or some other choice.
Since the world doesn't like standards, then the choice is going
to vary all over the place. And if your motherboard is an older
one, you'll be "entering" the BIOS and making a "permanent" choice
instead (because there is no popup feature). And if your motherboard
is 12 years old, it's going to take you 30 minutes, to figure out
what the nomenclature in there means with respect to your drives.
When I see the BIOS refer to "C:", I assume it means "some hard drive".
The manual of course, doesn't say a word on the subject of that menu
choice :)

*******

If you wanted to read the contents of sector 0 on the hard drive,
get a copy of "dd" port.

http://www.chrysocome.net/dd

For example, in command prompt...

dd if=\\?\Device\Harddisk1\Partition0 of=C:\downloads\mbrdisk1.bin bs=512 count=1

If I ran diskmgmt.msc, and listed my disks, the first disk is Harddisk0, the
second disk is Harddisk1. If you can't identify the disks by their size, you
can use diskmgmt.msc from Start, to refresh your memory as to which is which.

"dd" accepts raw disk references (such as the "input file" specification in
my example). I used a filename storage option for the "output file" specification,
so my single sector gets stored in a file.

Then, I'd need a hex editor, to open "mbrdisk1.bin" and make sense of its
contents. The first 440 bytes would be boot code, then there are four
entries for the four primary partitions, and the signature bytes AA55
at the end.

The "dd" command also supports "seek" and "skip" options. With those
options, I can ask "dd" to go to the end of a 1TB disk, and snip out
an 8MB chunk, so I can look at, say, RAID metadata, or dynamic disk
information placed there by Windows. Using carefully constructed "dd"
commands, it's possible to make a horrible "disk editor" from the thing.
(I've done that before, snipping small sections out of a disk while
looking for stuff.)

Since "dd" can also write to disks, it can make repairs, or it can ruin
things. Be very careful while using it. I once made a copy/paste error
(copy buffer had wrong line of stuff in it), and erased the first
gigabyte of a disk using it. I'm now a bit more careful, when
flinging commands around in the command prompt window.

In Windows 7, if you wanted to run "dd", chances are you need to go
to Start, type "cmd" in the search box, and when the "cmd" entry appears,
right click on it and select "Run as Administrator". That "elevates"
the command prompt, and allows commands like "dd" to run.

"dd" isn't perfect, because Windows won't allow you to do just
about anything. (Using "dd" in Linux, and running as Admin, you can
erase anything you want.) The Windows port of "dd", won't allow overwriting
C: for example. If you find the details for a particular partition
are not listed in "dd --list", it means Windows isn't going to
let you mess around anyway. But with some care, you can achieve
a great many things, with the usage of that program. So now all
you need, is a hex editor.

With regard to partition naming, "Partition0" references the
entire raw disk. "Partition1" means start at what the partition
table indicates, is the starting sector of the first partition.
That's why, my hard drive with four primary partitions, will list
Partition0, Partition1, ... Partition4 as available options.
The first one, treats the entire disk as a raw device, and that
is necessary to get at sector 0.

*******

If you want to look at the four primary partition table entries, you
can use PTEDIT32 from PowerQuest. Since Partition Magic is no longer
a commercial product, they offer that utility for download. As in "dd",
you must "Run as Administrator" when using PTEDIT32.exe.

ftp://ftp.symantec.com/public/english_us_canada/tools/pq/utilities/PTEDIT32.zip

PTEDIT32 doesn't show you the 440 bytes of boot code in Sector 0. It
instead, interprets the 64 bytes right after that. And tells you
which partition has the boot flag set, which matters to the
Windows boot loader. In Windows 7, if you don't "Run as Administrator"
on this tool, you'll get "Error 5". But no English explaining it's
a permissions problem :)

http://www.goodells.net/dellrestore/files/dell-tbl.gif

Have fun (and don't break anything :) ),

Paul
 
J

John Ferrell

First, there are truly ancient PC BIOSes (like the one on my 12 year
old motherboard). And then there's the BIOS interface on more modern
motherboards.

On the old ones, the boot order in the BIOS makes reference to "C:"
in the actual BIOS. I don't understand the significance of that, except
that on my old system, it appeared to limit my choices. The BIOS in that
case, rotated through a set of "canned" boot configurations. I use
to twiddle that adjustment, until something booted, and did not investigate
further. I think I may have even used a boot manager, such as "Boot Magic",
so I could hop from one drive to another, with that BIOS interface limitation.

*******

Modern motherboards have two dimensions of boot order. Device type,
and then priority within a specific device type.

floppy
CD
hard drive (sub-menu HDD3, HDD1, HDD2 perhaps)
network

So one level of menu setting, chooses the basic order. The order I
demonstrated there, puts the removable media first, and if the removable
media slots are empty, then the system goes to hard drives. If my
hard drive died a horrible death, then I'd find the system with a
"PXE" message and a spinning cursor, as the computer searches the
network for some kind of "bootp" or equivalent storage device.

In my example, if HDD3 is present, the BIOS loads the boot code contained in
sector 0. If the boot code in sector 0 chooses to look for an
"Active" partition, where the boot flag is set to x80, then the boot
code can then vector to a particular partition. If the boot code
was installed by Linux, further stages of booting can identify
the boot partition, without an active flag (so an active flag doesn't
absolutely have to be present - it's an "ecosystem" thing). GRUB has
multiple stages for things like that, and partitions can even be recognized
by GUID before booting starts (so Linux can find what it needs to boot,
with fewer limitations - the boot loader searches until it finds the
GUID it wants). Using GUID for identification is a PITA, when
it comes to cloning or fooling around, and I'm not really a fan of stuff
like that. (Clone gets new GUID, boot is screwed, can't find tool to
change GUID, hit head on keyboard, etc. Get bruise on forehead.)

Since sector 0 is key to these kinds of decisions (the first 440 bytes
of code hide in there), if you wanted to understand what was going on,
that would be one place to look. But the other observation I might make,
is that you could be failing in some BIOS setting, and getting the BIOS
to "look" at the disk you want.

Also, on a modern motherboard, go into the BIOS and start by disabling
the "full screen logo" function. After saving the new setting and exiting,
you'll be able to look at the BIOS text display. In the BIOS text display,
at the bottom of the screen, it will mention certain function keys,
as being recognized in the BIOS. For example, on my Asus motherboard,
it might be <Del> to enter the BIOS, and <F8> to have the popup boot
menu appear. On my Asrock, it might be <F2> to enter the BIOS, and
<F11> for the popup boot menu.

The popup boot menu, on modern systems from the last five years or so,
allows the user to make a "temporary" boot disk selection. For example,
I have two disks on my computer, and if I'm too lazy to enter the BIOS
and make a "permanent" boot disk selection, I can use the popup boot
menu F key, and it presents a menu of storage devices. It's up to me
to know they're ready to boot. (For example, my DVD drive is listed,
but the BIOS doesn't check for media. This is actually a good thing,
since sometimes I wait until the popup boot menu is presented, before
putting media in the tray. The popup boot menu is also "storage safe",
so sometimes I unplug USB keys right after that menu appears.) If I
select a device which is *not* ready for booting, then the BIOS might
just head off in the woods and grab a disk I wasn't expecting. But if
I keep my head on my shoulders, the popup boot is very useful. Since I
may reconfigure drives quite regularly, I can never be sure what the
BIOS contains for it's "permanent" boot selection, and bypassing it
with the popup is great. The value selected in the popup, is not
recorded or saved for later.

(Example of a popup boot menu, drawn by the BIOS, in reaction to appropriate F key)

http://docs.oracle.com/cd/E19127-01/ultra27.ws/820-6772/images/7-2-Boot-Device-Network-Menu.gif

When the BIOS starts in text mode (you've disabled full screen logo),
the text may stay there for as little as one second. My laptop does
that, and it's ultra-annoying. You can press the "Pause" key,
timing it very, very carefully, to snag the BIOS before the
text goes away. This will allow you to carefully read the screen,
and determine whether you want F8 or F11 or some other choice.
Since the world doesn't like standards, then the choice is going
to vary all over the place. And if your motherboard is an older
one, you'll be "entering" the BIOS and making a "permanent" choice
instead (because there is no popup feature). And if your motherboard
is 12 years old, it's going to take you 30 minutes, to figure out
what the nomenclature in there means with respect to your drives.
When I see the BIOS refer to "C:", I assume it means "some hard drive".
The manual of course, doesn't say a word on the subject of that menu
choice :)

*******

If you wanted to read the contents of sector 0 on the hard drive,
get a copy of "dd" port.

http://www.chrysocome.net/dd

For example, in command prompt...

dd if=\\?\Device\Harddisk1\Partition0 of=C:\downloads\mbrdisk1.bin bs=512 count=1

If I ran diskmgmt.msc, and listed my disks, the first disk is Harddisk0, the
second disk is Harddisk1. If you can't identify the disks by their size, you
can use diskmgmt.msc from Start, to refresh your memory as to which is which.

"dd" accepts raw disk references (such as the "input file" specification in
my example). I used a filename storage option for the "output file" specification,
so my single sector gets stored in a file.

Then, I'd need a hex editor, to open "mbrdisk1.bin" and make sense of its
contents. The first 440 bytes would be boot code, then there are four
entries for the four primary partitions, and the signature bytes AA55
at the end.

The "dd" command also supports "seek" and "skip" options. With those
options, I can ask "dd" to go to the end of a 1TB disk, and snip out
an 8MB chunk, so I can look at, say, RAID metadata, or dynamic disk
information placed there by Windows. Using carefully constructed "dd"
commands, it's possible to make a horrible "disk editor" from the thing.
(I've done that before, snipping small sections out of a disk while
looking for stuff.)

Since "dd" can also write to disks, it can make repairs, or it can ruin
things. Be very careful while using it. I once made a copy/paste error
(copy buffer had wrong line of stuff in it), and erased the first
gigabyte of a disk using it. I'm now a bit more careful, when
flinging commands around in the command prompt window.

In Windows 7, if you wanted to run "dd", chances are you need to go
to Start, type "cmd" in the search box, and when the "cmd" entry appears,
right click on it and select "Run as Administrator". That "elevates"
the command prompt, and allows commands like "dd" to run.

"dd" isn't perfect, because Windows won't allow you to do just
about anything. (Using "dd" in Linux, and running as Admin, you can
erase anything you want.) The Windows port of "dd", won't allow overwriting
C: for example. If you find the details for a particular partition
are not listed in "dd --list", it means Windows isn't going to
let you mess around anyway. But with some care, you can achieve
a great many things, with the usage of that program. So now all
you need, is a hex editor.

With regard to partition naming, "Partition0" references the
entire raw disk. "Partition1" means start at what the partition
table indicates, is the starting sector of the first partition.
That's why, my hard drive with four primary partitions, will list
Partition0, Partition1, ... Partition4 as available options.
The first one, treats the entire disk as a raw device, and that
is necessary to get at sector 0.

*******

If you want to look at the four primary partition table entries, you
can use PTEDIT32 from PowerQuest. Since Partition Magic is no longer
a commercial product, they offer that utility for download. As in "dd",
you must "Run as Administrator" when using PTEDIT32.exe.

ftp://ftp.symantec.com/public/english_us_canada/tools/pq/utilities/PTEDIT32.zip

PTEDIT32 doesn't show you the 440 bytes of boot code in Sector 0. It
instead, interprets the 64 bytes right after that. And tells you
which partition has the boot flag set, which matters to the
Windows boot loader. In Windows 7, if you don't "Run as Administrator"
on this tool, you'll get "Error 5". But no English explaining it's
a permissions problem :)

http://www.goodells.net/dellrestore/files/dell-tbl.gif

Have fun (and don't break anything :) ),

Paul
Lots to check out here!

I am an Old Guy so I have a lot of old hardware & software available.
Partition Magic is among them. If my time was worth anything I would
just retire the HD's to data only service or trash them. The intent is
to better understand the situation.

Thanks, I will spend some time digesting this!

I cannot promise I won't break anything, sometimes that goes with the
territory!
John Ferrell W8CCW
 
P

pjp

I have purchased a few IDE hard drives (EBAY) for experimental use. I
want to retry some old Os's and dabble with other hardware.

My guess is that the data security erase that the vendor used to wipe
previous user's data also corrupted something in the boot operation.

I can format & install Win7, Win XP and Ubuntu and everything looks
good. But I cannot boot any of them. I have done a lot of searching
and trying and I gather that there is an area on the disk the
prevailing OS's cannot modify. The drives all work fine for ordinary
data storage.

I have collected a few HD's of my own with the bug as well.
I would appreciate any info on the subject.

I hope to live long enough to work out the interface to my favorite
micro processors so I can either put them away for that purpose or use
them for data storage.

BTW, I posted here because there are some bright folks among the
trolls!
John Ferrell W8CCW

Old IDE drives and I believe it's still true then with new BIOS's that
drive must be Master on first IDE channel. The drive should be displayed
during BIOS booting (assuming it displays anything, some don't). If not
there's some more fundamental problem. Go into BIOS and see if it
"sees" drive.

The drive must also be marked as Active. You can boot using an old DOS
boot disk (Win98 boot floppy better, see below why) and run Fdisk to do
that.

Then, of course, there must be a bootable OS on the drive itself or else
you'll get an error when BIOS tries to hand-off to OS to load. Assuming
you used a DOS boot floppy to boot pc and you ran Fdisk to mark drive as
Active, that floppy disk likely also includes Format to format the hard
disk before it can be used and SYS to transfer the system files over to
the hard disk so it has what's needed to boot to DOS.

If you want to install Win98 etc. it also helps if you have access to
the cd drive. Plain DOS won't give you that but a Win98 boot cd will.
It easiest means of providing device drivers etc. when booting. Just
boot using it and copy the Win98 (or Win95 etc.) folder to the hard
disk. Then reboot from the hard disk and run the Setup.exe files found
within the above mentioned copied folder. You could just run Setup from
the cd when booting using the floppy but I've found if you copy it first
to the hard disk, Windows always knows where to find the files it needs
and never prompts you for the cd again.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top