第六步:恢复/private/var
改变分区使得你不得不删除/private/var,所以此时你需要将它恢复到正常状态。为此,格式化/private/var,然后extract 你的 tarball
newfs_hfs /dev/disk0s2
mount-t hfs /dev/disk0s2 /private/var
cd /private/var
tar -xvf/private.tar
mv ./private/var/* /private/var && rm -rf./private
第七步:复制OS分区复制OS分区(disk0s1)到你新建的分区(disk0s3).为了避免错误,先将root设置为只读:
# mount -o ro /
然后,用dd复制原盘:
# ddif=/dev/rdisk0s1 of=/dev/rdisk0s3 bs=4096
这将需要几分钟,一旦完成,运行fsck:
#fsck_hfs /dev/disk0s3
现在,重新将root 设置为read-write,
重新设置新分区:
# mount -orw /
# mkdir /mnt
# mount -t hfs /dev/disk0s3 /mnt
第八步:设置新的重启分区
一旦你设置了新的重启分区,你需要将它在root内进行更改、首先,编辑/mnt/etc/fstab以便你可以将root从disk0s1改为/as/dev/disk0s3。其次,你需要进行symlink破解。苹果在升级过程会通过查找/sbin/launchd.文件检测到可疑分区。如果检测到,就会无法升级。幸运的是,其只在分目录下查找可疑分区不在根目录下查找,所以如果我们移动sbin到“mysbin”,然后链接/sbin →/mysbin,那么就不会被检测到。(因为mysbin实际在/mnt目录下),但是分区被作为root时链接就会起作用了:
# cd/mnt
# mv sbin mysbin
# ln -s /mysbinsbin
注意:检查确定你链接到/mysbin,而不是mysbin.
现在就可以安全卸载/mnt了。
然后,你也可以从/private/var中删除其他Installer caches。# find /private/var -name Installer-exec rm -rf {} \;
第九步:从新分区启动
当启动iphone时,三个主要的nvramvalues就可以使用了:
Auto-boot (true):决定iphone是否自动启动还是进入安全模式
Boot-partition(0):确定root分区号(Zero-indexed)
boot-args(empty):用来设置root工具和verbose模式
运行上述程序以便iphone可以使用新分区:
# nvram boot-partition=2
# nvram boot-args="rd=disk0s3-v"
# nvram auto-boot=true
# sync
#reboot
运行“mount”以确定你的手机是在新分区运行,这样就可以看到根文件系统是在disk0s3下运行,而不是在disk0s1下运行。
如果不能正常启动,可以尝试利用iPHUC启动:
# iphuc
#: enterrecovery (if necessary)
#:cmd setenv\ boot-args\ rd=disk0s3\ -v
#: cmd setenv\ boot-partition\2
#: cmd setenv\ auto-boot\ true
#: cmd saveenv
#: cmdfsboot
如果运行没有任何反应,通过Home+power试着进入恢复模式直到你看到指示告诉你“连接iTunes”。
第十步:升级到1.1.4
升级回到7.6版本 在OSX状态下,1.1.4版本只能在iTunes7.6版本下升级。而在windows 下,iTunes7.5就足够了。否则你需要暂时将iTunes升级到7.6版本。
升级iTunes,点击“Check for updates”。它可能推荐你下载1.1.4版本,这时你只需点击“Downloadonly”,一旦你下载了1.1.4,按“update”键(而不是“restore”)。这样就可以只更新OS分区,不用刷掉以前的东西。如果iTunes没有显示数字错误,那么恭喜你。现在你就拥有一部可以重启多版本的iPhone手机了。你仍然可以在你的手机上看到“Connect toiTunes”图标。降级到7.5版本 真是个致命伤。iPHUC不支持7.6版本,如果你需要升级到7.6,那么现在你需要降级到7.5来完成此过程。
第十一步:利用iPHUC启动1.1.1版本
查看1.1.4ipsw文件,你会看到kernel cache.用iPHUC复制kernel cache到iPhone:
# iphuc
#:filecopytophone kernelcache.release.s5l8900xrb
现在,输入下列iPHUC命令到root.
#: cmd setenv\ boot-args\ "rd=disk0s3\ -v"
#: cmd setenv auto-boottrue
#: cmd saveenv
#: cmd bootx
第十二步:设置1.1.4分区,运行shop
一旦从新启动回到了1.1.1版本,你就能够设置1.1.4分区。
# fsck_hfs /dev/disk0s1
# mkdir /mnt
# mount -t hfs/dev/disk0s1/mnt
首先检查fsck,以防iPhone禁止你设置。
现在开始安装。通过/mnt你可以设置read-write1.1.4.你可以改变master.passward 文件,安装OpenSSH,或安装其他你想安装的软件。但要确保编辑fstab为read-write根文件系统。运行mobile Terminal, 你需要进行如下操作使其可以在未授权情况下可以运行:
1.从http://iphone.natetrue.com 安装BSD_Base 和BSD_Extras
2.复制Terminal.app 到/mnt/Applications
3. mkdir -p/mnt/usr/local/arm-apple-darwin/
4. ln -s /usr/lib/mnt/usr/local/arm-apple-darwin/lib
5. cp -p /mnt/bin/bash/mnt/bin/sh
6. chmod 4755 /mnt/usr/bin/login
7. Edit/mnt/etc/master.passwd to put your own password in
当你想要回到1.1.4启动时,
senvram up:
# nvram boot-partition=0
# nvram boot-args=""
# nvramauto-boot=true
# sync
#reboot
完成!现在你就可以在两个版本下双启动了。你还可以将此程序应用到1.2或其它版本固件上。



