Postgres Backup fails with: pg_dump: could not fsync file: Bad file descriptor
Question: How to prevent this error or work around it?


fsync ensures that the data is physically written to disk, so that in case of a crash or loss or power a few seconds after the backup, no data is lost in unflushed memory buffers. Unfortunately it doesn't seem to work in your case. You may add --no-sync to avoid this step, although the errors shown are probably harmless, in the sense that surely they don't affect the contents of the backup. You may also use sync as an external program if you're wary of skipping the sync.


  Additional question: Could I do a file level backup and copy the data
  folder from windows to linux, given an identical Postgres version and
  both servers stopped?


No. The data files are not portable in general, and especially not across totally different operating systems.