[Info-vax] VMS defragmenters
Jur van der Burg
lddriver at digiater dot nl
Wed Apr 22 03:26:40 EDT 2009
> There are certain reserved LBN known to IO$_MOVE that it won't move
> independent of whether NOMOVE is set or not, and an error code
> specific to an attempt to move these. The pointers setup by
> WRITEBOOT probably use some of those LBN.
Not true. The only check in movefile is for reserved file id's like
indexf.sys and such. If a file does not have the nomove characteristic
it will happily move to a new location. Obviously there are other checks
like the file must be closed, not on a write protected device, etc.
Read the sourcecode and check it yourself.
$ mc dfu defr vmb.exe/lbn=393210
Disk and File Utilities for OpenVMS DFU V2.7-A
Freeware version
Copyright © 2000 COMPAQ Computer Corporation
%DFU-I-DEFRAG, Start defragmenting file(s) ...
%DFU-E-NOTMOVED, Error moving SYS$COMMON:[SYSEXE]VMB.EXE;3,
%SYSTEM-W-FILNOTACC, file not accessible !AS
%DFU-I-READY, DEFRAG command ready
$ set file/move vmb.exe
$ mc dfu defr vmb.exe/lbn=393210
Disk and File Utilities for OpenVMS DFU V2.7-A
Freeware version
Copyright © 2000 COMPAQ Computer Corporation
%DFU-I-DEFRAG, Start defragmenting file(s) ...
%DFU-S-MOVED, File SYS$COMMON:[SYSEXE]VMB.EXE;3 defragmented
%DFU-I-READY, DEFRAG command ready
And if you do that your pointer to vmb.exe in the bootblock will
point to the location where vmb was, and that is now free space.
As long as its not overwritten you may boot....
Don't try this at home (well, I did...).
Jur.
Bob Koehler wrote:
> In article <00A8A5D2.7C5F599E at SendSpamHere.ORG>, VAXman- @SendSpamHere.ORG writes:
>> In article <00359f6b$0$19586$c3e8da3 at news.astraweb.com>, JF Mezei <jfmezei.spamnot at vaxination.ca> writes:
>>> VAXman- @SendSpamHere.ORG wrote:
>>>
>>>> $ COPY VMB.EXE and then delete the original. Happy rebooting.
>>> You forgot about MC WRITEBOOT before the rebooting :-)
>> No I didn't. The exercise was to be one of academics. ;)
>
> Yes, but my point is that I'm pretty sure that the issues addressed
> by WRITEBOOT aren't exactly the same as those addressed by NOMOVE.
>
> There are certain reserved LBN known to IO$_MOVE that it won't move
> independent of whether NOMOVE is set or not, and an error code
> specific to an attempt to move these. The pointers setup by
> WRITEBOOT probably use some of those LBN.
>
More information about the Info-vax
mailing list