Inside the Dell PC Restore Partition

An Exploration by Dan Goodell
(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, 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. 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: 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!)
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 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.


Manually Repairing Dell's DSR Function
This section provides additional information for those who prefer to make selected repairs manually.

author: Dan Goodell

Back