How do I install the Recovery Consold

  • Thread starter Thread starter mm
  • Start date Start date
BTW, why can't I just copy my backup copy of bootsect.dos back to the
C:\ folder?

Because you re-sized the Windows 98 Partition. The geometry of the
partition is recorded in the bootsect.dos file and if you change the
layout of the partition the file is no longer valid and it cannot load
the operating system, the file needs to be recreated so that the new
partition layout can be properly recorded. I will answer your other
posts later today or early tomorrow morning... busy day today.

John
 
Because you re-sized the Windows 98 Partition. The geometry of the
partition is recorded in the bootsect.dos file

Ohhhhh. It's starting to come together.
and if you change the
layout of the partition the file is no longer valid and it cannot load
the operating system, the file needs to be recreated so that the new
partition layout can be properly recorded. I will answer your other
posts later today or early tomorrow morning... busy day today.

Of course. Your own stuff is more important than answering me. I
hope you have a good day.

Thanks.
 
Alas, now I have another question. This has bothered me for many
years, but now it becomes very important.

http://www.easydos.com/sys.html
http://www.computerhope.com/syshlp.htm
Sys copies:
command.com
io.sys
msdos.sys
drvspace.bin (which I never have)

What happens if I copy in another version?

For example, the command.com there now is 700K, but in most of my boot
disks I see that it is about 300K or as little as 94K! Even the one
where it is the closest, around 700K, the length is 10 bytes
different, longer.

And the other two files might be different. For example, in the
floppy that has the 700K command.com (which I dl'd from bootdisk.com
and which I think shows with ver that it is the ME version of DOS,
which is a later version than win98 had!), msdos.sys is only 6 bytes
long**, eeeeven though comments inside longer versions of msdos.sys
say it has to be has to be at least 1024 bytes long! "for
compatibility with other programs."*** And the one there now is 1756
bytes! And even though there are important entries in a full length
msdos.sys, like Paths and Options, default boot option, boot menu
delay, nogui or not. That aren't in a 6 byte version, which only has
";sys ", which is the first line of the longer versions.

***Maybe those other programs don't exist anymore, especially in the
WinMe world :) but I still want to retain the Paths and Options.

It seems to me what I have to do is take the emergency boot floppy and
copy over to it the current values for those 3 files to the floppy, so
that the sys command doens't change them.

Or is that like copying back bootsect.dos? And I'll undo whatever
good I would have done.

And this finally reminds me, What does any of this have to do with the
boot sector? I'm reading again the descriptions of the sys command
and none of the sources say anything except about the 4 files listed.

Thanks again for all your help.

Mike


**This is discussed at http://support.microsoft.com/kb/149110 A bit
complicated of course: "If the SYS command (Sys.com) included with
Windows 95 determines that the existing Msdos.sys file is from MS-DOS
version 6.22 or earlier, it replaces the existing Msdos.sys file with
an incomplete Msdos.sys file that contains only the text ";SYS." If
the SYS command is unable to determine that the existing Msdos.sys
file is from MS-DOS version 6.22 or earlier, it assumes that the file
is a valid Windows 95 Msdos.sys file and does not replace it. " Where
I got this 6 byte version I'm not 100% sure. I think I dl'd it
yesterday from bootdisk.com, and was a combo win98/ME version, which
apparently are not the same in form, even if maybe they work the same.

You know, it did sort of bother me that I was using a winXP "solution"
for a 98 partition, but I told myself there were partitions before
there was win98, so it should work. I can well believe that instead,
this will work, but will know for sure later today. I'll let you
know.

The Sys command will restore the Windows 98 boot sector and you will be
able to boot to Windows 98 but you will no longer be able to boot to
Windows XP, that is no big deal, the Fixboot command will restore the NT
boot sector and allow you to boot Windows XP again. After you boot to
the Windows 98 installation you can use the ancient debug command to
recreate the BOOTSECT.DOS file then you can use the Fixboot command to
rewrite the NT boot sector and return the boot process to ntldr.

To use the DEBUG command to create the bootsect.dos file, from Windows
98 start an MS-DOS Prompt and navigate to the root of the System drive.
To start the Debug console type debug and press <Enter> then enter
the following commands, (pressing <Enter> after each):

L 100 2 0 1
N C:\BOOTSECT.DOS
R BX
0
R CX
200
W
Q

If you want you can copy and paste the above commands to a Notepad file
then save the file as READ.SCR in the root folder, then once in the
debug console you can just type READ.SCR and press <Enter> to run the
commands automatically. Remember to navigate to the root folder (cd\)
before you launch Debug.

Note that the second number in the in the L line (L 100 # 0 1) indicates
the drive letter of the Windows 98 partition (2 = C, 3 = D, 4 = E, and
so on).

L 100 2 0 1

assumes that Windows 98 is on C:.

After you create the Bootsect.DOS file use the Recovery Console's
Fixboot command to rewrite the NT boot sector to the partition and
return the boot to the NT boot manager (ntldr), you should then be able
to boot both operating systems. The boot.ini file contains the entries
for both operating systems, typically:

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP" /fastdetect
C:\="Microsoft Windows 98"

John
 
I didn't actually try it that day.

I decided to be slow and thorough, and I'm glad I waited because of
what you've written below. I've read it twice already, and read one
version of the debug help in Take Command, TCC LE 10, the successor to
4DOS. Now I'm going to read some debug tutorials on the web.


I've never used debug, but I think every grown man should. It will be
good for me.


Have I mentioned that when I tried to run the FixMBR comamnd from the
Recovery Console, it said I had an a non-standard or invalid MBR and I
might lose my partition tables if I ran FixMBR? So I didn't run it.
Do you think that's NOT the problem, that's it's for sure what you
have below?

There is nothing wrong with the MBR and you don't need to run the Fixmbr
command. The problem is that the bootsect.dos is no longer valid
because you re-sized the Windows 98 partition. The Recovery Console's
Fixmbr command *ALWAYS* returns a warning stating that the MBR appears
to be invalid, the article here mentions this about the Windows 2000
Recovery Console but the same also applies to the Windows XP console:

Error Message When You Run fixmbr Command
http://support.microsoft.com/kb/266745

L 100 2 0 1
N C:\BOOTSECT.DOS

IIUC, you are loading the first sector of drive C and you are planning
to save it as bootsect.dos. That's why the N command doesn't have to
come before the L command?

You are setting BX as zero

And CX as 200.

And you write the boot sector of drive C to the address 0000:0200,
which you have named bootsect.dos.

And you Quit
If you want you can copy and paste the above commands to a Notepad file
then save the file as READ.SCR in the root folder, then once in the
debug console you can just type READ.SCR and press<Enter> to run the
commands automatically. Remember to navigate to the root folder (cd\)
before you launch Debug.

Note that the second number in the in the L line (L 100 # 0 1) indicates
the drive letter of the Windows 98 partition (2 = C, 3 = D, 4 = E, and
so on).

L 100 2 0 1

assumes that Windows 98 is on C:.

After you create the Bootsect.DOS file use the Recovery Console's
Fixboot command to rewrite the NT boot sector to the partition and
return the boot to the NT boot manager (ntldr), you should then be able
to boot both operating systems.

On the third reading, I followed all this. I hope you're right.
Thanks a lot.
The boot.ini file contains the entries
for both operating systems, typically:

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP" /fastdetect
C:\="Microsoft Windows 98"

Yes, that's just what my boot.ini looks like.

Is the reason the the last line can be so short, no multi(0) etc.
becaue its default is to go to the bootsect.dos? Or do I have things
backwards.

Yes, Ntldr is coded to load the bootsect file when the ARC path is not
specified, it loads the bootsect file in the path shown, in this case it
loads C:\bootsect.dos

John
 
Alas, now I have another question. This has bothered me for many
years, but now it becomes very important.

http://www.easydos.com/sys.html
http://www.computerhope.com/syshlp.htm
Sys copies:
command.com
io.sys
msdos.sys
drvspace.bin (which I never have)

What happens if I copy in another version?

You are asking for trouble if you use a different version of these
files, especially so for the command.com file. The sys c: command will
copy these files from the diskette to the hard disk so use a Windows 98
startup diskette and then you will be certain that there is no
possibility of incompatibilities or file mismatch. You can get a
Windows 98 Startup diskette at http://bootdisk.com/

For example, the command.com there now is 700K, but in most of my boot
disks I see that it is about 300K or as little as 94K! Even the one
where it is the closest, around 700K, the length is 10 bytes
different, longer.

And the other two files might be different. For example, in the
floppy that has the 700K command.com (which I dl'd from bootdisk.com
and which I think shows with ver that it is the ME version of DOS,
which is a later version than win98 had!), msdos.sys is only 6 bytes
long**, eeeeven though comments inside longer versions of msdos.sys
say it has to be has to be at least 1024 bytes long! "for
compatibility with other programs."*** And the one there now is 1756
bytes! And even though there are important entries in a full length
msdos.sys, like Paths and Options, default boot option, boot menu
delay, nogui or not. That aren't in a 6 byte version, which only has
";sys ", which is the first line of the longer versions.

***Maybe those other programs don't exist anymore, especially in the
WinMe world :) but I still want to retain the Paths and Options.

It seems to me what I have to do is take the emergency boot floppy and
copy over to it the current values for those 3 files to the floppy, so
that the sys command doens't change them.

Or is that like copying back bootsect.dos? And I'll undo whatever
good I would have done.

And this finally reminds me, What does any of this have to do with the
boot sector? I'm reading again the descriptions of the sys command
and none of the sources say anything except about the 4 files listed.

It has to do that to load an operating system the boot sector must be
loaded so that the boot process may then be passed on to the OS loader,
it goes like this:

The boot device is set in the BIOS, the BIOS finds the boot device, in
this case a hard disk.

1- The BIOS loads the MBR (sector 0) on the hard disk and then passes
the boot process to the MBR.

2- The MBR contains a small bit of code which loads the partition table
and identifies the Active partition, the MBR loads the boot sector of
the active partition and then passes the boot process to the boot sector.

3- A small bit of code in the boot sector identifies and loads the OS
loader, (io.sys for DOS/Windows 9x or ntldr for earlier NT operating
systems), the boot sector then passes the boot process to the OS loader.
The boot sector cannot have more than one OS loader, if you need to
boot different operating systems you need to use a boot manager that can
load the required OS loader, ntldr can act as a boot manager for
previous DOS/Windows 9x operating systems. When you select to boot
Windows 98 ntldr loads a copy of the W9x boot sector (bootsect.dos) and
then io.sys can load Windows 98.

Being that the bootsect.dos is no longer valid after you resized the
Windows 98 partition you can no longer boot the Windows 98 installation
using ntldr and bootsect.dos so you must now rebuild the file. You can
do this by by using the SYS C: command with your Windows 98 startup
diskette to return the boot sector directly to io.sys, (which doesn't
need or use the bootsect.dos file to load W9x), and then use the debug
command to recreate the file.

You can also recreate the bootsect.dos file directly from the Windows XP
installation with the use of third party utilities and without having to
use the a W98 floppy and the sys command to rewrite the boot sector.
Bootpart.exe can do this:
http://www.winimage.com/bootpart.htm

Thanks again for all your help.

You're welcome.

John
 
There is nothing wrong with the MBR and you don't need to run the Fixmbr
command. The problem is that the bootsect.dos is no longer valid
because you re-sized the Windows 98 partition. The Recovery Console's
Fixmbr command *ALWAYS* returns a warning stating that the MBR appears
to be invalid, the article here mentions this about the Windows 2000
Recovery Console but the same also applies to the Windows XP console:

Error Message When You Run fixmbr Command
http://support.microsoft.com/kb/266745

I googled the messsage but didn't read every hit. Thanks.

.........
The boot.ini file contains the entries
for both operating systems, typically:

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP" /fastdetect
C:\="Microsoft Windows 98"

Yes, that's just what my boot.ini looks like.

Is the reason the the last line can be so short, no multi(0) etc.
becaue its default is to go to the bootsect.dos? Or do I have things
backwards.

Yes, Ntldr is coded to load the bootsect file when the ARC path is not
specified, it loads the bootsect file in the path shown, in this case it
loads C:\bootsect.dos

Great. Thanks again.
 
Could he not also do it (correct bootsect.dos) by doing a repair install of
XP after sys c: rather than via debug?

Yes, but that would be an awful lot more work and hassles than using the
debug command! It takes about 3 minutes to fix this with the SYS, Debug
and Fixboot commands or with the Bootpart utility.

John
 
There is nothing wrong with the MBR and you don't need to run the Fixmbr
command. The problem is that the bootsect.dos is no longer valid
because you re-sized the Windows 98 partition. The Recovery Console's
Fixmbr command *ALWAYS* returns a warning stating that the MBR appears
to be invalid, the article here mentions this about the Windows 2000
Recovery Console but the same also applies to the Windows XP console:

Error Message When You Run fixmbr Command
http://support.microsoft.com/kb/266745

I googled the messsage but didn't read every hit. Thanks.

........
The boot.ini file contains the entries
for both operating systems, typically:

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP" /fastdetect
C:\="Microsoft Windows 98"

Yes, that's just what my boot.ini looks like.

Is the reason the the last line can be so short, no multi(0) etc.
becaue its default is to go to the bootsect.dos? Or do I have things
backwards.

Yes, Ntldr is coded to load the bootsect file when the ARC path is not
specified, it loads the bootsect file in the path shown, in this case it
loads C:\bootsect.dos

Great. Thanks again.

You're welcome.

John
 
The Sys command will restore the Windows 98 boot sector and you will be
able to boot to Windows 98 but you will no longer be able to boot to
Windows XP, that is no big deal, the Fixboot command will restore the NT
boot sector and allow you to boot Windows XP again. After you boot to
the Windows 98 installation you can use the ancient debug command to
recreate the BOOTSECT.DOS file then you can use the Fixboot command to
rewrite the NT boot sector and return the boot process to ntldr.

To use the DEBUG command to create the bootsect.dos file, from Windows
98 start an MS-DOS Prompt and navigate to the root of the System drive.
To start the Debug console type debug and press <Enter> then enter
the following commands, (pressing <Enter> after each):

L 100 2 0 1
N C:\BOOTSECT.DOS
R BX
0
R CX
200
W
Q

If you want you can copy and paste the above commands to a Notepad file
then save the file as READ.SCR in the root folder, then once in the
debug console you can just type READ.SCR and press <Enter> to run the
commands automatically. Remember to navigate to the root folder (cd\)
before you launch Debug.

Note that the second number in the in the L line (L 100 # 0 1) indicates
the drive letter of the Windows 98 partition (2 = C, 3 = D, 4 = E, and
so on).

L 100 2 0 1

I've been reading and reading to understand all this, and this line
still confuses me. If the address of the MBR is 0000 on the C/D hard
disk and its 512 bytes long, how come the line just above isn't
L 200 2 0 1 ?

Between 0000 and 0100 are only 256 bytes. Doesn't there need to be
room for 512?
assumes that Windows 98 is on C:.

After you create the Bootsect.DOS file use the Recovery Console's
Fixboot command to rewrite the NT boot sector to the partition and
return the boot to the NT boot manager (ntldr), you should then be able
to boot both operating systems. The boot.ini file contains the entries
for both operating systems, typically:

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP" /fastdetect
C:\="Microsoft Windows 98"

John
 
Bill said:
I seem to recall that when you use Debug to load, it defaults to an IP
address offset of 0100 hex. The segmented address offset for instruction
pointer IP is being preset to 0100 hex, which was standard policy, but I
can't recall why now.

The reasons are legacy ones, coming together with .com files from CP/M
through DOS. The first 256 bytes were execution vectors (system calls) and
system data, and the program started at $100. I still have the CP/M docs in a
box somewhere.
 
Bill said:
I'm surprised they could fit that all into 256 bytes. I presume they then
used JMP instructions (probably just relative jumps) to jump outside of that
limited area for the actual system call code.

Yes, obviously. It was just for the addresses of the interrupt vectors and
the system calls. Plus the File Control Block was there. Turns out the manual is
actually available online, here is the section with the memory map:

http://www.iso.port.ac.uk/~mike/interests/chistory/documents/cpm-22-manual/ch5.html

But the jumps were, of course, absolute. :)

I assume they reserved the *first* 256 bytes (0000-00FF), because that way
that space would be guaranteed to be available, and as a bonus, it wouldn't
matter how large the theoretical address range actually was (16 bit or
whatever), as it would always be the lowest address range.

Actually that was the place that the hardware interrupts and breaks went to.
It was the supposed mechanism for 8080 systems to use for calling the OS, but
they didn't quite use it in CP/M. DOS made a better use of the mechanism, until
Windows reneged again. :)
 
Bill said:
Ooops, my bad. In retrospect, I think the relative jumps were limited to only
half a byte distance, i.e. +/-127 so that wouldn't help very much. :-)

Your bad, indeed. :) The 8080 had /no/ relative jumps; they were introduced
in the Z80.
All addressing was absolute, and the locator had to fill in the final
absolute addresses. If you remember, the ISIS on the Intellec had to do 4 passes
before producing an executable - 2 pass assembler, the linker, and finally the
locator. I'm not sure, but I think the CP/M native setup was similar. On the
Apple ][ Softcard CP/M, which I was using, we had the improved Microsoft linker
L80, which combined linking and locating into one, and output the executable
..com file directly.
 
I seem to recall that when you use Debug to load, it defaults to an IP
address offset of 0100 hex. The segmented address offset for instruction
pointer IP is being preset to 0100 hex, which was standard policy, but I
can't recall why now. (The full Intel segmented address being specified in
the CS:IP registers or memory)

Aha. Thanks a lot.

And I enjoyed reading about the legacy reason.
The length doesn't get specified when you use the L (load) Debug command.
Debug loads it into memory until it reaches the end byte (some EOF marker).

You can read up on the DEBUG command (via google).

Well, like I say, I have been reading a lot of pages. I even dl'd a
tutorial and read it again, but they all start at the beginining and I
havent' found something long and detailed enough to have covered this
question.
 
The Windows 98 boot sector (hidden file \bootsect.dos when dual
booting with Widows XP) contains information about the size of the
partition. So when you resized the partition, the Windows 98 boot
sector is no longer valid. Even if you are not dual booting.

I know
MiniTool Partition Wizard can support resize Windows 98
partitions. so maybe you can have a try,the site is:www.partitionwizard.com


Submitted via EggHeadCafe - Software Developer Portal of Choice
JustCode Visual Studio Development Add-In by Telerik
http://www.eggheadcafe.com/tutorial...sual-studio-development-addin-by-telerik.aspx
 
The Windows 98 boot sector (hidden file \bootsect.dos when dual
booting with Widows XP) contains information about the size of the
partition. So when you resized the partition, the Windows 98 boot
sector is no longer valid. Even if you are not dual booting.

Uh huh. Thanks.

By bad experience?
MiniTool Partition Wizard can support resize Windows 98
partitions. so maybe you can have a try,the site is:www.partitionwizard.com

Thank you. I'm cautious now and I read the label. Like the Easeus
Partition Master that I'm 99% sure got me into this mess, this
software doesn't claim to work with win98 partitions. I"m sure it
will do fine with FAT32 etc. when the partition is empty, but it seems
that the boot sector varies with the OS, according to Partition
Manager 8 and that was written by them when I don't think there was
much competition that didn't also support win98.

Anyhow, thanks to the help I got here, I have the mbr and bootsect.dos
okay now, and I'm getting to win98 but getting a DOS-error when I'm
there. I get
Sector not found reading drive C:
Abort, Retry, Ignore, Fail?

when starting up the windows of win98, and if I only load DOS, I get a
similar sector error when I try to Edit many but not all editable
files in the win98 partition. Like .txt, .bat, and .ini files.

I may ask in DOS or win98, and if they don't know, I'll be back with a
new thread.
 
They all going to tell you all How you can do it,,,,,
But with win98 you have to defrag first before resized that resized ....
or you will have files lost in the sector at resized of it!
you can resized sector back the way it was and windows 98 my work a gin I
have save my one time by resizing
 
Back
Top