The newsgroups and forums often have postings from people whose RISC OS computer isn’t booting properly due to problems within $.!Boot. Reverting to an older copy of !Boot often fixes the problem, but when was the last time you backed up !Boot to elsewhere on your main drive?
Having backups elsewhere is very important but the backup may not be accessible without the computer booting correctly. e.g. if stored on a NAS or another computer and your networking isn’t working! Over the years customers have ended up paying us for telephone support or had to bring/send their computer to us after something went wrong in their $.!Boot and they were unable to fix it themselves. Keeping a same-drive copy of $.!Boot makes it a lot easier to recover from a non working $.!Boot and could save you money and a lot of hassle.
We recommend making a copy at least every six months and also every time you make significant changes such as updating from RISC OS 5.19 to 5.20 or 5.21.
Create a $.Utilities.Copy!Boot directory, then inside that directory create another directory with OS version followed by the date in yyyymmdd order e.g. 521-20131230 to give $.Utilities.Copy!Boot.521-20131230
If you use !NewsDir/MessengerPro, Ghostscript(PrintPDF) or anything else that stores large amounts of data inside !Boot see note  below first.
[A] Copy $.!Boot into the created directory e.g. $.Utilities.Copy!Boot.519-20131230.
If you moved anything temporarily out of $.!Boot MOVE that back in now.
Now would be a good time to make a copy of your CMOS, using !SaveCMOS or on later versions of RISC OS press Menu button over the Configuration window!
After making the copy why not clear out the contents of !Scrap then shutdown and restart your computer to check all is well.
After you have done it a few times over the months/years you may want to delete some of the other older copies to free up disc space.
In the future if you end up with the computer not fully booting then:
Rename $.Boot to $.Duff!Boot and then COPY (not move unless disc space is too small) your latest backup of the latest !Boot you have back to the root directory of your boot drive. If you previously had !NewsDir in $.Resources MOVE that back from $.Duff!Boot. Reboot
If you are using a dual partition SD card to boot from e.g. PandaBoard, Raspberry Pi, BeagleBoard etc. then do not do the above, as a special process is required. I will blog about this soon.
 GhostScript/PrintPDF is 32MB and !NewsDir, which is part of MessengerPro, can become very large (100MB+). By default both are stored in $.!Boot.Resources.
If you have lots of spare disc capacity and time you could use the simple method above at [A], otherwise !Ghostscr and !NewsDir can be moved out temporarily or permanently to make it easier to copy $.!Boot.
If moving !NewsDir, ensure no email or news transfers can take place. e.g. Quit Messenger Pro & NetFetch (Hermes/POPStar), or unplugging the network cable is one sure way! If after making the changes, backing up, rebooting and running Messenger Pro you get a message about creating a NewsDir DON’T.
Go back and make sure !NewsDir is seen before Messenger is run.
If the move is temporary I’d suggest moving it to the root directory of your boot drive e.g. so it becomes $.!NewsDir. Now proceed to [A] above.
If you want to avoid having to move it in future then it can go anywhere on a local drive but if you have a $.Internet, $.Comms or $.Utilities as appropriate. Do ensure that they are ‘seen’ (filer booted) before !MessengerPro/!PrintPDF is loaded, so during booting is best. The contents of $.Utilities, $.Apps and $.Utilities are filer booted during booting automatically. Remember where you put them and if you have a technical query with MessengerPro it may worth mentioning.
You can now go back to [A] and make your backup.