- 积分
- 1177
- 最后登录
- 2024-3-28
- 精华
- 0
- 阅读权限
- 40
- 主题
- 81
- UID
- 60713
- 帖子
- 1518
- PB币
- 3540
- 威望
- 95
- 贡献
- 0
- 技术
- 724
- 活跃
- 1796
- UID
- 60713
- 帖子
- 1518
- PB币
- 3540
- 贡献
- 0
- 技术
- 724
- 活跃
- 1796
|
发表于 2013-4-30 01:24:37
IP属地北京
|显示全部楼层
本帖最后由 dlhxr 于 2013-5-2 14:33 编辑
完整方案(手动root,适用于目前所有版本)
我们总共要修改两个文件,一个是initrd.img,另一个是Root.fs,都位于C:\ProgramData\BlueStacks\Android\下。
1.修改initrd.img(可以在windows下面操作)
首先要安装7zip和notepad++,方便修改文件,下载地址大家自己找~
右键使用7zip打开initrd.img,把initrd拖出来并使用notepad++修改。
找到- try_mount ro $device /mnt || continue
复制代码 这行,这个应该在"for device in /dev/sr* /dev/sd....."后面。
然后把这行替换成- try_mount rw $device /mnt || continue
复制代码 保存,再把修改过的initrd拖入用7zip打开的initrd.img。
2.修改Root.fs(必须在linux下操作,ubuntu虚拟机即可)
把附件中的busybox、su和Superuser.apk放到linux系统当中(必须使用附件的,因为我已经做了对应修改,具体修改方法请看3楼),再将C:\ProgramData\BlueStacks\Android\Root.fs拷贝到linux系统中,我把它们放在了桌面上的BSroot文件夹中,即busybox的路径为/home/dlhxr/Desktop/BSroot/busybox,其他的依此类推,注意大小写~
需要的几个文件
Bluestacks_Root_Essential.rar
(1.9 MB, 下载次数: 703)
具体的修改过程主要翻译自xda的一篇文章。(#号后面是注释内容,大家执行不带#号行的命令即可)
Root_Script.zip
(1008 Bytes, 下载次数: 179)
一个linux的shell自动脚本,大家可以稍微修改就可以自己用了~- #Switch to work directory 转入工作路径,路径注意修改成自己的
- cd /home/dlhxr/Desktop/BSroot
- # Take a root permission 获取linux系统root权限
- sudo su
- # It will ask you for a root password 将会询问你的用户密码
- # Create a working folders 创建工作文件夹
- mkdir /b
- mkdir /b/root
- mkdir /b/system_sfs
- mkdir /b/system_img
- # Resize Root.fs to 300 MB 把Root.fs放大到300M
- e2fsck -f -y Root.fs
- resize2fs -f Root.fs 300M
- # Mount Root.fs to root folder 把Root.fs挂载到/b/root下
- mount -o loop Root.fs /b/root
- # Mount system.sfs to system_sfs folder 把system.sfs挂载到system.sfs文件夹下
- mount -o loop /b/root/android/system.sfs /b/system_sfs
- # Extract system.img to /b folder 提取system.img到/b/root/android
- cp /b/system_sfs/system.img /b/root/android
- # Resize system.img 放大system.img到280M
- e2fsck -f -y /b/root/android/system.img
- resize2fs -f /b/root/android/system.img 280M
- # Unmount system_sfs and delete it (make sure the command not unmount) 卸载system.sfs镜像并删除,注意是umount命令而不是unmount。
- umount /b/system_sfs
- rm /b/root/android/system.sfs
- rmdir /b/system_sfs
- # Mount system.img into system_img 把system.img挂载到system.img文件夹
- mount -o loop /b/root/android/system.img /b/system_img
- # Copy "Superuser" & "su" binary, busybox files 把Superuser.apk、su、busybox拷贝进system.img
- cp Superuser.apk /b/system_img/app
- cp su /b/system_img/bin
- cp su /b/system_img/xbin
- cp busybox /b/system_img/xbin
- chmod 6755 /b/system_img/bin/su
- chmod 6755 /b/system_img/xbin/su
- # Un mount system_img & delete folder 卸载system.img镜像并删除其挂载点
- umount /b/system_img
- rmdir /b/system_img
- # Set Permission for system.img 修改system.img的权限
- chown 0:2000 /b/root/android/system.img
- chmod 0644 /b/root/android/system.img
- # Unmount root and save changes into Root.fs 保存对Root.fs的修改并卸载
- umount /b/root
- rmdir /b/root
- rmdir /b
复制代码 3. 用修改过的两个文件覆盖C:\ProgramData\BlueStacks\Android\下的Root.fs和initrd.img即可,建议将原来的文件先改名备份。如果无法覆盖或改名,则win+r启动运行对话框,输入(分别对应64位系统和32位系统)- %programfiles(x86)%\BlueStacks\HD-Quit.exe
- %programfiles%\BlueStacks\HD-Quit.exe
复制代码 再进行操作即可。
|
-
3
查看全部评分
-
|