The rupee weakened to hit a fresh all-time low early on Monday, trading beyond 77.40 per dollar, driven by investors' preference for safety as lockdowns in China, war on the edge of Europe and fear about higher interest rates sent a nervous jolt through markets.