Jump to content

Backing up and restoring Windows 98 system.


Sfor

Recommended Posts

Backing up of a Windows 9x system is relatively easy. It is possible to simply copy all files from Program Files and Windows folders (excluding Win386.swp file) to some other location. The problem is with restoring from such an image. I was using a disk editing software to replace cluster numbers in the directory entries. The system was working, but it was not a solution for my clients. I needed some more automated system.

I made a few interesting observations:

- LFN support is available when Windows runs WINSTART.BAT file.

- all core elements needed before GUI is started are in 8.3 named files.

So, it is possible to:

- restore core 8.3 named files from DOS without LFN support

- then, to start Windows

- then, using WINSTART.BAT to restore remaining files with long names

I needed a way to divide all files to 8.3 and LFN file lists. As the result I created an application. It creates the two lists, then runs an archiver to make two compressed files using the file lists.

As the result, it is possible to restore the OS by selecting an option in the boot menu. If all data files are kept in other folders, the restoration does not affect them. So, it is a quite fast and effective system.

There are a few other problems related to the whole concept, but they are not very important.

I know not about ways of doing the same kind of things with the newer Microsoft systems. So, the DOS boot ability of Windows 9x systems can be considered as an advantage, I believe.

Edited by Sfor
Link to comment
Share on other sites


I'v been working on a similar project:

http://www.geocities.com/fredledingo/sysrestore.htm

It's always interresting to share ideas.

Here I'm using an archiver named arj to archive the files. It supports restoring long filenames in plain DOS (before/without windows started). You just have to put all the filepaths in list and ask arj to restore the files from this list.

I'm not the author of arj. Only of the scripts which use it.

At this stage, I did only the "back up" part of the program, not yet the "restore part". And it can be useful already.

Link to comment
Share on other sites

Backing up of a Windows 9x system is relatively easy. It is possible to simply copy all files from Program Files and Windows folders (excluding Win386.swp file) to some other location. The problem is with restoring from such an image. I was using a disk editing software to replace cluster numbers in the directory entries. The system was working, but it was not a solution for my clients. I needed some more automated system.

I made a few interesting observations:

- LFN support is available when Windows runs WINSTART.BAT file.

- all core elements needed before GUI is started are in 8.3 named files.

So, it is possible to:

- restore core 8.3 named files from DOS without LFN support

- then, to start Windows

- then, using WINSTART.BAT to restore remaining files with long names

I needed a way to divide all files to 8.3 and LFN file lists. As the result I created an application. It creates the two lists, then runs an archiver to make two compressed files using the file lists.

As the result, it is possible to restore the OS by selecting an option in the boot menu. If all data files are kept in other folders, the restoration does not affect them. So, it is a quite fast and effective system.

There are a few other problems related to the whole concept, but they are not very important.

I know not about ways of doing the same kind of things with the newer Microsoft systems. So, the DOS boot ability of Windows 9x systems can be considered as an advantage, I believe.

Look at Q4 http://www.xxcopy.com/xxcopy13.htm, supports incremental backup,restore of only new files,file exclude and any other functions you might need for backup restore. Works even better if your program files are installed to a new folder you create called prog

Link to comment
Share on other sites

I'v been working on a similar project:

http://www.geocities.com/fredledingo/sysrestore.htm

It's always interresting to share ideas.

Here I'm using an archiver named arj to archive the files. It supports restoring long filenames in plain DOS (before/without windows started). You just have to put all the filepaths in list and ask arj to restore the files from this list.

I'm not the author of arj. Only of the scripts which use it.

At this stage, I did only the "back up" part of the program, not yet the "restore part". And it can be useful already.

Well, the ARJ does support the long file names as long as the OS supports them. So, the ARJ can not restore long names without Windows running. In clean DOS without Windows core running there is no LFN supports, and ARJ will fail to restore long names.

As a matter of fact, I'm using ARJ as well. My application does create file lists and then runs the ARJ during backup and restore jobs. So it is a sort of shell over the ARJ archiver.

The file compression is not necesary for storing a copy of system folders, but it makes it much more usefull. As, it takes much less disk space and makes everything much simpler when restoring from CD.

Link to comment
Share on other sites

There is yet another problem related to the ARJ and long file names.

DOS is using OEM codepage, while the Windows runs on ANSI codepage. The Windows does convert the ANSI to OEM characters for every DOS 16 bit application. It is not possible to convert all ANSI characters to OEM and back. That's why ARJ is not able to deal with some long file names, correctly. On the other hand ARJ32 is able to store long file names using ANSI codepage. But, the ARJ32 does require windows GUI to run. So, ARJ32 will not work in "clean" DOS.

The ANSI to OEM character conversion can be a quite significant problem in some languagage Windows versions.

Link to comment
Share on other sites

All you need is a floppy disk with Ghost 2003 executable on it. Back up your partition(s) up to a DVD, a separate hard disk, a USB memory stick or whatever. Then restore when needed. Flawless every time. (If you don't have a floppy drive put it on a bootable CD.)

Edited by Analada
Link to comment
Share on other sites

Yes but in my case I would need 1Gb for each restore point and a restore point every 3 days.

Not saying it's a bad solution but there must be something faster and lighter.

I'm still working on the project. i hope to finish it before w98 become extinct. LOL

Link to comment
Share on other sites

Well.

- The Norton Ghost is not free, you know.

- Not every computer does have a DVD-RW device.

- The backup of the whole partition can take more than just one DVD

- Backup of just the system folders instead of the whole partition is much faster.

- Restoration of the whole partition erases user data. It is much more convenient to restore just the system folders leaving user data unchanged. I've heard the Norton Ghost can do it, as well. But can NG do it in automatic mode?

- It is possible to keep system folders backups on the same partition as the system files. System restoration option in the boot menu is a very useful feature.

Edited by Sfor
Link to comment
Share on other sites

Taking your points one at a time:

<The Norton Ghost is not free, you know.>

Agreed. Remember, though I'm not talking about the latest version but about Ghost 2003. Buy second-hand on ebay, or do a search.

<Not every computer does have a DVD-RW device>

How many don't? Back uo to a spare hard disk or even back up to flash memory stick.

<The backup of the whole partition can take more than just one DVD>

I'm talking about C:\ drive. Typically under 2GB for a win98SE installation plus some program files. If the user is putting all his data on to it as well as the OS, then that's bad practice. Use at least three partitions, with one for windows.

My 1.8 GB C:\ partition backs up in under 9 minutes on to a slow DVD-RW.

And -- Ghost 2003 spans multiple DVDs with ease.

Or, as i said before, use a hard disk.

<Restoration of the whole partition erases user data>

Eh? Even if you just had a large C:\ partition with everything on it you wouldn't lose any data.

I put all my data on E:\ partition. Never lost any data yet. It's a good idea to have data on a separate partition. Then when you buy a new PC you can simply move it across.

<But can NG do it in automatic mode?>

Not so far as I know. Placing a floppy (or bootable CD) in place every couple of weeks is no sweat (for me at least).

THE main point about Ghost 2003 is that it is incredibly reliable. And Easy to Use.

Here's a link for those who are interested in finding out more: just scan down to Ghost 2003:

http://ghost.radified.com/

Link to comment
Share on other sites

Well. It is easy to say, buy a cheap NG version. But in my case we are talking about numerous computers. Buying a license for every computer would be a significant investment.

On the other hand I installed my own application on all Windows 98 computers my clients are using. Some of them are in other town, as well. In certain situations I can order to restore the system by phone. Or, they can decide to do it themselves.

The main reason to create such a backup system is reduction of the time needed to maintain the remote Windows 98 computers.

Link to comment
Share on other sites

  • 2 weeks later...
Backing up of a Windows 9x system is relatively easy. It is possible to simply copy all files from Program Files and Windows folders (excluding Win386.swp file) to some other location. The problem is with restoring from such an image. I was using a disk editing software to replace cluster numbers in the directory entries. The system was working, but it was not a solution for my clients. I needed some more automated system.

I made a few interesting observations:

- LFN support is available when Windows runs WINSTART.BAT file.

FreeDOS have LFN support, so if you use that you can restore all files

even those with long file names directly from dos.

You can use DOSLFN in ms-dos too if you don't want to use freedos.

download at http://www.geocities.com/jadoxa/doslfn/

run doslfn.com (doslfnms.com is for ms-dos7, see more in doslfn.txt)

Link to comment
Share on other sites

I've been playing with the FreeDOS last time, when it was in the beta stage still. It did not supported LFN, then.

I'm unable to download the FreeDOS 1.0 ISO image. So, I can not play a bit with the newest version.

But, did the FDOS kernel changed so much, so it is supporting LFN, now. As, the base distribution does not have drivers to support LFN, apparently.

Also, I found no reference to the LFN support in FDOS, so far.

Link to comment
Share on other sites

I've been playing with the FreeDOS last time, when it was in the beta stage still. It did not supported LFN, then.

I'm unable to download the FreeDOS 1.0 ISO image. So, I can not play a bit with the newest version.

But, did the FDOS kernel changed so much, so it is supporting LFN, now. As, the base distribution does not have drivers to support LFN, apparently.

Also, I found no reference to the LFN support in FDOS, so far.

There is not LFN support in the kernel, it is the DOSLFN tsr mentioned that handle that thing.

FreeDOS is made up of many different, separate programs that act as "packages" to the

overall FreeDOS Project. All the projects that is used in freedos is listed at

http://www.freedos.org/freedos/software/ with doslfn is under 'util'

You should be able to use them in other dos'es like ms-dos and enhanced dr-dos too.

one mention of long file names in freedos I've seen is from 2003

http://www.freedos.org/news/archive/index....r=2003&mo=2 so probably you

tested it before that, myself have never used anything before 1.0. (Note that there are

newer versions of lots of the freedos parts after 1.0 and you have to download them

separately to 'upgrade')

note that most normal dos-programs do not support long file names, those that do

(several tools have and command.com "freecom" have some support for it)

need that you have loaded the lfn support (run doslfn) but it consumes 12KB memory,

so when you run some games you might not want it.

(there was allso an older lfn for freedos called "lfndos" but it eats 64KB and is

rather old so don't use that one)

I guess it should be possible to implement LFN directly in the kernel but then you

couldn't unload it and save the memory... I have read something about

'LNF hooks' in the kernel source but I don't think they use them now.

too bad there is no version with everything of the freedos cd on some floppys instead, but if

you can't burn a cd getting the whole freedos, you could try a single floppy distribution of

freedos called Balder http://www.finnix.org/Balder or another one called "Bootable FreeDOS"

http://www.ibiblio.org/pub/micro/pc-stuff/...icial/bootfd.1/

I don't think they had enough space on the floppy to have doslfn on it too, so you have to

download it separately and remove something else to make room for it.

About the backup problem, as long as you have started doslfn first

you should be able to use arj to archive and restore long file names :-)

Link to comment
Share on other sites

The LFNDOS appears to work correctly.

But, ARJ can not handle file names with ANSI characters properly. ARJ32 is needed to do so, as it is not possible to translate all ANSI characters from ANSI to OEM and back. I'm curious how the LFNDOS will handle the ANSI characters.

--------------- edit -----------

Yes, I was right.

It is not possible to backup and restore files with some ANSI codes in their names.

Just an example: Might and Magic® IX

On the other hand LFNDOSMS seems to handle all Polish national characters correctly. So, it can be a very good tool, indeed.

This new possibility makes another dilema. I was using the LFN DOS extension service detection routine to check for Windows GUI running. It was enough to run ARJ32 safely, then. But the LFNDOS made a new condition possible. I mean, LFN DOS extension can be available without windows GUI running, and ARJ32 can not work in such a case. Now I need to find a way to detect the the Windows GUI running from a 16 bit DOS application, directly. And I have no idea, how to do it.

Edited by Sfor
Link to comment
Share on other sites

???

Won't swear to this, but there's a parameter or a program that you can execute (can't remember offhand; busy rite now with other stuff to look up) during startup (or after?) to set codepage (or some-such) to allow utilizing the correct character set. Search around for the correct info...

Also won't swear to this, but MSBACKUP(?) can do selective incremental backups correctly(?). Search around on this as well (must be used in Windows? can't remember...).

HTH

Edited by submix8c
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...