(Note to reader: This page is a continuation of my exploration,
"Inside the Dell PC-Restore Partition". If you arrived at this page directly from
an outside link, you can backup to the entry page of this treatise by
clicking here.)
Preface
This page discusses how to fix the Dell System Restore (DSR) feature.
The term "restore" has a somewhat fuzzy definition, and users sometimes
ambiguously use "restore XP" when they really mean "reinstall XP".
I think it would be helpful here to make that distinction.
The term 'restore' should be taken as meaning to return to a previously saved
or stored state. A prerequisite here is that a backup must have been previously
saved to which you can return.
In contrast, 'reinstall' should mean the process of
installing XP again
from an installation CD, just as would be done if the hard disk partition
did not previously have any operating system.
'Install' and 'reinstall' are functionally the same thing--whether or not
the partition previously had XP installed is not really relevant when the
process will eliminate any previous installation and install XP anew.
In the case of Dell's "PC-Restore by Symantec"
feature, Dell has supplied the user with a backup image made at the factory,
and this backup is stored in the DSR partition. It is this backup that is
restored from when the Ctrl+F11 keys are pressed.
A backup image must exist before you can restore from it.
If Dell did not ship your computer with a DSR partition, you cannot restore.
If you have deleted the DSR partition, you cannot restore.
In these cases, you may still reinstall if you have the reinstallation media,
but that is a different topic than what is being covered here.
If a DSR partition does not exist, you cannot create one and hope a backup
image will magically appear in it.
If Dell shipped your computer with a DSR partition and it has not been deleted,
then you should have the backup image to restore from--although you might not
always be able to get to it. That's what this page is about: re-enabling your
ability to use Dell's backup image.
Troubleshooting the Restore Process
The Dell-specific
Ctrl+F11 process is supposed to
completely automate the restoration process, returning the hard disk to the
state it was in when Dell shipped the computer.
However, overwriting the MBR by using a boot manager, using the commands "fixmbr" or
"fdisk /mbr", installing from a Windows installation CD, and assorted other tasks
a user might do will inadvertantly break
Ctrl+F11,
rendering the system unable to boot the DSR partition.
Furthermore, changing the partitioning by adding, deleting, or resizing partitions
will cause DSRcheck to fail, so even if
Ctrl+F11 works,
the restore process will abort without attempting to restore the Ghost image.
This section explains how to fix the
Ctrl+F11 and DSR
process following repartitioning or OS reinstallation.
First, understand that not everyone likes the Dell-specific restore process.
Some people even delete the DSR partition completely and choose another
method of disaster recovery. These may include, but are not limited to, using
cloning/imaging products like Symantec Ghost, PowerQuest Drive Image, Acronis
True Image, TeraByte Image or BootIt-NG, and others.
Even if you keep the DSR partition, it's not absolutely necessary to fix
a broken
Ctrl+F11 operation because you can always
manually restore the Ghost image from the DSR partition.
However, if you do wish to repair the Dell-specific restore process, read on.
The heart of the restore process is recover.exe and the fi.gho file.
However, these are scripted by recover.bat in a fairly straightforward manner,
so troubleshooting the restore process is really more a matter of troubleshooting
DSRcheck. The following information is about figuring out why DSRcheck might
prevent recover.bat from doing its work.
Analyzing Your System
Dell computers now come with two hidden partitions: a
Utility partition and
a
Restore partition. DSR (Dell System Restore) is a feature that returns a
computer to its "as-shipped" state, through the use of these two specialized
partitions.
DSRcheck is a Dell utility and is included as part of the Dell PC-Restore
(aka, DSR) partition. DSRcheck provides principally two functions: to evaluate
the state of the computer's partition layout to determine whether to allow the
restore process to proceed, and to return the partition table (specifically,
the partition-type indicators) to its normal state. This latter function is
necessary because the Dell-specific method of booting the Restore partition
alters the partition table.
Dsrfix (Dell DSR Analyzer) is a diagnostic and recovery tool I wrote
to help with troubleshooting DSRcheck problems. Dsrfix assesses several of
the system characteristics that are crucial to dsrcheck.exe.
WARNING:
Dsrfix is not a Dell program and is not endorsed by Dell.
When used without the '/F' parameter, it
does not write anything to disk and uses fairly straightforward procedures
to read selected disk sectors, so should be safe to use.
However, no warranties are expressed or implied. Use at your own risk!
Dsrfix has so far been tested successfully on the following models:
Dimension 1100, 2400, 3000, 3100, 4550, 4600, 4700, 5000, 5100, 5150, 8200, 8300, 8400, 9100, 9150, B110, E310, E510, E520, E521, XPS 400, XPS 410, XPS 720, XPS Gen 4.
Inspiron 500m, 510m, 530s, 600m, 630m, 640m, 700m, 1150, 1200, 1300, 1501(AMD), 2200, 5100, 5150, 6000, 6400, 8600, 9300, 9400, B110, B120, B130, E1405, E1505, E1705, M710, M1210, mini-10v, XPS, XPS Gen 2, XPS M1710.
Vostro 200.
Dsrfix may work on other models as well, since I think the same DSR scheme
is being widely used across the Dimension and Inspiron model lines.
Dsrfix has been tested on IDE and SATA disks. It has not been tested with SCSI disks.
Testing of RAID systems is ongoing--if you have a RAID system, I would appreciate
receiving a Dsrfix dumpfile from your system.
Dsrfix has been tested and found to work on both DOS-style and WinPE-style DSR partitions.
NOTE: Dell systems that shipped with Vista preinstalled do not have a DSR partition.
Dsrfix will not repair a Vista system!
Dsrfix Quick-Start
This section should give you a quick idea how Dsrfix is used. However, be
sure to also read the following sections to get a clearer idea of the details
and potential pitfalls.
Dsrfix is a DOS program. It does not work in Windows.
It does not work in a XP command-prompt window.
It does not work in the Windows PE (preinstallation environment) or RE (recovery environment)
-- those are not DOS.
You need to boot to real DOS. If you need to,
check the section below for ways to boot to DOS.
- Download dsrfix.zip from www.goodells.net/dellrestore/files/dsrfix.zip.
(Updated 08-02-2008, version 3.12)
- Extract dsrfix.com from the archive.
(Note to reader: The other files in the archive are supplemental.
The only file you need to copy to floppy disk is dsrfix.com.)
- Boot from your DOS boot disk.
- Run the command "DSRFIX".
Review the results to assess whether your
system is a good candidate for restoring Dell's DSR feature.
- Optional: save a dumpfile before making any changes.
This may be useful if you later need the information for forensic reconstruction.
- If you decide your system is a good candidate for repairing Dell's DSR feature,
rerun Dsrfix with the command "DSRFIX /F".
The program will repeat its summary report, then prompt
you to queue any changes to be made. Accept or deny each fix proposed by Dsrfix.
After proposals have been queued, confirm whether you want Dsrfix to go ahead and
write those changes to your hard disk.
- Rerun Dsrfix again for a new report to check the results.
If Dsrfix's report shows no fatal errors and no alerts, the Dell-specific
restore feature should be functional on your system. You should see a blue
"www.dell.com" banner across the top of the screen when the computer starts
to boot. Pressing the
Ctrl+F11 keys at that moment should divert the boot
process to Dell's custom restore utility.
Dsrfix Command Syntax
Command-line syntax is:
DSRFIX [/D] [/F] [/8x] [/PBR4]
The following case-insensitive command-line switches are available:
/D |
Forces Dsrfix to dump its sector data to the screen in plain-text format. |
/F |
Directs Dsrfix to fix minor errors (alerts) that it finds. (This switch is ignored if /D is also used.) |
/80 |
Directs Dsrfix to access first hard disk. This is the default if no disk number is entered. Disk numbers follow the bios convention of referencing hard disks, using hexadecimal codes 80-83h. |
/81 |
Directs Dsrfix to access second hard disk. |
/82 |
Directs Dsrfix to access third hard disk. |
/83 |
Directs Dsrfix to access fourth hard disk. |
/PBR4 |
Directs Dsrfix to test for the DSR configuration in the 4th partition instead of the 3rd. |
Warning:
Normally, the first hard disk is the master disk on the motherboard's primary IDE channel.
However,
do not count on this! A modern bios may allow the system to
boot from alternate hard disks or even a USB device. In that case, the disk numbers
will likely be switched around. For example, if you boot from a USB flash drive,
the Dell bios identifies the flash drive as disk 80h and the primary hard disk
becomes disk 81h.
Before using the /F switch, it is crucial to make sure
Dsrfix is reading the intended hard disk!
Capturing a Dsrfix Dumpfile
Before you start, you may wish to record the state of your system with a Dsrfix dumpfile.
Note the dumpfile should be saved
before you use the
/Foption.
The
/D parameter instructs dsrfix.com
to dump the sector data it reads in plain-text to the screen, and the DOS
redirection command "
> filename "
can be used to reroute that output from the screen into a file.
There are many ways to save a dumpfile. These are some of the more frequently used methods:
- boot from floppy disk, save dumpfile on floppy disk. Command:
dsrfix /d > a:\dsrfix.txt
- boot from bootable CD, save dumpfile on floppy disk. Command:
dsrfix /d > b:\dsrfix.txt
(The CD becomes A: and the floppy drive is bumped to B:.)
- boot from floppy disk, save dumpfile on a USB flash drive. Command:
dsrfix /d > c:\dsrfix.txt
- boot from bootable CD, save dumpfile on a USB flash drive. Command:
dsrfix /d > c:\dsrfix.txt
- boot from bootable USB flash drive, save dumpfile on the flash drive. Command:
dsrfix /81 /d > c:\dsrfix.txt
Remember that your system may or may not need the
/PBR4
option added to the command line. If you're not sure whether you need to include the
extra option, try it both ways and compare the results.
An example of saving two dumpfiles might be something like:
dsrfix /d > a:\dsrfix3.txt
dsrfix /d /pbr4 > a:\dsrfix4.txt
Understanding the Dsrfix Report
When used without the
/F switch, Dsrfix is a report-only program;
it does not make any alterations to your hard disk. Dsrfix examines your system for the
signature
characteristics DSRcheck would look for. Results are categorized
in four levels of importance:
A Dsrfix summary report (this is not a dumpfile!)
- Good: These are characteristics that will pass DSRcheck's review.
- Alerts: These characteristics will cause DSRcheck to fail, but are relatively easy to fix.
- Fatal: These characteristics will cause DSRcheck to fail, but are not easily fixed.
- Info: These characteristics are not relevant to DSRcheck, but can help the user analyze his/her system.
Fatal conditions indicate a serious problem with the structure of
the two Dell partitions, such as a deleted partition or a partition that
has been reformatted with a different file system. Be careful here--if you
are running Dsrfix on a system in which the two Dell partitions are expected
to be intact, perhaps Dsrfix isn't looking at the right disk.
For safety's sake, disconnect any additional disks so that the intended
target is the only disk connected.
If you are booting from a USB device, you probably need to use the
/81
switch to read the correct disk.
If you have repartitioned your hard disk, you may need to use the
/PBR4
switch.
Dsrfix cannot fix fatal conditions.
If Dsrfix is looking at the right disk and partitions, correcting a fatal
condition involves concerted effort, which might include completely restoring
one or both Dell partitions from scratch. If that is the case, the reader
should think about whether the effort is worth it.
Alerts are usually easy to fix. An alert suggests the two Dell
partitions are intact, but a minor identification problem would prevent
DSRcheck from letting the restore process go forward.
Dsrfix can repair alert conditions.
An
info item reveals the 'type' of the extra, untested descriptor.
Dsrfix tests three of the four partition table descriptors--the first two,
plus either the third
or the fourth but not both.
The first partition must be a DellUtility partition and the second must
be a NTFS partition. The DSR partition can be either the third or fourth.
As shipped, it is often the third partition, so by default Dsrfix tests
the third descriptor and just lets you know what the untested fourth
descriptor shows. If the
/PBR4
option is used, Dsrfix instead tests the fourth descriptor and lets you
know what the untested third descriptor shows. Knowing what type the
untested descriptor is can help you decide whether or not you should be
using the
/PBR4 switch.
What Dsrfix Does
Dsrfix first checks for the Dell boot code in the first 440 bytes of the MBR.
Dsrfix then looks at the partition table following the boot code, and evaluates
the partition-type indicators of the four partitions.
Dsrfix reads the PBR (partition boot record) of the first partition, checks
that it is a FAT16 boot record, and checks the partition label. It checks to see
if the third partition is a DSR partition by reading the PBR, checking if it is
a FAT32 boot record, and checking the partition label. It reads sector 18 of that
partition (which should be the reference partition table) and compares it to the
partition table in the MBR sector.
In comparing the two partition tables, Dsrfix ignores differences in the active
boot flag or the descriptor types. (Note the descriptor types are evaluated as a
separate check.)
If the
/PBR4 switch is used, Dsrfix performs
these checks on the fourth partition instead of the third.
When used with the
/F switch, Dsrfix also
corrects the relevant sectors of the hard disk, including the first 440 bytes of
the MBR, the PBR descriptor types, the active boot flag, the partition labels,
and the reference partition table in the 18th sector of the DSR partition.
It is crucial that you make sure Dsrfix is reading the correct hard disk.
To help determine that, Dsrfix begins by identifying the location where the
requested hard disk is found (IO base port address and whether it is the
master or slave device on that channel), and reports the disk size.
Dsrfix determines whether the hard disk supports the 48-bit addressing feature
(required if the hard disk is over 137GB), and whether it supports the HPA
feature (required if HPA-based MediaDirect is installed).
Although Dsrfix is not principally concerned with
MediaDirect, it does provide two
clues that may help you determine whether a MediaDirect partition may be on the hard disk.
HPA-based MediaDirect requires that part of the disk be reserved
for a HPA, and also requires the extra MediaDirect-specific boot code in LBA Sector 3.
If the hard disk supports the HPA feature, Dsrfix reveals the true ("max") size
of the hard disk in addition to the reported ("user") size.
If these two sizes are different, that suggests a HPA exists!
Dsrfix also checks whether LBA-3 has a boot signature.
If it does, Dsrfix displays an
info item that
LBA-3 is not empty, as that may suggest LBA-3 contains MediaDirect boot code.
Evaluating Your Chances for a Successful Repair
Dsrfix is not designed to run automatically. It does not evaluate its findings, it
only reports what is there or not there. It is up to a human to decide what those
findings mean.
Dsrfix will not attempt repair if a fatal condition exists.
A
fatal condition means Dsrfix could not read the disk,
or attempted to read the boot records of the first or third/fourth partition and could
not verify it had the correct file system. This can happen if you are looking at the
wrong disk, if either partition has been deleted, if the partition order has been
shifted by repartitioning, if either partition has been reformatted to other than
FAT16 and FAT32, or if the partition table has been corrupted.
If there are no fatal conditions, Dsrfix can attempt to repair your system.
Naturally, the fewer alerts you have, the better your chances are of successfully
fixing Dell's restore feature.
If you have only one alert, then you can be certain that you are looking at the right disk
and there is an excellent chance of successfully restoring Dell's DSR functionality.
If you get multiple alerts, double-check whether you are looking at the correct
disk. Indicators that you may be looking at the
wrong disk include label alerts on
both pbr1 and pbr3, or a label alert and descriptor alert for the same partition.
Indicators that you are probably looking at the
right disk are matching boot
code, matching partition tables, correct descriptor types, or correct labels.
Finally, if you are just not sure and want a second opinion, you are welcome to email me
a dumpfile for review.
Email the dumpfile to
dsrfixgoodells.net
and indicate which Dell model it was run on.
There are many ways of
capturing a Dsrfix dumpfile and a dumpfile
contains a lot of additional information beyond the simple summary report that displays
on screen, so send a dumpfile if you want an answer.
Please do not ask me to evaluate your system if you're not going to bother
sending that information.
Please do not call to ask for help by telephone. The phone is for my paying day job.
I do not provide free support for this sideline hobby while I am at work.
What If I Repartitioned My Hard Disk?
Many people like to repartition their hard disks to split the main "C:" partition
into more than one partition. Repartitioning will cause the DSR process to fail
because the new partition table no longer matches the reference partition table
stored in the DSR partition. Dsrfix can be used to refresh the reference table,
but you may find Dsrfix instead reports a fatal condition on partition 3.
A Dell system normally has the DSR partition third in the table, but sometimes
the process of repartitioning causes the descriptor for the DSR partition to
shift to the fourth row of the partition table. When that happens, Dsrfix won't
be looking for DSR's signature characteristics in the right place.
If you want Dsrfix to check the fourth partition instead of the third, use the
/PBR4 switch.
The illustration shown here is an example of such a case. The 'DB' partition
is listed fourth, and a new partition is listed third (in this case, it is an
'0F' extended partition).
Dsrfix reveals that the third partition descriptor is not 'DB', is not a FAT32
partition, and it was unable to match the reference partition table. If it weren't
for the fatal error, Dsrfix could attempt to overwrite the descriptor, the space
where the reference partition table should be, and the space where the partition
label should be. But
that would be wrong in this case because the
third partition is not where those things should be. (See why a human needs to
interpret Dsrfix's report?)
In this case, the solution is to use the
/PBR4
switch to direct Dsrfix to test the fourth partition. Dsrfix will then report
the fourth partition has the proper 'DB' descriptor type, and will test the
fourth partition for FAT32, proper label, and reference partition table.
Using Dsrfix to Make Repairs
Dsrfix can be used to repair the conditions generating alerts.
If you have many alerts or you are not sure you're looking at the correct
disk, it may be prudent to explore your system with the manual techniques
outlined later. Otherwise, you can use Dsrfix with the
/F option.
Optional:
Before making changes, make a backup of your current MBR sector.
This will allow you to restore the current state of your MBR boot code and
partition table if something should go wrong. There are a number of utilities
available for this purpose, or use
mbrsaver.com
(included with the download of dsrfix.zip).
If there are multiple disks in your system or you are booting from a USB
device, make sure you backup the MBR from the correct disk!
Dsrfix and MBRsaver are companion products, so if you needed to use the
/81 switch with dsrfix.com, use the
same switch with mbrsaver.com.
Then run the command "
DSRFIX /F".
The program will repeat its results report, then prompt you to fix any
alerts. Accept or deny each fix proposed by Dsrfix. After all fixes
have been queued, you will have one final chance to confirm whether or not
you want Dsrfix to go ahead and write those changes to your hard disk.
Finally, rerun the command "
DSRFIX"
for a new report to check the results.
How Do I Boot to DOS?
The typical way to boot to real DOS is with a DOS boot floppy. If your system
does not have a floppy drive, however, booting from a bootable CD or a bootable
flash drive are suitable alternatives.
To prepare for the following steps, download the
dsrfix.zip
archive file and extract dsrfix.com or dsrfixcd.iso.
You may optionally wish to include ptedit.exe from Symantec's ptedit.zip.
To make a DOS boot floppy:
You will need a 1.44MB floppy disk and a machine with a floppy drive. Visit
www.bootdisk.com and download
the file to make a Win98 SE bootdisk. Use the file to make your own boot floppy.
Copy dsrfix.com (and ptedit.exe, if desired) onto a second floppy disk.
Boot from the bootdisk, then swap the floppies so you can run Dsrfix.
(Note to reader: The other files in the archive are supplemental.
The only file you need to copy to floppy disk is dsrfix.com.)
To make a bootable CD:
You will need a machine with a CD/DVD burner and your burning software must
be capable of creating a CD from an ISO image. Nero and Roxio EasyCD Creator
include that capability. If you don't have either of those, a very simple
freeware tool that can do this is
ImgBurn, which can be downloaded from
www.imgburn.com. Download ImgBurn and
install it. Launch ImgBurn and use the iso file, dsrfixcd.iso, to create a CD.
Boot from the CD and run Dsrfix.
(Note to reader: The other files in the archive are supplemental.
Dsrfixcd.iso is the only file required to make a bootable CD.)
Note: a drawback to this method is that a CD is read-only, so if you boot from
a CD you cannot save a dumpfile or backup your MBR to the CD. However, if your
system does not have a floppy drive, you may need to forego saving these.
To make a bootable flash drive:
Your computer's bios must support booting from a USB device.
(I believe all Dell computers shipped since the advent of the PC-Restore system
probably support booting from a USB device.)
Flash drives have become quite inexpensive and ubiquitous. There are plenty of
good instructions on the Internet about how to make a flash drive bootable.
Do a google search for
"usb bootable flash drive"
and find a method you like.
After making your flash drive bootable, copy dsrfix.com (and ptedit.exe, if desired)
onto it. Insert the flash drive into a USB port and reboot the computer.
(Note to reader: The other files in the archive are supplemental.
The only file you need to copy to the flash drive is dsrfix.com.)
Warning: the computer will treat your flash drive as the first
"hard disk" in the computer. Your real hard disk will typically be shifted to
second in order. When you run Dsrfix, make sure you use the
/81
switch to read the "second" disk!
If you forget to include the command-line switch, Dsrfix will read the MBR of the
flash drive instead.
Does Dsrfix Really Work?
Read comments from some of the people who have used Dsrfix.