bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: windows 2000 could not start because the following file is missin g


From: Thierry Laronde
Subject: Re: windows 2000 could not start because the following file is missin g or corrupt: <windows 2000 root>/system32/ntoskrnl.exe
Date: Tue, 22 Jul 2003 00:57:21 +0200
User-agent: Mutt/1.0.1i

Hello,

Please note that the following explanations are just _guesses_...

On Mon, Jul 21, 2003 at 09:58:24PM +0100, Graeme Vetterlein wrote:
> 
> 
> address@hidden: (so now we're looking at BEFORE)
> 
> 
> Norton gdisk (win98 ) shows:
> 
>       ID      parent  slot    sys     type            start   end
> offset        sectors
>       00      --              03      07      ntfs/hpfs       63
> 36258703      63              36258642

Here we see that the "lonely" ntfs partition has been created skipping
the first cylinder of the disk (this is customary), and begin at offset
63 and goes untif block 36258703, hence the size. What is amazing is
this "slot" mention. And here is the guess: the partition table on the
MBR has room for only 4 partitions. The ntfs partitions (the first
skipped cylinder --- 63 blocks --- is not a partition) has been created
as the _third_ entry compting from 0, that is the _last_ entry in
the partition table, hence leaving the first three ones
being "zero size" partitions. Why? Perhaps  simply to be sure that
Windows will be the only primary partition causing messes all around...

The second point, from the remaining of your post is that it _seems_
that Windows is considering the skipped first cylinder (the first 63
sectors, starting at head 0 --- see the print after the fixmbr) as a
partition and really read partition1 as "the first active partition
after the first fake partition hiding the first cylinder.

> 
> 
>       ID      parent  slot    sys     type            start   end
> offset        sectors
>       00      --              03      07      ntfs/hpfs       63
> 36258703      63              36258642
>       01      --              00      83      linux
>       02      --              1       83      
>       03      --              2       0F      extended
>       04      03              0       82      linux swap
> 

Here we see that the Linux partitions have been created in the remaining
slots, but that there is a mess somewhere: if GRUB is able to boot Linux
from partition 4, that is the 5th partition, this means that the linux
swap is _not_ this fifth partition, and this means that the values given
just above are wrong: there is a zombie partition somewhere, and I think
that the 0 slot is indeed the previously Windows created other partition
(63 first cylinders). All in all, the root partition of Linux is the
first slice of the extended partition (this is sure by your grub.conf)
and there is a mis-read/mis-write of the partition table.

Once you have fixed the mbr (the partition table) the partitions are in
the logical order (starting from the Windows one, i.e. with the order of
the sectors) but a partition is still missing: the numbers start at
/dev/sda2, leaving /dev/sda1 which must be the 63 lost sectors.

What would be interesting are the mbr of the second disk (if it is
identical to the MBR of the first disk with the initial partitioning of
Windows).

-- 
Thierry Laronde <address@hidden>
Site Debian Francophone (aka SDF) : http://www.debian-france.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]