DiBR
обычная кошмарная
домашняя страничка
Ежекакполучится околокомпьютерное обозрение
 
  <<<  предыдущий Tech! archive #200 следующий  >>>  
   Последний выпуск       Архив       Ссылки       Полезности       humor.filtered       Фотки       О сайте   
          Это - достаточно беспорядочный архив сообщений конференций сети fidonet, которые на момент их прочтения мной показались полезными или интересными. Многие устарели, многие узкоспецифичны и малоинтересны, но может оказаться и что-то новое...
         
- __techs (2:5015/42) ----------------------------------------------- __techs -
Msg  : 200 of 1000
From : Vadim Kruglik                       2:5000/95       04 Dec 96  06:33:04
To   : Dmitry Machkov                                      04 Dec 96  23:09:58
Subj : dual boot (was: start)
-------------------------------------------------------------------------------
@AREA:SU.WINDOWS.NT
Hello Dmitry!

Tuesday December 03 1996 01:02, Dmitry Machkov wrote to Vadim Kruglik:

DM> Добpый человек, а не мог бы ты и мне сей текстик кинyть? Бyдy очень
DM> благодаpен!

=== Cut ===
http://www.bcpl.lib.md.us/~dbryan/directboot.html

DIRECT BOOT INTO WinNT/Win95/DOS

                                       J. David Bryan
                                 dbryan@mail.bcpl.lib.md.us
                                     November 13, 1995



It is possible to boot directly into each of the three operating systems using
the Windows NT 3.51 boot loader (note that
this procedure will not work with NT versions prior to 3.51). Specifically,
one can boot directly into DOS, without going
through Win95, from the NT multiboot menu. The two required conditions are:

  1.The "correct" system files must be present with the required names.
  2.The "correct" boot sector must be executed.

The information contained herein is derived in part from the Microsoft
95WRK.HLP file supplied on the Win95 final beta CD,
modified for post-installation operation (the relevant page is titled,
"Installing Windows 95 for Dual Booting with Windows
NT").


MY SYSTEM

I have NT 3.51 Workstation, Win95, and DOS 6.22 (with WFW 3.11, though this
does not matter). As I have been
upgrading each system (via MSDN-II) as they were released, I first installed
DOS, then NT, then Win95 (in that order).

My primary (bootable) partition is the first partition of the first hard drive
(this is drive C:) which is FAT. I have each system
on a separate partition, though this is not necessary -- it is just easier if
I need to wipe out a system and start again.

Drive C: therefore contains all of the startup files for all operating
systems. A listing of all files (including hidden files) should
contain at least the following NT system startup files:

    BOOTSECT.DOS
    BOOT.INI
    NTDETECT.COM
    NTLDR

Plus the following files if DOS was booted more recently than Win95:

    IO.SYS
    MSDOS.SYS
    MSDOS.W40
    WINBOOT.SYS

Or the following files if Win95 was booted more recently than DOS:

    IO.DOS
    IO.SYS
    MSDOS.DOS
    MSDOS.SYS

I installed DOS, NT, and Win95, in that order, each to separate directories
(on separate partitions).


THE END RESULT

When you are done, and you reboot, you will get the NT boot loader menu (that
starts out at the top of the screen with "OS
Loader V3.51") with (at least) these choices:

    "Windows NT 3.51"
    "Windows 95"
    "DOS 6.22"

and when you select a choice, you will then see one of the following messages
at the top of the screen (depending on which
system you select):

    "NTDETECT V1.0 Checking Hardware"
    "Starting Windows 95..."
    "Starting MS-DOS..."



WHAT YOU NEED TO DO

The steps needed to implement direct boot are:

  1.Edit BOOT.INI to add separate choices for Win95 and DOS.
  2.Make available separate Win95 and DOS boot sector files.



BEFORE YOU START

  1.Make backups of the files BOOT.INI and BOOTSECT.DOS in the root of C:
(BOOT.INI is hidden; BOOTSECT.DOS
    may be).
  2.Be sure you have BOOTABLE Windows NT Setup Diskettes (three diskettes).
If not, run "winnt32 /o" from the
    installation CD to make them.
  3.Be sure you have a BOOTABLE DOS diskette that contains the SYS.COM
program. You can also use this system to
    fix any problems you may introduce in error (you can restore BOOT.INI and
BOOTSECT.DOS and start over).
  4.Be sure you can boot into NT, Win95, and DOS (via Win95). If you can't
reach DOS from Win95, you may need to
    add the line "BootMulti=1" to the "[Options]" section of MSDOS.SYS (do
this from within Win95, to be sure you
    edit the right file).
  5.It will help (but is not necessary) to have a hex dump program available
(or you can use the NT DEBUG command) so
    you can look at the contents of the BOOTSECT files and verify their
correctness.



HOW YOU DO IT

(The following procedure can be used from any of the available systems; I used
DOS.)

To get the "correct" system files (with the correct names), edit the BOOT.INI
file (hidden and read-only) present in the root of
C:. You should have lines something like the following:

 [boot loader]
 timeout=10
 default=multi(0)disk(0)rdisk(1)partition(1)\\WINNT

 [operating systems]
 multi(0)disk(0)rdisk(1)partition(1)\\WINNT="Windows NT Version 3.51"
 c:\\bootsect.dos="Windows 95"

Edit the "c:\\bootsect.dos" line and add a new line following it, as follows:

 BEFORE EDITING                  AFTER EDITING
 ----------------------------    --------------------------------------
 c:\\bootsect.dos="Windows 95"    c:\\bootsect.w40="Windows 95" /WIN95
 (new line)                      c:\\bootsect.dos="MS-DOS 6.22" /WIN95DOS

The /WIN95 and /WIN95DOS switches cause NTLDR to rename the DOS and Win95
system files back and forth so that the
"correct" names are used with the operating system selected. (If you have not
noticed before, look at the hidden files in the
root of C: when running DOS and Win95. Under Win95, the DOS files are renamed
IO.DOS and MSDOS.DOS; under DOS,
the Win95 files are renamed WINBOOT.SYS and MSDOS.W40; IO.SYS and MSDOS.SYS
belong to the "current" operating
system).

Note that the /WIN95 and /WIN95DOS switches are only recognized by NTLDR
version 3.51. The NTLDR from versions 3.5
and earlier won't recognize these switches, so the renaming won't take place.

You have also requested that Windows 95 be booted using the boot sector in the
file BOOTSECT.W40, while DOS is booted
using BOOTSECT.DOS. However, after your Win95 installation, BOOTSECT.DOS
contains the Win95 boot sector, not the
DOS boot sector. Therefore, rename BOOTSECT.DOS to BOOTSECT.W40.

Now you need a BOOTSECT.DOS that contains a DOS boot sector. Fortunately, NT
will make one for you. Unfortunately,
you have to go through about 10 minutes of the setup program for it to
generate the BOOTSECT.DOS (which takes about 1
second).

Here's how (from the Microsoft KnowledgeBase articles Q102793 and Q104429):

NOTE: BE SURE YOU HAVE A BOOTABLE "NT SETUP DISK 1" BEFORE STARTING! AFTER
EXECUTING "SYS" AND BEFORE BOOTING SETUP, NT CANNOT BE BOOTED!

  1.Be sure that the last system you ran from the hard disk was DOS (to
ensure the proper files are replaced in step 3
    below). THIS IS IMPORTANT! To be sure, you may want to boot DOS via Win95
before continuing.
  2.Boot DOS from the bootable diskette that contains the MS-DOS program
SYS.COM.
  3.From the bootable disk in drive A, use the following command to remove
the Windows NT boot sector:

    SYS C:

    You should receive a "System Transferred" message.

    SYS.COM replaces the partition boot sector, which loads NTLDR, with an
MS-DOS boot sector that loads MSDOS.SYS
    and IO.SYS. SYS.COM also replaces IO.SYS, MSDOS.SYS, and COMMAND.COM in
the root of C:. This is why DOS
    should have been the last system run from the hard disk (so that the
files named MSDOS.SYS, etc. are the DOS
    versions, not the Win95 versions). IF YOU LAST RAN WIN95, YOU WILL
OVERWRITE THE WIN95
    VERSIONS!
  4.Reboot the system with the Windows NT Setup Disk number 1 in drive A.
  5.When prompted with "To repair a damaged Windows NT Version 3.51
installation, press R", enter R
    for Repair. Follow the prompts, answering questions regarding the
hardware configuration with what is reasonable for
    your system.
  6.Setup will eventually prompt with the following repair options in a box:

    [x] Inspect registry files
    [x] Inspect startup environment
    [x] Verify Windows NT system files
    [x] Inspect boot sector
    Continue (perform selected tasks)

    Alter the options so that only the last one, "Inspect boot sector" is
checked. Then choose "Continue". (The
    "Inspect boot sector" option used to be called "Verify boot files".)
  7.When setup prompts "If you have the Emergency Repair Disk, press ENTER",
you may hit ESC to locate
    the "previous" (i.e., your working copy) of NT. You do not need the
Emergency Repair Disk, though you may use it (it
    does not matter; setup is not going to use it).
  8.Setup will replace the DOS boot sector with the NT boot sector, and store
the DOS boot sector in BOOTSECT.DOS.
    It will then tell you to reboot your system.

That is it! You should now be able to boot directly into DOS, Win95, or NT,
from the multiboot menu.


WHY IT WORKS

When you start the system, the first sector of the active disk partition is
loaded into memory and executed. This sector is
called the "boot sector" and is physically located "outside" of the FAT file
system on drive C: (for a more comprehensive
discussion, see the Microsoft KnowledgeBase article Q101787, "General
Information on Starting Multiple Operating
Systems"). If you can boot NT, then the boot sector is the "NT boot sector",
which loads and runs the program NTLDR,
which presents the multiboot menu.

When DOS was installed, it put its own boot sector in that loads IO.SYS.

When NT was installed, it overwrote DOS's boot sector with its own (the NT
boot sector) after copying the DOS boot
sector to a file called BOOTSECT.DOS in the root of C:. When you selected
"MS-DOS" from the NT boot menu, NTLDR
would run BOOTSECT.DOS, which would load IO.SYS, and DOS would boot.

When Win95 was installed, it left the NT boot sector in place, but overwrote
BOOTSECT.DOS with its own boot sector (the
"Win95 boot sector") which also loads IO.SYS. Win95 also wants to install its
own IO.SYS and MSDOS.SYS, which conflicts
with the DOS versions. So it renames DOS's IO.SYS and MSDOS.SYS to IO.DOS and
MSDOS.DOS.

Since DOS and Win95 each expect their system files to be *.SYS, their
respective IO.SYS and MSDOS.SYS files must be
renamed back and forth as the two systems are booted. Therefore:

    After booting Win95, DOS's IO.SYS and MSDOS.SYS become IO.DOS and
MSDOS.DOS
    After booting DOS, Win95's IO.SYS and MSDOS.SYS become WINBOOT.SYS and
MSDOS.W40

(Why Win95 renames its IO.SYS to WINBOOT.SYS instead of IO.W40, I do not
know).

The Win95 IO.SYS will perform this renaming when you select "Previous version
of MS-DOS", but apparently uses an
internal loader to perform the equivalent of the DOS boot sector.

NTLDR will also perform the renaming (with the /WIN95 and /WIN95DOS switches)
but still needs an external BOOTSECT file
to boot DOS.

You can verify which boot sectors are in which file by examining the files
with a hex dump program (or use the NT command
"DEBUG"). Look at the first few bytes and also at the last few bytes for the
following strings:

First bytes           Last bytes            Operating System
--------------------  --------------------  ----------------
MSDOS5.0              IO SYSMSDOS SYS       DOS
MSDOS5.0              NTLDR                 NT
MSWIN4.0              WINBOOT SYS           Win95



USING NT DEBUG TO VIEW THE BOOTSECT FILES

  1.Open a console window under NT.
  2.Change the current directory to the root of C:.
  3.Enter the command "debug bootsect.dos" (or "debug bootsect.w40").
  4.At the "-" prompt, enter the command "d 100 L 100" to see the first half
of the file.
  5.At the "-" prompt, enter the command "d 200 L 100" to see the second half
of the file.
  6.At the "-" prompt, enter the command "q" to quit back to the command
prompt.



CONTACT ME IF YOU NEED HELP

I have run through this script on my system, and it works. However, I have not
tested it on any other configuration. Also, I
may not have thought of every contingency. That is why you made backup files!

If something does not work right, and the solution is not obvious, restore
your backup files and e-mail me a description of the
problem. I will try to get back to you as soon as possible.

Also please note that I have not performed an exhaustive examination of the
operation of the NT or Win95 boot process, so
there may be factual errors in my explanations. I have investigated just
enough to get the process to work, but no more!
Corrections are welcomed. In addition, I have never used OS/2 or Linux, so I
regret that I cannot offer a way to integrate
these systems into the direct boot process, though such integration may be
possible.
=== Cut ===

C Веpами и Hадеждами, Vadim

PS2moderator: а не постить ли сей текстик сюда раз в две недели? Я уже замаялся
его мылом рассылать...

--- GoldED/W32 2.51.A0901+
* Origin: Человек -- твоpец своих пpоблем (2:5000/95)






<<<

архив dibr

>>>'