This tutorial supposes that you have already rooted your Nexus S phone.
As rooting process involves flashing a new recovery, you will realize that after you've rebooted your system at least once under ICS, your favorite recovery is not accessible anymore thru fastboot menu.
Instead of your favorite recovery, you will get a nice picture of Android on the back with an exclamation mark in a red triangle.
At this stage, your phone is stuck, you can only reboot it by removing the battery or wait for a very long time till it reboots by itself !
In fact, at every boot, your android system replaces your TWRP recovery with that ... dead end.
This article explains how to get rid of that real bad behaviour and to be able to enter your favorite TWRP recovery anytime you need it, without reflashing it.
This procedure has been tested on a Nexus S running Ice Cream Sandwich 4.0.4 and Jelly Bean 4.1.
The OTA update from ICS to JB rewrite the faulty file !
So, after a Jelly Bean OTA update, you need to re-root your Nexus S and to apply this procedure once again.
1. Rename the faulty system file
Our problem is coming from a nasty /system/boot-from-recovery.p file provided by ICS or JB, that overwrites your recovery at every boot.
The easiest way to fix the problem is to rename that file.
To be able to rename a system file, you need to hold a root file manager like Root Browser Lite.
If not already installed, from the market, install Root Browser Lite.
Once done, launch Root Browser Lite and give it the super power when it asks for it.
You can now rename the faulty file from /system/boot-from-recovery.p to boot-from-recovery.p.bak.
2. Reflash TWRP Recovery
Now that the rewrite process is blocked, we need to reflash TWRP recovery once again.
So, download the latest TWRP Recovery image for Nexus S from TeamWin Recovery Project site.
Switch off your phone & enter fastboot mode by pressing Volume UP and POWER at the same time.
You now need to plug the phone to your computer with a USB cable
It's time to flash again the new recovery image from your computer :
# ./android-sdk-linux/platform-tools/fastboot flash recovery openrecovery-twrp-126.96.36.199-crespo.img
sending 'recovery' (3612 KB)...
OKAY [ 0.524s]
OKAY [ 0.546s]
finished. total time: 1.070s
You can now reboot.
Your recovery will now be accessible thru fastboot menu anytime you need it.
Hope it helps !