ThinkPad Tablet 之获取 ROOT 权限

ThinkPad Tablet(下称小黑板)目前还是 Android 3.1 系统(据说五月份会升级 4.0),默认只能使用联想自家的乐商店(什么玩意儿啊?就是给联想乐Pad用的安卓应用软件商店)。乐商店里头的应用很少,而且没几个有用的。不能用 Google 的安卓电子市场,Android 系统就没有血液,何来生命和乐趣可言?!于是获取小黑板的 root 权限,势在必得!

幸好,Dan Rosenberg 很早(2012年1月19号)已经找到了获取小黑板 ROOT 权限的方法(via ref 1, ref 2)。但是这个方法不够完美,能成功的很少。后来,国外一个论坛里3月18号又有一个新的 ROOT 方法,很多人已经据此获取了小黑板的 ROOT 权限(via ref 3)。51nb 论坛的版主也已经据此发布了中文教程(via ref 4)。虽然他们都已经说得很详细(对高手来说已经足够详细了,可是对于初次接触的人来讲还是略显简单),我在实际操作的时候还是遇到了问题。所以我觉得有必要将自己的操作经验记录一下,配上一点图示,应该对新手有所帮助。

注:

新版本 Android 4.0.3 系统请参考另一 ROOT 方式

00. 什么是 ROOT 以及为什么要 ROOT

root 是类 Unix/Linux 系统中对于超级管理员账号的一种称呼。安卓是类 Linux 系统,获取其 root 权限也就是得到系统的最高控制权。

得到 root 权限之后,我们可以:

  1. 安装 Google 服务核心程序,从而可以使用 Google 的一切服务,包括安卓电子市场;
  2. 可以安装某些需要 ROOT 权限的应用,比如全局代理;
  3. 可以修改 HOSTS 等系统文件;
  4. 其它,您来补充吧。

0. 特别提示

  • 修改 ThinkPad Tablet 的操作系统是有风险的。实际上任何破解都是有风险的。由此造成的问题,以及附带产生的其它问题,都需要你自己来承担。请谨慎!
  • 以下操作在 Windows 7 64位操作系统下完成,如果你是别的操作系统,可能会略有不同。如果需要帮助,请直接在本文后面留言。
  • 以下操作须要按顺序来,有任意一步没有完成,都可能造成破解失败。

1. 准备工作

下面是获取 ROOT 权限时需要用到的工具与软件,当然还有高手提供的破解补丁。

1)准备一张能用的存储卡。

ThinkPad Tablet 提供了三合一读卡器接口,下面的操作需要用到它。所以,得准备一张可以在这个接口上使用的存储卡。只要这张卡能装得下一个 6MB 的文件就成,不会对卡上的其它内容有影响。我用的是 mini MMC 卡,以前 Nokia 手机上带的。

2)下载一个可以让小黑板出现溢出漏洞的文件。

到联想官方网站下载 ThinkPadTablet_A310_02_0024_0060_US.zip(或者直接点击此链接下载,去 http://download.lenovo.com/slates/think/tablet1/ 浏览下载也行,文件大小 5.9M)。这个不用管你的 Tablet 是什么型号,都下载这个就行。(估计以后小黑板升级到 Android 4.0 了就不能用这个文件了,到时候再说吧。)

把这个压缩文件放到外置 SD 卡(上一步 1) 中准备的卡)的根目录。不要解压缩该文件。

然后将卡插到小黑板的三合一读卡器里,后面会用到。

3)下载破解补丁。

下载 ROOT 主文件 (http://good.gd/1981854.htm)到计算机,解压得到文件夹 yareftpt。这就是破解补丁了,后面会用到。

4)开启小黑板的 USB 调试模式。

进入小黑板(ThinkPad Tablet)的设置 ——> 应用程序 ——> 开发页面,勾选 USB 调试模式

5)在电脑上安装联想提供的最新版 ADB 驱动。

这一步比较难搞,得有耐心才行。

a) 下载 ADB 驱动,地址:http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS022366。(嗯,联想搞歧视吧,中文页面上没有这个东东。)下载得到的文件名是:adb_driver_20110720.zip

b) 这个驱动没法直接安装。先按照下面的方法安装,如果不成功则跳到下一步 6)。一定要先按照下面的方法来安装:

i) 确保已经按照前面的 4)开启了小黑板的 USB 调试模式,然后使用 USB 数据线将小黑板连接到电脑;

ii) 打开电脑的设备管理器(开始 ——> 所有程序 ——> 附件 ——> 系统工具 ——> 控制面板,然后 硬件和声音 ——> 设备管理器);

iii) 先展开“其他设备”;

iv) 右键单击任意条目,选择 “扫描检测硬件改动”,当 “其他设备” 中出现 “ThinkPad Tablet” 时,右键单击它,选择 “更新驱动程序软件”,根据提示选择 “浏览计算机以查找驱动程序软件(R)”,根据提示,点击 “浏览”,定位到上面 a) 中下载并解压得到的文件夹(adb driver),勾选下面的 “包含子文件夹”,按提示更新驱动。如下图所示。

在计算机中为 ThinkPad Tablet 安装 ADB 驱动

v) 安装成功后,在 “设备管理器” 列表的上面会出现 Android Phone 条目,如下图所示。

已经安装好的 ADB 驱动接口

而此时,便携设备中显示的是未识别的 MTP USB。重新启动小黑板就正常了。

 vi) 如果不行,就右键点选“便携设备” ——> “Lenovo ThinkPad Tablet” 并卸载此硬件,然后重复 iv)。

6)进入小黑板的 Recovery (恢复)模式。

a) 在 USB 数据线连接小黑板的情况下,关闭小黑板(长按电源键,提示是否关机的时候选择确定);

b) 重新开机,在看到白色 Lenovo 标志的时候(刚按了电源键,振动了一下,马上就显示了,此时正在加载系统),连按几次音量增大键,此时可以看到平板的左上角出现一行英文字母,马上就会进入 Recovery 模式了,进入后可以看到如下图所示的界面。看到这个界面,暂时先不要操作小平板了

ThinkPad Tablet Recovery 模式界面

7)如果……

如果已经成功安装了 adb 驱动,跳过这一步直接到下面的 2. 开始 ROOTing 8),否则再次在电脑里执行前面的第 5)步以安装 ADB 驱动。如果还不能成功安装 adb driver,可以与我联系

8)重起小黑板并重新设置 USB 调试模式。

把小黑板与电脑断开,重新启动小黑板。重起后再重新按照 4)的方法打开小黑板的 usb 调试模式。(2012.04.10 按照菜菜的回复增加此条。)然后继续下面的步骤 2。

2. 开始 ROOT

这一步虽然看着很复杂,可是在高手提供的指导方法下,着实简单。但是一定要注意,下面所有的命令都不能搞错了。所以,还是不要从键盘一个字符一个字符的输入了。复制一个命令行,到命令行窗口(下面会提示如何打开这个命令行窗口)里单击鼠标右键,选择 “粘贴” 就可以了。

1)在电脑里启动远程命令行窗口。

在计算机里找到前面 1. 3)中解压得到的文件夹 yareftpt。按住键盘 shift,同时鼠标右键点击 yareftpt 文件夹,选择 “在此处打开命令窗口”。这就是上面提到的那个命令行窗口了。通过这里,就可以操作小黑板里面的 Android 系统,当然是通过 Linux 命令行的方式。如下图。

ThinkPad Tablet 获取 ROOT 之 yareftpt 命令行窗口

2)使小黑板产生溢出漏洞。

a) 现在看看小黑板,应该还是在刚才那个 Recovery 界面。

b) 按音量键(现在变成上下键了),选定 “apply update from external storage”,然后按一下电源键(现在变成确定键)了。等待它完成,完成后能看到下面的界面,提示应用更新出错 ”Installation Aborted”。

目的达到,现在就可以通过 youftpt 那个远程命令行界面对小黑板内部的安卓系统进行操作了。后面就开始想办法修改权限 —— 当然,高手已经写好了指令和软件,咱照着操作就行了。

应用更新出错,现在可以通过远程命令行对它进行写操作了

c) 再通过音量键选择 “wipe cache partition”,通过按一下电源键确认,让它执行完毕(很快的)。

3)开始 ROOTing 吧。

这时候,在电脑上的那个 yareftpt 远程命令行窗口依次输入下面的命令,并按回车键(电脑键盘上的 Enter 键)确认,让它执行完毕。

注意:

  • 每行一次,不能一次复制几行。
  • 回车后自动换行,并且没有提示错误信息(比如包含 error 或者 no device 或者 not found 之类的词语),就表示成功了,继续输入下一条。
  • 如果不成功,就是前面的某个步骤没有做对。
    • 如果提示 no device,一般就是因为驱动没有安装好(参考前面 1 中的步骤 5)~ 7))。(2012.04.10 按照菜菜的回复增加此条。)
adb shell "/system/bin/mkdir /data/local/pwn"
adb shell "/system/bin/mkdir /data/local/pwn-bak"
adb shell "/system/bin/cat /system/etc/install-recovery.sh > /data/local/pwn-bak/install-recovery.sh.orig"
adb shell "/system/bin/mkdir /cache/recovery/pwn"
adb push su /cache/recovery/pwn
adb shell "/system/bin/rm /cache/recovery/log"
adb shell "/system/bin/ln -s /system/etc/install-recovery.sh /cache/recovery/log"
adb shell "echo \"/system/bin/chmod 777 /cache\" >> /tmp/recovery.log"
adb shell "echo \"/system/bin/mount -t ext4 /dev/block/mmcblk0p4 /cache\" >> /tmp/recovery.log"
adb shell "echo \"/system/bin/chmod 777 /cache\" >> /tmp/recovery.log"
adb shell "echo \"/system/bin/mount -oremount,rw -t ext4 /dev/block/mmcblk0p4 /cache\" >> /tmp/recovery.log"
adb shell "echo \"/system/bin/chmod 777 /cache\" >> /tmp/recovery.log"
adb shell "echo \"/system/bin/chmod 777 /cache/recovery\" >> /tmp/recovery.log"
adb shell "echo \"/system/bin/chown root /cache/recovery/pwn/su\" >> /tmp/recovery.log"
adb shell "echo \"/system/bin/chmod 4777 /cache/recovery/pwn/su\" >> /tmp/recovery.log"

4)回到小黑板上,选择 “disable battery discharge”,确认,等它执行完毕。

5)回到电脑的命令行窗口,使用下面的命令(方法同前)

adb shell "/system/bin/rm /cache/recovery/log"

6)再回到小黑板上,选择 “reboot system now”,确认,等待小黑板重新启动,进入安卓系统。

我在进入安卓系统之后收到了错误提示。实践证明这个没影响。错误提示如下:

系统更新失败的提示

这是可以理解的,刚才我们的确进行了一次升级,而且知道它会失败。不失败我们还没法破解呢。可以不理它,点击“确认”关掉提示。

另外,为了下面的执行更顺利,最好把小黑板的屏幕延时关闭和自动锁定都关掉。当然,不关掉也没事儿。

7)继续到远程命令行窗口执行下面的命令。还是每次一行。

下面一组前面 4 个命令是要向小黑板里面上传文件(push),所以命令执行后会看到传输速度提示,无碍。

adb push Superuser.apk /data/local/pwn/Superuser.apk
adb push busybox /data/local/pwn/busybox
adb push su /data/local/pwn/su
adb push pwn-in.sh /data/local/pwn/pwn-in.sh
adb shell "/system/bin/chmod 777 /data/local/pwn/pwn-in.sh"

继续以下命令,

adb shell

此时,在命令行窗口的最下一行命令之后,应该会出现一个 $ 符号。正常!

继续,

/cache/recovery/pwn/su

如果 $ 符号现在变成了 # 符号,表示已经拥有了临时的 root 权限。

提示 2012.05.03:

最近有 3 位朋友反映,到这里会出现 Permission Denied 的情况。我没有机会测试,不知道是怎么回事,也无法提供解决方案。请注意!

不过同时也有别的朋友说可以成功。我没有机会测试,暂时还不知道是怎么回事。

2012.05.03 提示:

有人可以先刷刷 CWM Recovery 然后再 Root 成功的,建议直接 Root 不成功的朋友试试看。我现在没时间测试这个教程:

51nb上的总结:http://forum.51nb.com/thread-1192496-1-1.html

国外论坛的原文:http://forum.xda-developers.com/showthread.php?t=1458212

还需要继续,

/system/bin/mount -oremount,rw /system
cat /system/xbin/su > /data/local/pwn-bak/xbin-su

8)快结束了 :D

a) 如果此时看到最后一行有出错提示:

/system/xbin/su:No such file or directory

那么恭喜,快完成了。继续,

/data/local/pwn/pwn-in.sh

得到提示:

you should ...

意思是已经 ROOT 完成,重起小黑板就可以了。

b) 如果没看到那行错误提示,嗯,好吧,估计不会,所以先省略了。如果你确实没碰到那行错误提示,请留言。当然,也可以跳转到 ref 3 那个帖子继续。

3. 总结

唉,没想到写这个记录比按照高手的指导搞破解费时间多了。向高手致敬!套用 VPSEE 的一句话,有了 ROOT,你还需要什么呢?!

4. Unroot

当然,如果 ROOT 之后又希望恢复到没有 ROOT 的状态(比如需要送到联想售后维修了),也是可以的。

1)参考前面 2. 中 1) 的方法打开 ADB shell 远程命令行窗口;

2)执行下面的命令,

adb shell
su

此时小黑板可能会问你是否授权执行 root 身份,当然要同意了。

3)依次在 ADB shell 远程命令行窗口执行下面的命令,

mount -o rw,remount /dev/block/system /system
rm /system/app/Superuser.apk
rm /system/xbin/su
rm /system/bin/su

4)重起小黑板,已经没有 root 权限了。

5. 参考资料

  1. ref 1: Dan Rosenberg » Rooting the Thinkpad Tablet
  2. ref 2: ThinkPad Tablet Forum » How To Root And Unroot The ThinkPad Tablet
  3. ref 3: yareftpt – yet another root exploit for TPT
  4. ref 4: 51nb 专门网 » 所有版本都可以完美ROOT了!(已附详细教程)
  5. 非常感谢菜菜通过自己的实践对本文的补充

©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/tpt-rooting/>。转载请保留此信息及相应链接。

62 条关于 “ThinkPad Tablet 之获取 ROOT 权限” 的评论

  1. 汗…
    不是有一键root么!
    这么麻烦啊…
    安卓刷回原厂包又不麻烦…
    3个键加5分钟…

    • 唉,查了半天资料才回复得了你这条留言。
      实际上这个完美 ROOT 方案直到今年 3 月 18 号才出炉。
      之前有网友留言说,“让联想做个稳定点的定制系统就那么难,让他们搞这个防root的倒成了世界难题”。(via
      虽然此前也有 ROOT 方案,但是很难成功,更别说一键搞定了(via 1, via 2)。存在诸如“ROOT以后无法UNROOT失去保修,可以UNROOT之后无法官方升级,ROOT以后无法再UNROOT种种问题。而且官方升级以后ROOT就失效了,而且不能用同样的方法再ROOT”之类的问题。(via
      国外论坛上,网友还为此搞了 2 次悬赏(via 1, via 2)。
      不容易吧。

      • 呃呃呃…刚才回复的怎么消失了…
        联想真悲剧…
        话说我的两个——安卓2.3(手机htc),3.0(平板蓝魔)都是一键root搞定…而且反复n次
        问…如果刷回联想官方rom。保修还会失去么?
        那么联想的不是就不能刷机了?
        买安卓就是为了折腾!

          • 额…rom都不知道多少回了
            不会联想的刷rom还要特殊步骤吧!
            我的那两个步骤差不多…
            下载rom包…解压到空白存储卡
            有zip的那个目录全部移到存储卡根目录
            删除解压后的目录(这就是刷机卡了)
            然后按3个键(网上有,一般3个)进入安卓的维护模式
            选第3还是第4个(不同品牌不同)从存储卡安装
            等待5-10分钟自动重启…
            ok
            刷机完成…取出存储卡或格式化存储卡

            • TPT 也提供了从外置存储卡升级 ROM 的选项。看来是没有多少难度吧。
              用本文的方法获取 ROOT 的方法好处在于没有对原有系统进行破坏(自己获取 ROOT 之后用别的方法破坏的不算),所以不会造成保修问题。
              不过坏处也是显而易见的,很容易被联想通过简单的更新而失去 ROOT。而且,据说很难第二次通过这样的方法获取 ROOT。

      • 请教水景版主:
        1、驱动无法安装的问题,按照您所说的两种方法都用了,也不行,请问还有何好的法子?
        2、在上述文章中,在输入命令时,只要自动回车就算成功了,我在操作时,老是提醒找不到设备,这时也会自动回车的。难道也是成功的标志?建议在文中对输入命令后的结果也给予发表。
        3、在disable battery discharge一步时,老是没有结果,disable battery discharge后一直是省略号,而没有操作完成的任何提示,有何原因,请赐教,谢谢!

        • 非常感谢你前面的反馈建议。现在问题都解决了吧?何不就你前面提出的问题谈谈感想?时间一长我就记不清楚很多细节了。

          • 昨天root 成功,在此过程中,也费了些周折,现将个人周折中的一点感悟与大家分享,希望对想root的机友能有所启发:
            1.关于驱动安装问题:这一步就按着水景版主的方法安装,第一种方法不行,可以试第二种,但在按第二种方法安装完驱动后,一定要把小黑与电脑断开后重启,再设置中打开usb调试选项。因为我在此费了不少周折,在rocovery 模式下安装了驱动以后,小黑的usb调试设置就已经发生了变化,所以一定要重启,重设后,再进行后继的其它步骤。
            2、关于输入命令如何算成功的问题,我是这样理解的,不管操作是否成功,命令提示符都会自动回车,可以没有任何提示,但关键不能出现诸如:no device之类的错误提示。如果出现此类提示,肯定是不成功的。
            3、在disable battery discharge一步时,老是没有结果,disable battery discharge后一直是省略号,而没有操作完成的任何提示。经过昨天的实际操作,可以不用管它,在执行这一步时,时间很短,不用等它出现completed的提示。
            4、root 能否成功的一个很重要的里程碑是命令提示符变成#,如果这一点实现了,基本也就ok了,否则,还得重来。一点周折中的感悟,不一定正确,也许是瞎猫碰了死耗子,请各位悠着点拍,谢了!

  2. 看篇幅我都晕了,你可真能折腾,这点与我党一贯主张成尖锐对立。
    我用Android也算有一段时间了,从来不root。

    • 哈哈,篇幅太长是因为废话太多了。
      我这也是被我党和联想逼得,没办法。

  3. 引用通告: ThinkPad Tablet 之安装 Google 服务 | 水景一页

  4. 安装ADB驱动没办法安装怎么办,直接到第6步么?

  5. 我走到7.recorvery内选择reboot 确认重启,等待进入系统后解锁,(最好把屏幕延时和自动锁定都关掉)还是正常,和你说的一样,可是到下面就输入不了了,写什么error:
    device not found
    8.命令行继续输入以下命令

    adb push Superuser.apk /data/local/pwn/Superuser.apk
    adb push busybox /data/local/pwn/busybox
    adb push su /data/local/pwn/su
    adb push pwn-in.sh /data/local/pwn/pwn-in.sh
    adb shell “/system/bin/chmod 777 /data/local/pwn/pwn-in.sh”
    这个我要是重启后进系统中怎么写也还是这句话(error:
    device not found),要是进入recovery里前三句可以写,有速度显示,第四句写不进去,提示-exec ‘system/bin/sh’ failed:No such file or directory-
    请问这个怎么办?我应该怎么做才好?

  6. 也就是说,第7步重启没有问题,就是进系统后不能写命令?!重新进入recovery里,可以写前三个命令!

  7. 博主您好,我按照您的文章,以及您给出的一些链接操作,发现每次到adb shell之后运行su获得临时最高权限那一步总是失败,提示permission dennied。但是我不知道是哪里出了问题,我可以确定我严格按照您的文章中写到的方法操作了,电脑的ADB驱动也确实装好了,因为tablet在正常运行和recovery模式下都能正常显示lenovo adb interface的硬件的~
    那么问题会出在哪里呢?我的电脑一直没有识别MTP USB这个硬件,会和它有关么?
    肯定博主帮忙啊~~~

    • 另外,由于我这个tablet是刚刚买的,有没有可能联想在新发放的tablet产品中专门针对用户的root行为做了修改呢?

        • 我也就是猜测啊……因为我从昨晚到现在已经按照几个不同版本的root教程做了不下十遍了,但是每次都在相同的地方 出问题~还有个问题,除了第一次意外,是不是后头每次root的时候在recovery模式下运行的最前头两句话就都会提示失败啊?因为我看失败的错误提示是文件夹已存在,那两个命令确实是建立文件夹,所以应该没影响吧?后头的命令输入就都是光自动换行了,除了传输数据的push命令~
          还是急需帮助中啊……

          • 是你理解的这样。
            Permission denied 肯定是因为前面什么地方搞错了。估计是第 2 大步的 2)、3)或者 7)之中的某个地方有问题。注意看命令执行的输出结果。如果有可能的话就都截图,我可以帮你看看。

    • 我也遇到过这样的事情。只能重新做一遍。
      但是重做到第 2 步的第 6)小步那里的时候不要点击确定,而是直接跳到第 7)小步试试看。并且,注意看第 7)小步的前 5 条命令执行的结果是不是有什么错误。
      如果你不确定有什么错误没有,可以你可以截图下来发到我邮箱,我帮你看看有没有错误。因为这些命令都是在 Windows 下的命令行窗口里执行的,很容易截图。

  8. 恩~那我根据您的建议再试试去哈~非常感谢啊~

  9. 博主您好,这是我刚才尝试root的cmd操作记录:

    进入recovery模式,安装更新,提示installation aboard,再wipe cache partion,之后再cmd下输入命令如下。
    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /data/lo
    cal/pwn”
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    mkdir failed for /data/local/pwn, File exists

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /data/lo
    cal/pwn-bak”
    mkdir failed for /data/local/pwn-bak, File exists

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/cat /system/et
    c/install-recovery.sh > /data/local/pwn-bak/install-recovery.sh.orig”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /cache/r
    ecovery/pwn”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push su /cache/recovery/pwn
    466 KB/s (22364 bytes in 0.046s)

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/rm /cache/reco
    very/log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/ln -s /system/
    etc/install-recovery.sh /cache/recovery/log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
    77 /cache\” >> /tmp/recovery.log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/mount –
    t ext4 /dev/block/mmcblk0p4 /cache\” >> /tmp/recovery.log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
    77 /cache\” >> /tmp/recovery.log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/mount –
    oremount,rw -t ext4 /dev/block/mmcblk0p4 /cache\” >> /tmp/recovery.log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
    77 /cache\” >> /tmp/recovery.log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
    77 /cache/recovery\” >> /tmp/recovery.log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chown r
    oot /cache/recovery/pwn/su\” >> /tmp/recovery.log”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 4
    777 /cache/recovery/pwn/su\” >> /tmp/recovery.log”

    在recovery里选择disable battery discharge

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/rm /cache/reco
    very/log”

    选择reboot system重新启动tablet之后进入系统,看到升级失败的错误提示(这里我试了一下不选择“确定”而是直接开始下面的push命令~)

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push Superuser.apk /data/local/pw
    n/Superuser.apk
    1246 KB/s (843503 bytes in 0.661s)

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push busybox /data/local/pwn/busy
    box
    1253 KB/s (1867568 bytes in 1.455s)

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push su /data/local/pwn/su
    1399 KB/s (22364 bytes in 0.015s)

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push pwn-in.sh /data/local/pwn/pw
    n-in.sh
    38 KB/s (1232 bytes in 0.031s)

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/chmod 777 /dat
    a/local/pwn/pwn-in.sh”

    E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell
    $ /cache/recovery/pwn/su
    /cache/recovery/pwn/su
    /cache/recovery/pwn/su: permission denied
    $

    不知道我这样做到底是哪里出问题了呢?
    我用到的升级补丁,root程序和ADB driver都是按照文提供的地址下载的,在计算机里不管tablet处于recovery模式还是正常在系统中,都可以识别为lenovo thinkpad tablet ADB interface。

    我已经完全被打败了……只能来求助了……

    • 真是同情你啊。
      如果在你最后出错的这个地方先输入:
      adb shell “/system/bin/chmod 777 /cache/recovery/pwn/su”
      然后再继续呢?你可以试试看。

      • HaoXian Zeng您好,这是我按照您的建议操作的记录:
        Apply update from external storage
        wipe cache partition

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /data/lo
        cal/pwn”
        mkdir failed for /data/local/pwn, File exists

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /data/lo
        cal/pwn-bak”
        mkdir failed for /data/local/pwn-bak, File exists

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/cat /system/et
        c/install-recovery.sh > /data/local/pwn-bak/install-recovery.sh.orig”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /cache/r
        ecovery/pwn”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push su /cache/recovery/pwn
        949 KB/s (22364 bytes in 0.023s)

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/rm /cache/reco
        very/log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/ln -s /system/
        etc/install-recovery.sh /cache/recovery/log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
        77 /cache\” >> /tmp/recovery.log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/mount –
        t ext4 /dev/block/mmcblk0p4 /cache\” >> /tmp/recovery.log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
        77 /cache\” >> /tmp/recovery.log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/mount –
        oremount,rw -t ext4 /dev/block/mmcblk0p4 /cache\” >> /tmp/recovery.log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
        77 /cache\” >> /tmp/recovery.log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
        77 /cache/recovery\” >> /tmp/recovery.log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chown r
        oot /cache/recovery/pwn/su\” >> /tmp/recovery.log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 4
        777 /cache/recovery/pwn/su\” >> /tmp/recovery.log”

        Disable battery discharge

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/rm /cache/reco
        very/log”

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push Superuser.apk /data/local/pw
        n/Superuser.apk
        1326 KB/s (843503 bytes in 0.621s)

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push busybox /data/local/pwn/busy
        box
        1316 KB/s (1867568 bytes in 1.385s)

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push su /data/local/pwn/su
        949 KB/s (22364 bytes in 0.023s)

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push pwn-in.sh /data/local/pwn/pw
        n-in.sh
        150 KB/s (1232 bytes in 0.008s)

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/chmod 777 /dat
        a/local/pwn/pwn-in.sh”

        第一次使用Haoxian Zeng建议的命令
        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/chmod 777 /ca
        che/recovery/pwn/su”
        “/system/bin/chmod: not found

        E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell
        第二次使用Haoxian Zeng建议的命令
        $ adb shell “/system/bin/chmod 777 /cache/recovery/pwn/su”
        adb shell “/system/bin/chmod 777 /cache/recovery/pwn/su”
        * daemon not running. starting it now on port 5038 *
        * daemon started successfully *
        error: device not found
        $ /cache/recovery/pwn/su
        /cache/recovery/pwn/su
        /cache/recovery/pwn/su: permission denied
        $

        貌似是出现了device not found的错误,不知道是和adb driver的安装有关么?
        我在设备管理器里检查,android device下的adb interface硬件工作正常,便携设备下的Lenovo Thinkpad Tablet不正常。
        有这方面的问题么?
        十分感谢您的帮助!

        • 照你描述的情况,我分析可能原因是:
          1、溢出漏洞没有完成,导致后面一系列 echo 进去的命令没有按照预想执行(而且你也看不到反馈信息,因为是在重起过程中自动执行的)。这样的话基本上没可能通过这样的方法 ROOT 了。
          2、ABD 驱动没装好。你提到的那个不正常不知道是什么,应该是没有的。
          如果需要,我明天晚上可以帮你看看。

          • 十分感谢您的热心帮助!
            如果用这个升级包无法制造溢出漏洞的话,是不是需要换其他升级包试试或者寻找其他方法制造溢出漏洞呢?
            请问如何和您取得联系?我明天晚上恭迎大驾光临啊~~~:-)

  10. 博主你好,我请问关于THINKPAD ROOT(http://cnzhx.net/blog/tpt-rooting/)中,我操作到
    2)使小黑板产生溢出漏洞。
    a) 现在看看小黑板,应该还是在刚才那个 Recovery 界面。

    b) 按音量键(现在变成上下键了),选定 “apply update from external storage”,然后按一下电源键(现在变成确定键)了。等待它完成,完成后能看到下面的界面,提示应用更新出错 ”Installation Aborted”。
    这步,按了电源键之后没有 ”Installation Aborted”,而是“E:failed to mount / sdcard (no such file or directory)”.
    请问,该怎么办?

    • 1)不是 root,而是正常情况下,你的系统能看到插入的 SD 卡里的文件吗?
      2)如果上述答案肯定,你是否将下载的那个文件放到了 SD 卡的根目录?

    • 搞定了,发现之前的原因可以通过利用THINKPAD TABLE中,“设置—存储—格式化SD卡”解决。

        • root没有成,
          “/cache/recovery/pwn/su”后
          $ 符号没有变成了# 符号,怎么回事呢?之后就显示“permission denied”

          • 最近,包括你,有3个人反映这样的情况了。看来是这个方法不好用了吧。
            我没有机会测试,说不准。

        • 那请问,之前这样ROOT到一半,开机出现ERROR,对于机器有影响吗?

          • 这个可以确定的告诉你,没有影响!
            我这几天主要是没时间,不然就通过远程协助帮你看看了。

  11. 我也是出现了“permission denied”
    这个还没有解决方法吗?我也是全新机器,以前没有root过啊

  12. 引用通告: 关于 ThinkPad Tablet 小黑板 Root 的问题 | 水景一页

  13. 楼主好,非常感谢详细教程,请问我的电脑在连接小黑板后提示MTP设备驱动怎么回事?是XP系统

    • 应该是 ADB 驱动没有装好(http://cnzhx.net/blog/tpt-rooting/#adb-driver),你多多摸索,重新安装试试。

  14. 引用通告: 升级 ThinkPad Tablet 到 ICS4.0.3 | 水景一页

  15. 我的tablet 进入安卓系统后在pc的设备管理器中能看到android device下的adb interface,便携设备下的Lenovo Thinkpad Tablet;但是在recovery模式下,就看不到这些,为什么呀!!

    • 我的也是这样啊。估计是因为系统没有加载就不向 Windows 通知自己“上线”了吧。

      • 这种情况再继续root的话 ,就出现了error device not found

  16. 谢谢博主的热心,我的升级成了4.03,回复出厂值发现版本还是4.03

  17. 引用通告: 工程模式 ROOT ThinkPad Tablet | 水景一页

  18. PC端:Win7 32bit
    黑板端:4.03
    小黑板处于正常开机时,windows可以认出android phone(Lenovo ThinkPad Tablet ADB Interface)和便携设备(Lenovo ThinkPad Tablet)。
    进入Recovery模式后,更新溢出报错–>清除缓存,都没有问题。然后使用yareftpt 远程命令行进行root,第一句命令执行后可以在命令行看到一个写入的过程(出现了两行* xxxxxx *),但最后报了个device not found。
    再次尝试时发现,recovery模式下,windows认不到设备了。运行命令直接报no device了。

    • 你说的第一句命令是指的 2.3) 那里列出的命令吧? mkdir 表示创建文件文件夹。前面几行命令没有实质性的改变什么东西,应该不会造成系统问题。
      据说 4.0.3 版本已经修复了此漏洞,你应该先试试 http://cnzhx.net/blog/apx-root-thinkpad-tablet/ 这个方法,这才是针对 4.0.3 系统的方法。

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)