Note: some journalled filesystems will just refuse to mount if they can't do their journal replay (e.g. Reiser 3.6). If you have a disk that you need to be absolutely sure will not be written to, mount -o ro isn't strong enough -- journalled filesystems will often still do a log replay and write changes to disk. But, you can losetup /dev/loopX /dev/your-device -r Then mount the loop device. Writes will just return "denied".