Let me offer this low tech solution that I used to use back in the dark ages:
1) Decide on a scale - figure out what distance on the map represents 1 foot, 1 meter, 1 mile, whatever you want a square or nex on the grid to be, mark that distance on the edge of the map.
2) Get some hex grid or square grid graph paper. You need graph paper with black lines, instead of the blue lines that they usually have, which don't copy as well. If you can find grids online or something that draws them, you can print them out from your computer instead.
3) Use a copy machine with zoom/reduction to copy it onto ordinary paper sheets, compare different iterations to the mark on your map until you get the zoom right, also try to get the exposure right to make the line nice and dark, but the space between them white. You might be able to do the same thing on your computer printer, but I don't know whether you can zoom when you print things with Photoshop and such - never tried it.
4) Copy it onto transparent plastic sheets (or print it onto transparent sheets - they make those for laser printers too).
5) Lay sheet over map, tape both to table or each other as necessary. Make sure you tape them so that they can be un-taped and reused without tearing the map. Tape them with the printed side down, otherwise the lines smudge and wear off.
The weakness of this method is that it's hard to find transparent sheets that are bigger than
legal size paper, not to mention copiers or printers that take larger sheets (maybe Kinko's Copy Centers or somesuch has such things? It's been years since I've tried this). If you want a map larger than that you have to line the graph sheets up and tape them together.
You can do this with photoshop and other programs, but they all work a little differently so
I couldn't attempt writing instructions here. Generically what you have to do is find (online) or create a grid of dark lines on a single color background (like white), turn everything of that single color into transparency (leaving dark lines on a transparent "surface"), then overlay the grid onto the map as a layer and then combine the two in to one image. Getting the scale right could just be done by enlarging/shrinking the grid to get it about right relative to the map. Otherwise you can decide how many pixels on the map cover the distance unit, and make the grid the same size (zoom in to count pixels).
PS: I dimly remember that someone used to sell transparent grid sheets for just this purpose, maybe it would be worth a look to see if such a product is still available.