BAT file to re-start in Safe Mode...?

P

Pegasus \(MVP\)

Kenneth said:
Hi again,

I entered the appropriate shutdown switches, and not the
shortcut causes the reboot into safe mode with networking.

Unfortunately, running it a second time leaves it in safe
mode, but before asking anything about that issue, I have
another question:

I had hoped to do all this because I have a BAT file that
invokes a process that often fails when run in normal mode.
If running in safe mode, it always runs properly.

I wanted to create a routine that would boot into safe mode,
run my BAT file, and when it finished, would re-boot back
into normal mode.

In all this, I had neglected the fact that when I enter safe
mode, I have to log in again, and have to enter my password.

Am I correct that there is no way that I could "bypass" that
part of the process? That is, am I correct that even if I
get this working correctly, I will still have to enter that
password manually?

Please let me know, and that will help me to decide if I
should pursue this further.

Many thanks,

It is possible to fully automate the logon process and to force a specific
process to run after the automatic logon process, either unconditionally or
conditional upon the current mode (Safe Mode / Normal Mode).
 
K

Kenneth

It is possible to fully automate the logon process and to force a specific
process to run after the automatic logon process, either unconditionally or
conditional upon the current mode (Safe Mode / Normal Mode).

Hi Pegasus,

Thanks for that info...

I will pursue this further, and very much appreciate all
your kind help.

All the best,
 
K

Kenneth

Hi Pegasus,

Thanks for that info...

I will pursue this further, and very much appreciate all
your kind help.

All the best,

Hi again,

I remain perplexed, and despite some help from folks in a
batch file group, can't get the routine to work properly.

If I launch the desktop shortcut, the system reboots into
Safe Mode with Networking as I wanted.

But then, if I reboot, it boots again into Safe Mode with
Networking.

If, instead of rebooting, I first run myboot.bat manually,
then when I do reboot, the system boots into Normal Mode.

So, it appears that either myboot.bat is not running when
the system boots, (even though is displays in Scheduled
Tasks as "run at system startup,") or, it does run at boot,
but finds "Safe" to be true, and so keeps the system in Safe
Mode.

Here is the current myboot.bat:

@echo off
if /i "%1"=="Safe" (
attrib -r -a -s -h c:\boot.ini
copy /y c:\boot.SAFE c:\boot.ini
shutdown -r -t 00
) else (
attrib -r -a -s -h c:\boot.ini
copy /y c:\boot.NORM c:\boot.ini
)


Can you spot the problem?

Many thanks,
 
P

Pegasus \(MVP\)

Kenneth said:
Hi again,

I remain perplexed, and despite some help from folks in a
batch file group, can't get the routine to work properly.

If I launch the desktop shortcut, the system reboots into
Safe Mode with Networking as I wanted.

But then, if I reboot, it boots again into Safe Mode with
Networking.

If, instead of rebooting, I first run myboot.bat manually,
then when I do reboot, the system boots into Normal Mode.

So, it appears that either myboot.bat is not running when
the system boots, (even though is displays in Scheduled
Tasks as "run at system startup,") or, it does run at boot,
but finds "Safe" to be true, and so keeps the system in Safe
Mode.

Here is the current myboot.bat:

@echo off
if /i "%1"=="Safe" (
attrib -r -a -s -h c:\boot.ini
copy /y c:\boot.SAFE c:\boot.ini
shutdown -r -t 00
) else (
attrib -r -a -s -h c:\boot.ini
copy /y c:\boot.NORM c:\boot.ini
)


Can you spot the problem?

Many thanks,

Since you now have a good understanding how the whole thing holds together,
it should be easy to work out where things get off the rails. We agreed
before that the file c:\boot.ini get replaced by c:\boot.norm or by
c:\boot.safe. We now have this simple fact:

=> At boot time (any boot!) c:\boot.ini should replaced by c:\boot.norm.

You must therefore check if this is the case.
1. Force a safe boot with your newly created shortcut.
2. Wait until the system has rebooted to Safe Mode.
3. Check c:\boot.ini. What does it look like?

If it does not like right, you must check if and when your batch file ran.
This is just as simple - modify it like so and examine c:\test.txt after the
reboot:
@echo off
if /i "%1"=="Safe" (
attrib -r -a -s -h c:\boot.ini
echo Safe boot on %date% at %time% >> c:\test.txt
copy /y c:\boot.SAFE c:\boot.ini
shutdown -r -t 00
) else (
echo Normal boot on %date% at %time% >> c:\test.txt
attrib -r -a -s -h c:\boot.ini
copy /y c:\boot.NORM c:\boot.ini
)

No magic to this one either! By the way, the -a switch in your attrib
command servers no purpose whatsoever. Omit it - it only confuses the issue!
 
K

Kenneth

We now have this simple fact:

=> At boot time (any boot!) c:\boot.ini should replaced by c:\boot.norm.

You must therefore check if this is the case.
1. Force a safe boot with your newly created shortcut.
2. Wait until the system has rebooted to Safe Mode.
3. Check c:\boot.ini. What does it look like?

If it does not like right, you must check if and when your batch file ran.
This is just as simple - modify it like so and examine c:\test.txt after the
reboot:
@echo off
if /i "%1"=="Safe" (
attrib -r -a -s -h c:\boot.ini
echo Safe boot on %date% at %time% >> c:\test.txt
copy /y c:\boot.SAFE c:\boot.ini
shutdown -r -t 00
) else (
echo Normal boot on %date% at %time% >> c:\test.txt
attrib -r -a -s -h c:\boot.ini
copy /y c:\boot.NORM c:\boot.ini
)

No magic to this one either! By the way, the -a switch in your attrib
command servers no purpose whatsoever. Omit it - it only confuses the issue!

Hi again,

Here are the steps I have taken and the results:

I replaced the earlier myboot.bat with your modified version
(with the echo statements for date and time.)

I removed the "-a" from the attrib command.

I launched the shortcut that starts the process. There was
visible a brief flash of the command screen displaying "one
file copied" and then the system rebooted into Safe Mode
with Networking.

After the boot completed, I checked boot.ini, and it
displayed with the Safe:Network version, that is, boot.ini
had been replaced by boot.safe.

No date or time information ever displayed, but perhaps that
was not the function of the Echo lines you had added.

Next, I looked at my Scheduled tasks and in the summary I
see the Name "MyBoot" (without quotes, and without the
extension "bat"). Its schedule field says: "Run at system
startup."

Finally, I manually ran myboot, to copy boot.norm into
boot.ini. I checked boot.ini, and it was the boot.norm
version, so myboot had done that part of its work.

I then rebooted into Normal Mode.

That's the status to this point.

Thanks for any further thoughts,
 
P

Pegasus \(MVP\)

Kenneth said:
Hi again,

Here are the steps I have taken and the results:

I replaced the earlier myboot.bat with your modified version
(with the echo statements for date and time.)

I removed the "-a" from the attrib command.

I launched the shortcut that starts the process. There was
visible a brief flash of the command screen displaying "one
file copied" and then the system rebooted into Safe Mode
with Networking.

After the boot completed, I checked boot.ini, and it
displayed with the Safe:Network version, that is, boot.ini
had been replaced by boot.safe.

No date or time information ever displayed, but perhaps that
was not the function of the Echo lines you had added.

Next, I looked at my Scheduled tasks and in the summary I
see the Name "MyBoot" (without quotes, and without the
extension "bat"). Its schedule field says: "Run at system
startup."

Finally, I manually ran myboot, to copy boot.norm into
boot.ini. I checked boot.ini, and it was the boot.norm
version, so myboot had done that part of its work.

I then rebooted into Normal Mode.

That's the status to this point.

Thanks for any further thoughts,

It seems you missed the most important point of the whole exercise. In my
most recent note I wrote ". . . modify it like so and examine c:\test.txt
after the reboot". What's happened to your examination of c:\test.txt? Have
you given any consideration of what the following batch file line actually
does?
echo Normal boot on %date% at %time% >> c:\test.txt
 
K

Kenneth

It seems you missed the most important point of the whole exercise. In my
most recent note I wrote ". . . modify it like so and examine c:\test.txt
after the reboot". What's happened to your examination of c:\test.txt? Have
you given any consideration of what the following batch file line actually
does?
echo Normal boot on %date% at %time% >> c:\test.txt

Hi again,

I take no small measure of pride in the fact that when I
ignore something, it's "the most important point of the
whole exercise." No, I'm not one to ignore anything that
could be considered trivial <g>.

In any case, I ran the bat file, and am now in Safe Mode
with Net. BOOT.INI is boot.safe, and TEST.TXT shows:


Safe boot on Sun 09/28/2008 at 19:35:06.93
Safe boot on Sun 09/28/2008 at 19:35:29.20


Thanks for any further thoughts,
 
K

Kenneth

On Sun, 28 Sep 2008 19:48:07 -0400, Kenneth

I should add:

I just manually ran MYBOOT.BAT (because that seems the
simplest way for me to get out of Safe Mode with Net.)

Having just done that (but before rebooting into Normal
Mode, TEST.TXT shows:

Safe boot on Sun 09/28/2008 at 19:35:06.93
Safe boot on Sun 09/28/2008 at 19:35:29.20
Normal boot on Sun 09/28/2008 at 19:49:22.43

Thanks again,
 
K

Kenneth

On Sun, 28 Sep 2008 19:48:07 -0400, Kenneth

I should add:

I just manually ran MYBOOT.BAT (because that seems the
simplest way for me to get out of Safe Mode with Net.)

Having just done that (but before rebooting into Normal
Mode, TEST.TXT shows:

Safe boot on Sun 09/28/2008 at 19:35:06.93
Safe boot on Sun 09/28/2008 at 19:35:29.20
Normal boot on Sun 09/28/2008 at 19:49:22.43

Thanks again,

and now, having rebooted into Normal Mode, TEST.TXT shows:

Safe boot on Sun 09/28/2008 at 19:35:06.93
Safe boot on Sun 09/28/2008 at 19:35:29.20
Normal boot on Sun 09/28/2008 at 19:49:22.43
Normal boot on Sun 09/28/2008 at 19:53:21.95

Thanks again,
 
K

Kelly

Another option: Add Safe Mode to the Boot Screen

Use as an example/guideline: Go to Start/Run and type in: C:\boot.ini and
copy/add what you want (Safe Mode or with Command Prompt), then save,
reboot.

Normal, Safe Mode and Command Prompt.

[boot loader]
timeout =15
default = multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "Windows XP Normal"
/fastdetect /sos)

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "Windows XP SAFE
Mode"/safeboot:minimal)

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "XP SAFE Mode with
Command Prompt" /safeboot:minimal(alternateshell)

--

All the Best,
Kelly (MS-MVP/DTS&XP)

Taskbar Repair Tool Plus!
http://www.kellys-korner-xp.com/taskbarplus!.htm

SupportSpace
www.supportspace.com/pages?aiu=kellyskorner
 
K

Kenneth

Another option: Add Safe Mode to the Boot Screen

Use as an example/guideline: Go to Start/Run and type in: C:\boot.ini and
copy/add what you want (Safe Mode or with Command Prompt), then save,
reboot.

Normal, Safe Mode and Command Prompt.

[boot loader]
timeout =15
default = multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "Windows XP Normal"
/fastdetect /sos)

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "Windows XP SAFE
Mode"/safeboot:minimal)

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "XP SAFE Mode with
Command Prompt" /safeboot:minimal(alternateshell)

Hi Kelly,

I certainly thank you for the suggestion, but I am
interested in developing a routine that will run without
further intervention once launched.

All the best,
 
K

Kelly

Most welcome, Kenneth. Perhaps the info will help others. :blush:)

--

All the Best,
Kelly (MS-MVP/DTS&XP)

Taskbar Repair Tool Plus!
http://www.kellys-korner-xp.com/taskbarplus!.htm

SupportSpace
www.supportspace.com/pages?aiu=kellyskorner

Kenneth said:
Another option: Add Safe Mode to the Boot Screen

Use as an example/guideline: Go to Start/Run and type in: C:\boot.ini
and
copy/add what you want (Safe Mode or with Command Prompt), then save,
reboot.

Normal, Safe Mode and Command Prompt.

[boot loader]
timeout =15
default = multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "Windows XP Normal"
/fastdetect /sos)

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "Windows XP SAFE
Mode"/safeboot:minimal)

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "XP SAFE Mode with
Command Prompt" /safeboot:minimal(alternateshell)

Hi Kelly,

I certainly thank you for the suggestion, but I am
interested in developing a routine that will run without
further intervention once launched.

All the best,
 

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

Top