Damaged boot environment

M

m

(Apologies if this is the wrong group for this question. Please
redirect me to the apporpriate group)

For reasons beyond my control (read: the user has screwed everything),
I have this acer notebook whose hard disk presents the following
layout:

partition no. descr
1 acer recovery data
2 windows vista / NTFS
3 windows XP / NTFP
4 extended (not relevant to the problem)

Partition 1 apparently is bootable, launching a xp-like recovery
environment. But when running Vista and XP, inside "my computer" it
does not appear among the drives.

Now, this computer boots using a third-party boot manager (grub). The
user reports that oll of a sudden (doh!) windows XP is not booting
anymore.

I've checked the grub config and afaict it looks ok: it has an entry
for booting Vista - chainload the boot sector of partition (hd0, 1)
and make it active, and an entry for booting XP - chainload the
bootsector of partition (hd0, 2) and make it active, plus other
entries (not relevant here). I'm pretty sure this is the correct grub
syntax for booting "foreign" OSs (and, after all, everything was
working until some days ago).

The problem is that, when I choose to boot XP, the acer recovery
environment (first partition) is started instead.

Vista boots, and sees the VIsta partition as C:, and the XP partition
as D: (as expected).

If I try to boot using an XP cdrom, the installation program (and the
recovery console as well) sees the XP partition as C:, and the Vista
partition as D: (don't konw why...I thought XP was able to use a
partition letter other than C:).

I'v tried using vistabootpro to restore the boot sector of the XP
partition, but nothing changed. I''ve also used "fixboot C:" (from the
XP recovery console) without success. The XP partition contains ntldr,
boot.ini and the other XP boot files, but apparently they are ignored,
since renaming them or changing their contents produces no effect (I
tried renaming ntldr, to see if I got the "missing ntldr" message, but
nothing changed).

Installing another boot manager is out of the question (the user does
not want to change).

Any hint on what could I do to check what the XP partition boot sector
is really doing? If additional info is needed, just ask.
Thanks in advance.
 
C

cornedbeef007-groups

(Apologies if this is the wrong group for this question. Please
redirect me to the apporpriate group)

For reasons beyond my control (read: the user has screwed everything),
I have this acer notebook whose hard disk presents the following
layout:

partition no. descr
1 acer recovery data
2 windows vista / NTFS
3 windows XP / NTFP
4 extended (not relevant to the problem)

Partition 1 apparently is bootable, launching a xp-like recovery
environment. But when running Vista and XP, inside "my computer" it
does not appear among the drives.

Now, this computer boots using a third-party boot manager (grub). The
user reports that oll of a sudden (doh!) windows XP is not booting
anymore.

I've checked the grub config and afaict it looks ok: it has an entry
for booting Vista - chainload the boot sector of partition (hd0, 1)
and make it active, and an entry for booting XP - chainload the
bootsector of partition (hd0, 2) and make it active, plus other
entries (not relevant here). I'm pretty sure this is the correct grub
syntax for booting "foreign" OSs (and, after all, everything was
working until some days ago).

The problem is that, when I choose to boot XP, the acer recovery
environment (first partition) is started instead.

Vista boots, and sees the VIsta partition as C:, and the XP partition
as D: (as expected).

If I try to boot using an XP cdrom, the installation program (and the
recovery console as well) sees the XP partition as C:, and the Vista
partition as D: (don't konw why...I thought XP was able to use a
partition letter other than C:).

I'v tried using vistabootpro to restore the boot sector of the XP
partition, but nothing changed. I''ve also used "fixboot C:" (from the
XP recovery console) without success. The XP partition contains ntldr,
boot.ini and the other XP boot files, but apparently they are ignored,
since renaming them or changing their contents produces no effect (I
tried renaming ntldr, to see if I got the "missing ntldr" message, but
nothing changed).

Installing another boot manager is out of the question (the user does
not want to change).

Any hint on what could I do to check what the XP partition boot sector
is really doing? If additional info is needed, just ask.
Thanks in advance.

The ntldr and boot.ini that boot XP are actually located in the root
of the Vista partition, that's why changing the ones in XP partition
have no effect.
You will need to unhide system files in Vista so you can see them.
To boot XP, grub will need to point to the ntldr in the root of Vista
partition, where the boot.ini will point to the XP partition.

good Luck.
 
M

m

The ntldr andboot.ini thatbootXP are actually located in the root
of the Vista partition, that's why changing the ones in XP partition
have no effect.
You will need to unhide system files in Vista so you can see them.
Toboot XP, grub will need to point to the ntldr in the root of Vista
partition, where the boot.ini will point to the XP partition.

No, the XP system files (ntldr, boot.ini, etc.) are only inside XP's
partition.

Vista uses a different boot system, and I want to let it alone. Only
as a last resort I'll try to modify the BCD to make it point to the XP
partition.
But for now, since I'm using a third party boot magaer, I want each
system to be self-contained in its own partition, without one
referencing the other.
Is it possible to have XP boot using system files (ntldr etc.)
residing inside its own partition, not inside vista's partition?
I thought this was possible...

Thanks for your reply.
 
A

Andy

(Apologies if this is the wrong group for this question. Please
redirect me to the apporpriate group)

For reasons beyond my control (read: the user has screwed everything),
I have this acer notebook whose hard disk presents the following
layout:

partition no. descr
1 acer recovery data
2 windows vista / NTFS
3 windows XP / NTFP
4 extended (not relevant to the problem)

Partition 1 apparently is bootable, launching a xp-like recovery
environment. But when running Vista and XP, inside "my computer" it
does not appear among the drives.

Which means that it's not a valid Windows partition.
Now, this computer boots using a third-party boot manager (grub). The
user reports that oll of a sudden (doh!) windows XP is not booting
anymore.

I've checked the grub config and afaict it looks ok: it has an entry
for booting Vista - chainload the boot sector of partition (hd0, 1)
and make it active, and an entry for booting XP - chainload the
bootsector of partition (hd0, 2) and make it active, plus other
entries (not relevant here). I'm pretty sure this is the correct grub
syntax for booting "foreign" OSs (and, after all, everything was
working until some days ago).

The problem is that, when I choose to boot XP, the acer recovery
environment (first partition) is started instead.

Vista boots, and sees the VIsta partition as C:, and the XP partition
as D: (as expected).

If I try to boot using an XP cdrom, the installation program (and the
recovery console as well) sees the XP partition as C:, and the Vista
partition as D: (don't konw why...I thought XP was able to use a
partition letter other than C:).

What this means is the XP partition is the active primary partition,
which is the partition that Windows setup always assigns the first
drive letter to.
I'v tried using vistabootpro to restore the boot sector of the XP
partition, but nothing changed. I''ve also used "fixboot C:" (from the
XP recovery console) without success. The XP partition contains ntldr,
boot.ini and the other XP boot files, but apparently they are ignored,
since renaming them or changing their contents produces no effect (I
tried renaming ntldr, to see if I got the "missing ntldr" message, but
nothing changed).

Whatever grub is executing isn't the XP boot sector. When Vista is
installed doesn't the XP boot sector get copied to a 512 byte file?
Installing another boot manager is out of the question (the user does
not want to change).

Any hint on what could I do to check what the XP partition boot sector
is really doing? If additional info is needed, just ask.
Thanks in advance.

If the XP boot sector is actually being executed, then the contents of
boot.ini should determine what gets booted.
 
M

m

What this means is the XP partition is the active primary partition,
which is the partition that Windows setup always assigns the first
drive letter to.

The "makeactive" command in the grub config I pasted in my first
message
tells grub to mark active "on the fly" the partition it's about to
boot, on a per-boot basis.

What I saw when I booted with the XP cdrom might be because the vista
partition was
not marked active at that time. I'll try to boot vista with grub (so
that its partition will
be marked active), and then booting from the XP cdrom and see what
happens. Thanks
for the hint.
Whatever grub is executing isn't the XPbootsector. When Vista is
installed doesn't the XPbootsector get copied to a 512 byte file?

I don't know, since vista was preinstalled by the oem, and XP was
installed only after.
As I said before, I did not do the installations; all was done by the
user, who is
now complaining that something does not work.

My guess at what happened is as follows:

the notebook came with vista preinstalled, and only two partitions
(the recovery partition
and the vista partition). The user shrank these two partitions and
created other two partitions,
the first of which reserved for XP and the other extended and reserved
for linux.
The user installed XP into the third partition, without hiding the
vista partition, so XP put
its boot sector at the beginning of the vista partition, and its
system files (ntldr etc.) inside
the vista partition, along with pre-existing vista system files. But
XP itself installed into the
third partition.
This is all before grub and linux were installed.
Then, the user noticed these files (ntldr, boot.ini etc.) inside the
vista partition and thought that
they shouldn't be there, so he moved them to the XP partition.
After this, I guess that XP was not booting anymore (and neither
vista), so he said "well,
meanwhile let's install linux, and grub will take care of booting all
the OSes".
Even after installing grub, only linux was booting, so he did
"something" (don't know what)
to try to fix things, and somehow he got vista to boot (along with
linux, of course). Again, I don't
know how he did this.
What I saw when he brought me the notebook is what I described in the
first email.
XP system files (ntldr, boot.ini, etc) are in the XP partition, but
that partition does not boot.
The vista partition does contain a bootsect.bak file (but its size is
about 2 kb, not 512 bytes).
IIUC, this should be the former vista partition boot record, which XP
overwrote with its own.
AFAICT, this is useless ATM, since now vista is booting, after all.
I tried to use vistabootpro, from inside vista, to recover XP PBR
(telling it to restore a "legacy
bootloader" to drive D:), but nothing changed.

If the XPbootsector is actually being executed, then the contents ofboot.ini should determine what gets booted.

This is the problem: I suspect that the system files (ntldr, boot.ini
etc) which are in the XP partition
are not considered at all. No matter what I do, choosing to boot XP
always boots the recovery
partition. I tried to rename ntldr and boot.ini, trying to raise some
kind of error like "missing ntldr"
or similar, but nothing happened. The recovery partition is always
booted instead.

If possible (but this is just my preference) I'd prefer to keep each
system self-contained, and it would be nice
if I could avoid moving ntldr, boot.ini etc. back to the vista
partition.

Thanks for your help.
 

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

Similar Threads


Top