Win2k boot sector and NTLDR

Discussion in 'Computer Support' started by Jules, Nov 16, 2006.

  1. Jules

    Jules Guest

    Hmm, I'm still having problems in moving a Win2k partition to a different
    drive (have now put Linux on there too so am using Lilo rather than the
    Dell boot loader that came with the machine). The copy of Linux boots
    fine, as does the copy of XP on there, but Win2k does nothing (not even a
    "can't find NTLDR" type message)

    I've set the Win2k partition to be the active one (just in case that was
    the problem) and changed boot.ini to reference my new partition location
    (3 rather than 1).

    Can someone confirm Win2k's boot process? I think it's:

    1) Primary boot loader loads (in this case Lilo) and loads the secondary
    boot code located at the first sector of the boot partition.
    2) Secondary boot loader executes and loads NTLDR
    3) NTLDR executes, starts up a filesystem, loads boot.ini
    4) NTLDR / boot.ini allows the user to choose an OS or boots the default
    after a timeout.


    Is it a safe assumption that because I'm not seeing any kind of NTLDR
    error the secondary boot code is executing and finding NTLDR OK? In other
    words, does it look like it's NTLDR that's actually failing? Or is it more
    likely that the secondary boot code is completely hosed and falling over
    in some way before it even *tries* to load NTLDR?

    Of course this is all going on the assumption (as was said on here) that
    NTFS partitions and the boot code really are position independant and no
    kind of 'repair' step is needed after migrating the filesystem in order to
    make things well again.

    cheers

    Jules
     
    Jules, Nov 16, 2006
    #1
    1. Advertisements

  2. Jules

    Jules Guest

    Interesting - about what I'd assumed. I wonder if the Windows boot sector
    format is documented anywhere, as it may shed some light on why this
    system's freezing when trying to boot Win2k (yet not issuing any kind of
    error message about NTLDR)...
     
    Jules, Nov 16, 2006
    #2
    1. Advertisements

  3. Jules

    Pennywise Guest


    The loading of Windows XP is controlled by the file NTLDR which is a
    hidden, system file that resides in the root directory of the system
    partition. NTLDR will load XP in four stages:

    1) Initial Boot Loader Phase
    2) Operating System selection
    3) Hardware Detection
    4) Configuration Selection

    (XP same for W2K)
    http://dotnetjunkies.com/WebLog/unknownreference/articles/12284.aspx
     
    Pennywise, Nov 16, 2006
    #3
  4. Jules

    Pennywise Guest

    You can google for boot sector, but the Resource Kits that come out
    with each release is a wealth of info (the help files alone).

    W2K and XP boot sectors are different, so if your dual booting the two
    FIXMBR with xp.
     
    Pennywise, Nov 17, 2006
    #4
  5. Jules

    Jules Guest

    Aha, I found some info at:
    http://www.geocities.com/thestarman3/asm/mbr/NTFSBR.htm

    What's interesting is that the Win2k boot code *does* maintain a local
    copy of what it thinks the drive geometry is (at least in terms of heads
    and tracks) - so contrary to what I've read in various places, just
    copying the raw data across to a new disk *will not work*. (my assumption,
    and apparently that of lots of authors who hadn't actually checked, was
    that the boot loader queries the BIOS for the drive geometry)

    I've just booted Linux from CD and used a hex editor to tweak the disk
    geometry in the boot code of the Win2k partition, with some success...

    I get the Windows 2000 boot screen now, so NTLDR is obviously being found.
    It blue-screens a moment later with an INNACCESSIBLE_BOOT_DEVICE stop
    error, though. I'll have to do some googling and see what my options are
    there and what the causes of that might be. It's quite possible that it's
    because my 'hidden sectors' value in the boot sector of the 'new' Win2k
    'install' will be wrong (as drive geometry has changed and the partition's
    aligned on a cylinder boundary, the number of sectors before the start of
    the partition will be different now)

    As to original behaviour: I suspect that before I'd reset the disk
    geometry, the first sector of the secondary boot code was being loaded OK,
    but it couldn't find the 'next' few sectors of boot code in order to fire
    up NTLDR - so it was falling over before it ever got that far (hence I
    wasn't seeing any kind of 'missing NTLDR' error message)
    Now that's interesting. I wonder if the secondary boot code is different
    too (i.e. what's at the start of the OS partition), or if it's only the
    MBR that's changed?

    I wonder also if XP's recovery console copes accordingly if someone boots
    it from an XP CD in order to try and fix a hosed Win2k install (as I was
    getting tempted to do). I certainly tried recovery console from the XP
    install that was on the hard disk, and it found both my XP partition
    (obviously!) and the Win2k OS partition without any comment along the
    lines of "this is a win2k install, therefore I won't touch it".

    cheers

    Jules
     
    Jules, Nov 17, 2006
    #5
  6. Jules

    Pennywise Guest

    I did a quick scan of the page, went back to really read it and it's
    no longer accessible. - I did catch that it was NTFS only.
    That would be the FAT or NTFS equipotent
    http://en.wikipedia.org/wiki/File_Allocation_Table

    The MBR can lie to the BIOS or give is an offset it can handle.
    The BIOS needs to know where the data is.
    http://en.wikipedia.org/wiki/Int_13 (Int 13)
    But Drive geometry is known to the bios before it even access's the
    mbr
    When you speak of geometry I think of interlace, that can't be changed
    without a low level format or spinwrite; so I take it you edited the
    MBR.
    The stop error is usually due to a bad BOOT.ini file, or one that
    can't be found.
    You can tell what OS bootsector your using by looking at the OEM
    string mine is MSWIN4.1 which surprises me I thought XP ran MSWIN5.0 -
    I run FAT32 - (all I have to work with at this time is Diskprobe from
    the NT resource kit)
    Your hard to follow, but a great program to view the hard drive
    structure is DISKEDIT by Norton.

    It's avaiilable on this ISO
    http://thepiratebay.org/tor/3554482/
    Boot with it.

    IF your running XP, XP, W2k don't mess with a boot loader, the windows
    loader works just fine. Linux then
    http://www.geocities.com/epark/linux/grub-w2k-HOWTO.html
     
    Pennywise, Nov 17, 2006
    #6
  7. Jules

    Pennywise Guest

    My bad should read interleaving
     
    Pennywise, Nov 18, 2006
    #7
    1. Advertisements

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 (here). After that, you can post your question and our members will help you out.