Here's one of a few possible solutions in ArcGIS - the methodology is a bit involved, but it should solve your problem.
1) Use Create Fishnet (Data Management) (available at all license levels) to create a 25x25km grid of rectangular cells. This will have to be created concurrent to your raster (match the raster cells to the polygon grid cells) - you can do this using the *origin_coord* parameter.
2) Merge the fishnet with your polygon featureclass based on a common attribute - something such as a simple ID field will work.
3) Split the original polygon featureclass by the grid. Calculate the area of each piece of your original polygons.
4) You now have polygon pieces with an ID assigning to the the original whole polygon and the area of each. From this you can calculate the percentage of the whole polygon that each piece represents. This part may be a bit trickier to automate, but can be completed using the field calculator.
5) Merge the ID and percentage with the grid.
6) Convert the grid to a raster using the new percentage field.