iPhone安装双系统固件详细操作教程

转载 2013年12月04日 15:13:13

iPhone安装双系统固件详细操作教程


  • 浏览:5416
  • |
  • 更新:2011-01-14 12:53
  • |
  • 标签:iphone 固件 
Dev team最近几个月来一直在尝试运用双重启动进行iPhone的越狱,但是因为目前还有几项先进的技术还在研发阶段(许多仍然没有公开),我想还是先向那些想尝试利用双重启动来破解iPhone手机(或OS’S)的朋友们公布下面这项令人叫绝的破解方法吧。
下面我将使用一部已越狱的iPhone1.1.4手机,并利用1.1.1固件向你展示此破解过程。为了实现破解,我将在手机上创建一个新的分区,并在该分区上安装1.1.1固件,然后将手机升级到1.1.4版本。但采用这一步骤使得这一分区存在一定缺陷,这时i可以双重重启iphone手机,利用已存在的1.1.1分区安装1.1.4分区。一旦安装成功,你就可以改变你的分区点,然后再安装OpenSSH.

步骤/方法

  1. 1
    第一步:如必要,降级iTunes
      在写该破解过程的时候,iPHUC还不支持iTunes 7.6. 因为我不确定你的iPHUC是否已经升级,所以我假设你的iPHUC版本是和我的一样的。
      如果情况确实如此,那么你可能要用iTunes 7.5或更低的版本。如果必要,退出至~/Music/iTunes library,删除iTunes。在OS X上, 你可以做如下操作:
      # rm -rf /Applications/iTunes.app
      # rm -rf /System/Library/PrivateFrameworks/MobileDevice.framework
      # mv ~/Music/iTunes ~/Music/iTunes.7.6
      现在下载并安装iTunes 7.5
  2. 2
    第二步:安装iPHUC
      如果你需要iPHUC ,你可以从1.1.2越狱文件的网址找到它:
    http://conceitedsoftware.comhttp://iphone.tgbus.com/site/112jb.html,打开它,再打开jailbreak.jar, 解压iPHUC。
      注意:iPHUC有许多版本不兼容,因此除非你有它的更新版本,否则我们在此推荐你用这个版本。
    iPhone安装双系统固件详细操作教程
  3. 3
    第三步:如必要,降级(或升级)iPhone软件
      此时你必须从一个已经越狱的iPhone手机软件入手,比如1.1.1或更高版本。1.0.x则不能进行以下操作,除非你是在最近45周或更短的时间内拥有了iPhone手机。如果你运行1.1.4版本,则你可以把他降级到1.1.1. 请参看Erica Sadun的有关降级的博客:http://www.tuaw.com/2008/01/16/downgrading-your-1-1-3-iphone-or-ipod-touch/
      如果你运行1.0.X,你需要将其升级至1.1.1除非你拥有的并非是真的1.0.x版本手机。
      一旦你运行1.1.1,用*#307#破解进入 Safari 并通过[url]http://www.jailbreakme.com.[/url]安装AppSnapp. 这样就可以激活你的手机把installer放在SpringBoard目录下。
      更加详细的流程请参看http://www.pantsland.com/2007/12/03/simple-iphone-112-upgrade-instructions-with-unlock/
      用AppTapp 安装BSD subsystem 和SSH 使其与1.1.1版本兼容。
    iPhone安装双系统固件详细操作教程
  4. 第四步:通过1.1.1 ramdisk安装必要的工具
      从1.1.1或1.0.2 ramdisk中找到下列文件:
      fdisk
      newfs_hfs
      fsck_hfs
      mount_hfs
      umount
      注意:只有ramdisk上的fdisk版本才可以在iPhone手机上运行。如果你使用错误,fdisk会显示“不能识别”。
      用scp.从ramdisk上安装binaries到/usr/sbin到你的1.1.1版本上,并运行。
      # chmod 755 /usr/sbin/*
  5. 第五步:设置分区栏
      这步,我们调整 /private/var 分区,并创建第三个分区,disk0s3, 这样可以删除/private/var。 所以你需要做的第一件事是建立一个/private/var的备份。这时你的/private/var将有300MB大小。如果你愿意,你可以体制该操作,尽管使你的手机具有双重重启功能是有一定价值的。
      # tar -cf /private.tar --preserve /private/var # (ignore the errors)
      现在,卸载:
      # umount -f /private/var
      下一步,运行fdisk:
      # fdisk -e /dev/disk0
      
  6. 如果你按上面的操作运行,运行错误,那么可能你运行的是另一个版本的fdisk,而不是上面我们说的那个版本。如果真的遇到这种情况,用全程路径找到有上面那个版本fdisk的ramdisk(本文由Catherine翻译,来电玩巴士iPhone频道)
      你可以通过减少cyliner的大小来编辑分区2,一个cyliner, 即s1,是+ delta大小, 即在s1和s2之间(通常为120 或123)。对于iPhone来说, 差不多是153720 cyliners. 下一步,编辑分区3,一般与分区1和分区2同样间距(尽管没必要),大小与分区1一样(iPhone为153600, iPod为76800)
    最后分区大小如下:
    4GB iPhone:
      Disk: /dev/disk0 geometry: 983/32/63 [1982464 sectors]
      Sector size: 2048 bytes
      Signature: 0xAA55
       Starting Ending
      #: id cyl hd sec - cyl hd sec [ start - size]
      ------------------------------------------------------------------------
      1: AF 0 1 1 - 1023 254 63 [ 63 - 153600] HFS+
      2: AF 1023 254 63 - 1023 254 63 [ 153663 - 1674861] HFS+
      3: AF 1023 254 63 - 1023 254 63 [ 1828644 - 153600] HFS+
      4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
    8GB iPhone:
      Disk: /dev/disk0 geometry: 983/64/63 [3964928 sectors]
      Sector size: 2048 bytes
      Offset: 0 Signature: 0xAA55
       Starting Ending
      #: id cyl hd sec - cyl hd sec [ start - size]
      ------------------------------------------------------------------------
      1: AF 0 1 1 - 1023 254 63 [ 63 - 153600] HFS+ 
      2: AF 1023 254 63 - 1023 254 63 [ 153663 - 3657665] HFS+ 
      3: AF 1023 254 63 - 1023 254 63 [ 3811328 - 153600] HFS+ 
      4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
    16GB iPod Touch:
      Disk: /dev/disk0 geometry: 983/64/63 [3964928 sectors]
      Sector size: 4096 bytes
      Offset: 0 Signature: 0xAA55
       Starting Ending
      #: id cyl hd sec - cyl hd sec [ start - size]
      ------------------------------------------------------------------------
      1: AF 0 1 1 - 1023 254 63 [ 63 - 76800] HFS+
      2: AF 1023 254 63 - 1023 254 63 [ 76863 - 3811059] HFS+
      3: AF 1023 254 63 - 1023 254 63 [ 3887922 - 77006] HFS+
      4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
    8GB iPod Touch:
      Disk: /dev/disk0 geometry: 983/64/63 [3964928 sectors]
      Sector size: 2048 bytes
      Offset: 0 Signature: 0xAA55
       Starting Ending
      #: id cyl hd sec - cyl hd sec [ start - size]
      ------------------------------------------------------------------------
      1: AF 0 1 1 - 1023 254 63 [ 63 - 153600] HFS+ 
      2: AF 1023 254 63 - 1023 254 63 [ 153720 - 3657465] HFS+ 
      3: AF 1023 254 63 - 1023 254 63 [ 3811185 - 153600] HFS+ 
      4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
      记得必要动分区1,否则你可能删除了OS。
      若果操作正确,此时可以用fdisk重写你的分区栏。完成后,你需要同步上述命令行:
    # sync; sync; sync;
      现在,第三分区已经可以建设好了。
      因为某些原因,disk0s2被移动到了/dev 下的disk0s4处。所以你需要把它移回来。
      # mv /dev/disk0s4 /dev/disk0s2
      # mv /dev/rdisk0s4 /dev/rdisk0s2
  7. 第六步:恢复/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
  8. 第七步:复制OS分区
      复制OS分区(disk0s1)到你新建的分区(disk0s3).为了避免错误,先将root设置为只读:
      # mount -o ro /
      然后,用dd复制原盘:
      # dd if=/dev/rdisk0s1 of=/dev/rdisk0s3 bs=4096
      这将需要几分钟,一旦完成,运行fsck:
      # fsck_hfs /dev/disk0s3
      现在,重新将root 设置为read-write, 重新设置新分区:
      # mount -o rw /
      # mkdir /mnt
      # mount -t hfs /dev/disk0s3 /mnt
    第八步:设置新的重启分区(本文由Catherine翻译,转载的时候请务必注明出处和翻译作者,谢谢)
      
  9. 一旦你设置了新的重启分区,你需要将它在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 /mysbin sbin
      注意:检查确定你链接到/mysbin,而不是mysbin.
      现在就可以安全卸载/mnt了。
      然后,你也可以从/private/var中删除其他Installer caches。
    # find /private/var -name Installer -exec rm -rf {} \;
  10. 第九步:从新分区启动
      当启动iphone时,三个主要的nvram values就可以使用了:
      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
      #: cmd fsboot
      如果运行没有任何反应,通过Home+power试着进入恢复模式直到你看到指示告诉你“连接iTunes”。
  11. 第十步:升级到1.1.4
      升级回到7.6版本
      在OS X状态下,1.1.4版本只能在iTunes7.6版本下升级。而在windows 下,iTunes 7.5就足够了。否则你需要暂时将iTunes升级到7.6版本。
      升级iTunes,点击“Check for updates” 。它可能推荐你下载1.1.4版本,这时你只需点击“Download only”
      一旦你下载了1.1.4,按“update”键(而不是“restore”)。这样就可以只更新OS分区,不用刷掉以前的东西。
      如果iTunes没有显示数字错误,那么恭喜你。现在你就拥有一部可以重启多版本的iPhone手机了。你仍然可以在你的手机上看到“Connect to iTunes”图标。
      降级到7.5版本
      真是个致命伤。iPHUC不支持7.6版本,如果你需要升级到7.6,那么现在你需要降级到7.5来完成此过程。
  12. 第十一步:利用iPHUC启动1.1.1版本
      查看1.1.4 ipsw文件,你会看到kernel cache.用iPHUC复制kernel cache到iPhone:
      # iphuc
      #: filecopytophone kernelcache.release.s5l8900xrb
      现在,输入下列iPHUC命令到root. 
      #: cmd setenv\ boot-args\ "rd=disk0s3\ -v"
      #: cmd setenv auto-boot true
      #: cmd saveenv
      #: cmd bootx
  13. 第十二步:设置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. 从[url]http://iphone.natetrue.com[/url] 安装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启动时, se nvram up: 
      # nvram boot-partition=0
      # nvram boot-args=""
      # nvram auto-boot=true
      # sync
      # reboot
      完成!现在你就可以在两个版本下双启动了。你还可以将此程序应用到1.2或其它版本固件上。(翻译:Catherine)

1. win7下安装Fedora双系统最新教程

win7下安装Fedora双系统最新教程 Jiangdg_VIP http://blog.csdn.net/u012637501     由于最近项目需要在linux环境下编译调...
  • u012637501
  • u012637501
  • 2014年11月04日 23:53
  • 1535

Window+Fedora双系统安装

Win+Fedora27双系统 最后更新2018-01-09**************************************************** 重要说明,系统引导方式为传统的bi...
  • cnbeta1993
  • cnbeta1993
  • 2018年01月09日 17:33
  • 80

[毕业设计]第一弹--macbook air上安装ubuntu双系统

纯粹是记录一下自己毕业设计的学习之路吧。 教研室没有电脑了,老师给了一台macbook air。只会windows的我简直像个智障,简单的切换输入法,复制粘贴等等功能都得百度。在这样艰难的情...
  • amateur_
  • amateur_
  • 2017年12月09日 11:15
  • 208

iPhone1.1.3固件jailbreak详细操作教程

适用固件:1.1.1固件和1.1.2固件已被jailbreak过的iPhone(包括误升级至1.1.3后的机器)操作过程:使用iBrickr上传jailbreak工具 → 用installer安装越狱...
  • donetk
  • donetk
  • 2008年05月02日 23:55
  • 150

Windows 8.1环境下安装Kali Linux 2016.1双系统

相信很多信息安全爱好者都对Kali Linux爱不释手!作为一个出色的渗透测试的平台,Kali近乎完美,但除此之外,Windows系统却更加适合普通用户的需求,怎样才能将这两者合二为一,随意切换呢?双...
  • Drongin
  • Drongin
  • 2016年05月14日 23:10
  • 6833

Win8/Win7双系统安装超详尽图文教程——NT6 HDD Installer

利用nt6 hdd installer安装工具同样是在Win7系统下安装Win8实现双系统。
  • xiaofeige567
  • xiaofeige567
  • 2014年04月18日 21:08
  • 5319

Firefly 3288重新制作android和lubuntu双系统固件

重新制作android和lubuntu双系统固件 由于本人修改了lubuntu的驱动和设备树信息,为了方便烧写系统,所以重新制作了双系统的固件。Firefly wiki教程里有android固件的制作...
  • chen__linux
  • chen__linux
  • 2015年06月25日 15:12
  • 1262

U盘安装CENTOS6.5+WIN7双系统(win7下安装centos6.5)

转自:http://blog.csdn.net/jcjc918/article/details/9412757
  • u012451670
  • u012451670
  • 2014年11月10日 23:12
  • 1186

Win7+CentOS双系统安装最详细步骤

搞Linux开发的人可能经常有需求在已经安装了Win7的系统下安装CentOS,实现双系统切换使用的目的。下面根据网上查找到的安装方法和自己的实践分享给大家,希望有所帮助。        需要的...
  • cidisk
  • cidisk
  • 2013年03月19日 22:23
  • 2677

Kali Linux(3)-安装Windows与Kali Linux双系统

一,Windows+Kali Linux双系统安装使用虚拟机,毕竟是虚拟的,还是双系统更加彻底,起码会跑的快的多。本篇介绍在已有windows系统的基础上,安装第二个操作系统Kali Linux的方法...
  • woshisangsang
  • woshisangsang
  • 2017年07月23日 00:26
  • 713
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iPhone安装双系统固件详细操作教程
举报原因:
原因补充:

(最多只允许输入30个字)