Ok, wanted to return something to the community here.
I helped my gf grab files off her iphone. I didn't do this process myself, but I did the research for her, so I'm familiar with most of the issues.
*NOTE: DO NOT DO AN ITUNES "RESTORE FROM BACKUP" ON YOUR PHONE BEFORE ATTEMPTING THIS. YOU'LL PROBABLY OVERWRITE A LOT OF STUFF MAKING IT IMPOSSIBLE TO RECOVER MUCH. IDEALLY YOU HAVE A PHONE WITH A CLEAN IMAGE (DFU MODE, ITUNES RESTORE OS ONLY) AND JAILBROKEN.
We tried doing everything using Windows, but there were so many problems we gave up.
Major credit to spoonsslick and the original poster. I used spoonsslick's instructions for doing everything using a ubunto livecd. Here are my modified instructions with more details:
Linux experts or whoever, unless you believe I'm suggesting something that is VERY wrong, please don't critique as you'll just add more spam to the thread with ineffectual suggestions.
Ok, here are instructions that I know work (using WiFi):
Move your computer/laptop and iphone close to your router to maximize transfer speeds.
Download and burn ubuntu to a CD or DVD:
http://ftp.ucsb.edu/pub/mirrors/linu...sktop-i386.iso
* I write a lot of comments in parentheses (), so don't actually type stuff in brackets.
On your computer/laptop:
Boot from liveCD (you may need to go into your BIOS and re-arrange the boot order such that your CD-ROM loads before your hard disk containing windows. google for help if you need.)
- Open a terminal window, install sshd by typing:
sudo apt-get install openssh-server
- Update root password (I know the 2 commands below probably do the same thing, but no harm doing both):
sudo passwd
sudo passwd root
sudo -s (this should change you to the root user so that you have full control over your system)
fdisk -l (this should list all your hard drive partitions)
you'll see an output like the following:
Device Boot Start End Blocks Id System
/dev/hdb1 * 1 2432 19535008+ 86 NTFS
/dev/hdb2 2433 2554 979965 82 Linux swap / Solaris
/dev/hdb3 2555 6202 29302560 83 Linux
look on the right end of each line to find something that matches your local hard disk drive (it'll most likely say ntfs)
find the device (line) you want, and note the /dev/XXX in the front of the line. the XXX represents your partition
mkdir /media/windows (creates a folder to link your drive)
mount /dev/XXX /media/windows/ -t ntfs -o nls=utf8,umask=0222 (link your drive)
replace the XXX with your partition from the fdisk command
for example, on my laptop, it was this (sda2 was my partition identifier):
mount /dev/sda2 /media/windows/ -t ntfs -o nls=utf8,umask=0222
cd /media/windows2
ls -l
the above 2 lines should display the contents of your drive. look and see if you recognize files from your HD. if you do, you're good to go. i'm not sure why spoonsslick didn't provide instructions for this because ubuntu creates a 1gb ram disk, and your iphone image will be minimum 8 gb... so you'd be stuck after transferring 1gb. if someone has better instructions on mounting a HD in ubuntu, feel free to comment.
find your ip address, look at inet addr:
ifconfig (or is it ipconfig? my gf didn't comment, so i guess one of these commands will give it to you)
Your computer/laptop at this stage should be ready to receive and write the dd dump file.
***************************
Ok, now to iphone:
You'll need a jailbroken iphone. Google if it's not to get instructions.
Our home network uses the standard 192.168.1.### ip range standard on most routers. If you use something else, then change the first 3 octets to match yours in the instructions below.
In cydia, install terminal, mobileterminal, and openssh. Reboot iphone. I remember one of the terminals didn't actually create an icon to run the terminal program, so just install both to save time.
set phone to auto dim and set phone to a lower brightness to use less battery (in case phone runs out of power sending over wifi before the file gets transferred; someone earlier had this problem, but we didn't)
start terminal on your phone by clicking the icon:
type the following commands:
ssh
root@192.168.1.xxx (xxx is IPHONE ip - password alpine)
rm .ssh/known_hosts (this removes the saved host keys so you don't get permission denied error if you boot from the live cd more than once since each new boot creates an unique key that will mess everything up)
ssh
root@192.168.1.xxx (xxx is computer ip, we run this so it will ask you if you want to save the key, type "yes")
exit (you ssh'd into the computer, "exit" gets you out since you don't want to actually be in the computer directly)
dd if=/dev/disk0 | ssh root@<computer ip> 'dd of=/media/windows/dump.img'
replace the <computer ip> with your computer ip. hopefully it'll ask you for the root password and then write to your mounted HD
if your network is fast and you can get 500k+, it'll take a few hours. make sure your phone is plugged into the wall to get maximum power recharge so your phone doesn't run out of battery partway through.
**************************
You have a dump image file. Don't try to mount using poweriso/ultraiso/magiciso as that's not what you want to do.
Google photorec and learn to use that. The first few links will give you decent instructions, or you can fool around a bit yourself. If you didn't overwrite your phone flash, you should be able to recover quite a bit.
Good luck.