bagron@cs.vu.nl (Rene Baart) (06/03/88)
I want to upgrade my MS-DOS from version 3.21 to version 3.3. However, when I give the command "SYS C:", I get an error-message saying "not enough room for system on drive C:" (the hard disk has 7 Meg free). I checked the sizes for the system files and the new 3.3 files are indeed larger : 3.21 3.3 (* these are proprietary TULIP ---- ------ MS-DOS versions (Tulip has trans- IO.SYS.............16,249......22,488 lated the IO.SYS system messages in Dutch). MSDOS.SYS..........28,496......30,128 One obvious solution would be to reformat the hard disk using 3.3, but I feel that there must be a SMARTER way to replace those system files (i.e. without reformatting or losing data). Does anyone know a SAFE way to get the SYS command to work ? If so, I'd be happy to hear about it. P.S. I tried SYSing a version 3.21 DOS disk and it worked without any trouble. Could it be that the "unfragment" program I ran on the hard disk has squeezed the files so tight that there's simply no room left for 3.3 ? +------------------------------+ @@ @@ @@ @@ +-------------------+ | Rene' Baart | @@ @@ @@ @@ | EMAIL : | | Department of Economics | @@ @@ @@ @@ +-------------------+ | Free University of Amsterdam | @@ @@ @@ @@ | bagron@cs.vu.nl | | Amsterdam, The Netherlands | @@@@ @@ @@ | groedr@econ.vu.nl | +------------------------------+ @@@ @@@@@@@@@@@ +-------------------+
kaldis@kinks.rutgers.edu (Theodore A. Kaldis) (06/07/88)
In article <1286@ark.cs.vu.nl>, bagron@cs.vu.nl (Rene Baart) writes:
-} I want to upgrade my MS-DOS from version 3.21 to version 3.3. However, when
-} I give the command "SYS C:", I get an error-message saying "not enough room
-} for system on drive C:"
-} One obvious solution would be to reformat the hard disk using 3.3, but I
-} feel that there must be a SMARTER way to replace those system files (i.e.
-} without reformatting or losing data). Does anyone know a SAFE way to get
-} the SYS command to work? If so, I'd be happy to hear about it.
-} Could it be that the "unfragment" program I ran on the hard disk has
-} squeezed the files so tight that there's simply no room left for 3.3?
You are going to have to clear enough contiguous space at the beginning of your
hard disk to accommodate both system files. I was faced with exactly the same
problem. The approach that I took is certainly not a simple one, and does
carry a bit of risk, like if you make a mistake and don't catch it. But it
worked for me, and I think it beats reformatting the whole hard disk. I'm not
suggesting you try it unless you have a fairly good understanding of disk
structures (cluster sizes, file allocation table entries, directory entries,
and the like).
What I did was use Norton Speed Disk, which does the same thing as your
'unfragment' program, to create contiguous files. I then used Norton Utilities
to change the file attributes on the system files to normal, and then erased
them. Then I changed the attributes for the first few subdirectories to normal
files, and gave them a size of 2048, copied them to floppies, and then erased
them from the hard disk. (Norton Speed Disk puts subdirectories immediately
after the system files. Note also the cluster size, mine are 2048 bytes long,
but this isn't true for all hard disks. Also, if a subdirectory takes up more
than one cluster, i.e., has a lot of files, the size entry you put in should
reflect the size of the total number of clusters occupied by the subdirectory.)
This created enough space for me to load the system. (Note also that the first
two directory entries on the root directory must be empty in order to install
the system.) After doing so, I then recopied the directory files back to the
hard disk. The very NEXT thing I had to do was change the cluster entries in
the subdirectories themselves (the single dot entries) to reflect the current
clusters they were now occupying. Also, for all subdirectories of any of these
directories, I had to change the cluster entry of the parent directory (the
double dot entry) to reflect the new cluster number of the parent. In my case,
I think one subdirectory went three levels deep. After this was done, I went
back to the root and changed the subdirectory attributes back to directory,
removed the file sizes, and ran Speed Disk again, and that was that. If anyone
knows of a simpler method yet, feel free to advise.
--
----------------------------------------------------------------------------
Theodore A. Kaldis | kaldis@remus.rutgers.edu
P.O. Box #1212 | {...}!rutgers!remus.rutgers.edu!kaldis
Woodbridge, NJ 07095 | (201) 283-4855 (voice)
----------------------------------------------------------------------------
diwarner@sdrc.UUCP (Mark_Warner) (06/08/88)
Is everyone forgetting that DOS 3.3 does not have to have its hidden system files contiguous. The easiest way to upgrade from DOS 3.x to 3.3 is to do the following: 1 - Boot with 3.3 (on floppy) 2 - If upgrading from MSDOS to MSDOS then SYS C: If upgrading from PCDOS to MSDOS or MSDOS to PCDOS then remove the 2 hidden system files using Norton or PCTOOLS then SYS C: 3 - Copy various DOS programs over to the hard drive. 4 - Remove the floppy and re-boot. Although a complete format is really the "BEST" way this does work and I have done it on 3 different machines. Mark Warner UUCP: uunet!sdrc!diwarner SDRC Milford Ohio
feg@clyde.ATT.COM (Forrest Gehrke) (06/14/88)
> Is everyone forgetting that DOS 3.3 does not have to have its hidden system > files contiguous. If you mean these files may be fragmented, this is only half right. Starting with the v3.2 version, limited fragmentation is allowed. The first hidden file (usually the bios file) MUST NOT be fragmented and MUST be laid into the first data sectors of the bootable partition on the HD. In a single partition disk this starts at relative sector number 2. This file must be the first listed file in the root directory. The second hidden file (usually the dos file) MUST be the second listed file in the root directory and its inital data must follow upon the first hidden file's data. It may be fragmented however. > The easiest way to upgrade from DOS 3.x to 3.3 is to do the following: > > 1 - Boot with 3.3 (on floppy) > 2 - If upgrading from MSDOS to MSDOS then SYS C: > If upgrading from PCDOS to MSDOS or MSDOS to PCDOS then remove the 2 > hidden system files using Norton or PCTOOLS then SYS C: > 3 - Copy various DOS programs over to the hard drive. > 4 - Remove the floppy and re-boot. > > Although a complete format is really the "BEST" way this does work and I have > done it on 3 different machines. You have been lucky. A number of posters have said they followed this very procedure only to have displayed a message "Not enough room...." The problem is that the hidden files have grown and additional space must be found for them because SYS needs to load them following the above rules I have outlined. Assuming no change from 12 bit FAT to 16 bit is desired, the two hidden files and some of the following files in the root directory must be deleted. Using chmod, change the attributes of the two hidden files so that they may be deleted. Using DIR without any switches, list the files in the HD root directory. Delete the first few at the beginning of the list. Note how much space is needed from the size of the two new hidden files, (again, using chmod to be able to see them, if sizes are not known). Just to be sure, delete a few extra files. (If these are user files, be sure they're saved on a floppy). From the system floppy now use SYS C: (be sure that the system files on the system floppy are hidden). Copy in the rest of the new dos files to the HD. If the files that were deleted to make room were user files, they may be copied back in. The original autoexec.bat and config.sys, if used, should be in the root directory. The new command.com must be in the root directory unless other special arrangements have been made via shell or set comspec. This procedure will lay in the two hidden files contiguously. I have done this purposely to be absolutely sure that second system file is listed as the second file in the root directory. All this is necessary because the boot program/loader is a very simple heads-down affair. It knows only that those two system files are at the beginning of the HD. If not, you will get that dreaded "DISK BOOT ERROR", "NON-SYSTEM DISK...", or worse yet "FATAL ERROR: SYSTEM HALTED", when you try to start the system. If despite your best efforts this happens, then go back to square one; follow Mark's advice and do the complete HD backup and format. Forrest Gehrke