为什么自定义ROM需要root访问权限?


15

我想清楚一点,正如我的问题所表明的那样,我通常对移动设备一无所知,因此,如果这是常识,我深表歉意。

假设我要将自定义ROM安装到设备上,那么看来我需要root访问权限。我可以从每个网页上找到有关如何生根设备的信息,但无法找到为什么需要生根设备的方法。我知道生根设备只是给了我该设备的根访问权限,但是为什么需要这样做?如果我将电话连接到PC,那是否无法访问设备的整个文件系统?如果是这样,那我为什么不能用我想要的任何ROM覆盖FS的相关部分?

另外,为什么生根和使用自定义ROM会使设备变砖?我不能只覆盖导致原始磁盘问题的ROM(我想备份!!)。


5
If I connect the phone to a PC then doesn't that give me access to the entire file system of the device?-默认情况下,不,不是。它使您可以访问文件系统的特定部分(“外部”存储)。
eldarerathis


@ t0mm13b这些问题都无法回答“ 为什么”的部分。猜猜我会继续在这里放东西。
伊齐

Answers:


16

简短答案:

出于安全和保修的原因。

详细答案:

大多数(不是全部!)设备制造商大多会采取这种预防措施,以免它们因“玩耍的小子”(以及那种想尝试一切,即使他们不了解任何东西的人)提出的过多服务请求而免于被接受。因此,这些制造商采取了特殊措施来避免刷新“自定义ROM”(或更准确地说,是他们自己提供的任何ROM )。

正如t0mm13b在上面的评论中已经指出的那样,默认情况下,您不会仅通过USB连接来物理访问设备文件系统。根据设备,Android版本以及其他一些条件,您只会看到部分内容。这可能是整个SD卡(物理的,处于UMS模式),甚至可能只是通过MTP对其部分的“逻辑”访问。启用USB调试时,可以通过ADB获得更多特权访问-但是使用备用ROM,在任何一种情况下,您都没有完全访问权限

现在如何完成更新?一种非常常见的做法是使用特殊的ZIP文件(update.zip)。将其放置在插入设备的SD卡上,然后将设备引导到特殊模式(恢复),update.zip可以从中应用该模式。但是:设备会检查其完整性update.zip-必须使用制造商的密钥进行签名。由于明显的原因,该密钥不是免费提供的-因此无法在这种备用系统上以这种方式安装自定义ROM。

只有超级用户访问设备,才能规避所有这些问题-这意味着:您必须将其root。

因此,这是针对WHY部分的-而未处理生根的HOW部分。正是您所要求的:)


更新以获取更多详细信息

正如Liam在他的评论中指出的那样,使用fastboot该方法可以在不使设备植根的前提下刷新定制ROM的过程,我做了更多的研究来发现这一点。我将继续调查,但仍想在此添加我的第一个结果。

在一定程度上,Liam是正确的:它不仅对三星设备有效(正如我首先假设的那样),而且其他一些设备(并非全部)也支持此方法,而无需涉及root(事实是当然,大多数自定义ROM都将是root发行的-因此安装它们,您将拥有root可用)。但是,有些设备似乎甚至需要root用户身份fastboot flash(例如,有关Iconia A100的TheUnlockr,引用:在执行此过程之前您必须已对设备进行了root用户操作-是的,fastboot flash recovery recovery.img之后才使用)。

但是,即使fastboot适用于无根设备,也要考虑一个关键点:

要使用快速启动为Android设备刷新ROM,您必须具有未锁定的引导程序或工程引导程序

闪烁指南-Android-XDA-Developers

这意味着:如果您的引导加载程序已锁定,则需要先对其进行解锁,这将擦除(恢复出厂设置)您的设备。因此,所有数据都将以这种方式永久消失-而使用root用户,您可以在执行此步骤之前进行完整的备份(Nandroid,Titanium Backup)。但是,从Android 4.0开始,这不再是一个真正的问题-因为您可以通过ADB进行完全备份(请参阅:非root用户设备的完全备份


摘要:

在刷新自定义ROM之前,需要先植根设备。如果您的设备属于此类别,则为什么要访问根目录以刷新自定义ROM的原因如上所述。

但是:也有一些设备可以不使用根目录fastboot 进行刷新。如果您的设备属于该类别,那么为什么要刷新自定义ROM所需的root访问权限就变得无效(答案不是,因为ex quodlibet sequitur(“ false可以跟随任何东西”)),您可以从错误的前提得出任何结论。 :)

即:如果需要生根,则以上为WHY


1
您实际上不需要 root即可在大多数设备上安装自定义ROM;)
Liam W

@LiamW正如我的问题所指出-我对移动操作系统非常无知,Izzy的声誉为13.3k,这表明他比我了解这件事还多两点。因此,我认为他的答案是完全正确的,因为我对此一无所知。他的回答也获得最高投票(再次表明这在技术上是正确的)。不过,如果您认为他的答案不正确,请随时更新您的答案,如果投票数有所变动,我将更改接受的答案。
R4D4

1
@LiamW您的意思是“在大多数三星设备上”。对不起,我从未见过可以根除自定义ROM的设备,抱歉,我看到了一些设备。好吧,我远离了塑料轰炸机... XD从技术上来说,您的最后评论是不正确的:D
Izzy

1
它是一个鸡和鸡蛋...您需要root才能刷新自定义ROM,并且要刷新自定义ROM,通常需要具有rooted恢复环境的解锁的引导加载程序...以及rooted恢复环境作为CWM / TWRP .... catch-22!
t0mm13b 2013年

1
@ R4D4可接受的答案应该是对您最大的帮助。如果您无法完全评估答案,那么完全可以接受。仅仅因为它是最高的,或者是来自那些声望很高的人而接受最高的答案,就绝对不被接受。归根结底,尽管这是您的决定,但没有人会告诉您不同的说法。
马修(Matthew)

7

通常,您不需要root手机即可安装自定义ROM,而必须root用户手机来安装用于安装custom ROM的机制(例如自定义恢复映像)。

某些手机​​具有可解锁的引导加载程序-您可以通过引导加载程序来刷新引导文件和system.img文件,而无需root用户。

您也可以使用fastboot刷新自定义恢复映像,而无需植根

您将需要安装自定义恢复,因为库存恢复会检查更新zip是否已签名-大多数自定义ROM zip 均未签名。

如果您的设备不支持快速启动,则可能需要root用户安装自定义恢复映像,但通常不需要这样做-它仅随安装的映像一起提供。

三星设备具有下载模式-无需扎根即可使用该模式,您只需要ODIN。

如果我将电话连接到PC,那是否无法访问设备的整个文件系统?如果是这样,那我为什么不能用我想要的任何ROM覆盖FS的相关部分?

不,不是。它授予您只读访问权限,因此您不能覆盖目录中的/system文件。根可用于使其/system可读写。


1
“通常,您无需root用户即可安装定制ROM,而必须root用户具有安装定制ROM的机制(例如,定制恢复映像)。” 归根结底,您确实需要root才能从拥有现货的OS到自定义ROM?
GAThrawn

1
@GAThrawn没有。您可以使用fastboot刷新自定义恢复。您不需要root即可访问fastboot(有时您需要使用fastboot来访问root)
Liam W

1
但是,许多非三星设备没有可解锁的引导加载程序(尤其是较旧的引导加载程序),因此您必须先以某种方式利用该引导加载程序或以其他方式安装该恢复程序(ROM Manager / Goo Manager),才能刷新自定义恢复。通常这确实涉及生根,尽管并非总是如此。我认为这就是@GAThrawn和其他人试图达到的目标。越来越多的制造商开始着手提供引导加载程序解锁工具,但许多制造商仍然没有。例如,众所周知,与其他设备相比,摩托罗拉设备很难获得定制的ROM。
eldarerathis
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.