I see that some of the solutions posted on the other question overwrite
libudev.so.0, because of the
-f option supplied to
ln. This is not due to malicious intent, but because these solutions were designed for newer versions of Ubuntu, in which the libudev1 package is used. The solution creates
libudev.so.0 symbolic link. But in 12.04, libudev0 is used. So the
libudev.so.0 library file is overwritten with a broken symbolic link to
libudev.so.1 which doesn't exist. The solutions should not have included the
-f option for
ln in the command line, which overwrites files.
Enough of the explanation, here is a solution:
Basically the library file is replaced with a broken symbolic link. Start in recovery mode and select the root shell option. Then run this command:
apt-get install libudev0. Once you are done, type exit and reboot. If you are using WiFi, download the libudev0 package and copy it into a USB drive. Then in the root shell in recovery, plug the USB drive and run: (tip: you can use
Tab to autocomplete many things, including file paths )
sudo mount -o remount, rw / # (re)mount the filesystem in read-write mode.
mount /dev/sdb1 /media/usb
dpkg -i /media/usb/path_to_package_file
Then reboot and hopefully your system should work.