精华内容
下载资源
问答
  • 详细描述了修改制作Boot文件的方法,并且附带了win32、win64使用的安卓厨房工具。
  • 先介绍android系统的启动机制,然后普及了下安卓系统病毒的特征,最后步入正题讲boot分区病毒检测和清楚的方法 Android系统各分区简介 主流手机存储设备类型 Boot分区病毒简介 典型BOOT分区病毒例子分析 BOOT分区...
  • BOOT分区更新器是目前非常实用的安卓刷机辅助类小工具,此工具运行于PC端,...当HTC手机无法刷入BOOT文件,或者需要更新BOOT分区时,方便、快速地帮助用户完成更新和替换,其过程不需要用户做任何操作,安全、简便。
  • 如何清理boot分区

    2015-03-10 10:12:06
     /boot分区空间剩余不足,需清理掉无用的旧内核。 1. 查看内核 dpkg --get-selections|grep linux-image 命令结果如: linux-image-3.13.0-32-generic install linux-image-3.13.0-34-generic install linux...

    PS:原创文章,如需转载,请注明出处,谢谢!     

    本文地址:http://flyer0126.iteye.com/blog/2190925

        

          今天利用“apt-get install ”安装时遇到“gzip: stdout: No space left on device”错误,利用df -h查看如下:

    文件系统        容量  已用  可用 已用% 挂载点
    /dev/sda1        14G   12G  2.1G   85% /
    none            4.0K     0  4.0K    0% /sys/fs/cgroup
    udev            1.9G  4.0K  1.9G    1% /dev
    tmpfs           392M  1.3M  390M    1% /run
    none            5.0M     0  5.0M    0% /run/lock
    none            2.0G   21M  1.9G    2% /run/shm
    none            100M   52K  100M    1% /run/user
    /dev/sda2       440G   51G  367G   13% /home
    /dev/sda3       115M   98M  8.3M   93% /boot

           /boot分区空间剩余不足,需清理掉无用的旧内核。

    1. 查看内核
    dpkg --get-selections|grep linux-image
    
    命令结果如:
    linux-image-3.13.0-32-generic			install
    linux-image-3.13.0-34-generic			install
    linux-image-3.13.0-45-generic			install
    linux-image-3.13.0-46-generic			install
    linux-image-extra-3.13.0-32-generic		install
    linux-image-extra-3.13.0-34-generic		install
    linux-image-extra-3.13.0-45-generic		install
    linux-image-extra-3.13.0-46-generic		install
    linux-image-generic				install
    
    2. 查看现在使用的内核心
    uname -r
    
    命令结果如:
    3.13.0-34-generic
    
    3. 把不再使用的内核用apt-get purge命令卸载掉。执行如下:
    sudo apt-get purge linux-image-3.13.0-32-generic

     

    展开全文
  • boot分区是系统启动中最重要的部分,如果服务器由于病毒攻击又或者被管理员误删除了boot分区。那么就会存在潜在的风险。为什么说是潜在的风险?因为boot分区被删除后系统仍在继续运行,看似无状况但是在执行关机操作...

    img_5b7642b782eefc4bf667734a0c991c85.png

    boot分区是系统启动中最重要的部分,如果服务器由于病毒攻击又或者被管理员误删除了boot分区。那么就会存在潜在的风险。为什么说是潜在的风险?因为boot分区被删除后系统仍在继续运行,看似无状况但是在执行关机操作后就会无法启动。

    大致步骤

    1.挂载CentOS系统镜像
    2.进入救援模式
    3.修复fstab文件
    4.再次进入救援模式
    5.从新安装内核文件
    6.安装grub
    7.手动修复grub
    8.重启进入系统

    恢复过程

    1.首先查看系统的磁盘情况,根目录在逻辑卷,boot分区为普通文件系统。注:boot分区只能在基本文件系统。
    然后将fstab文件移出,将boot分区下所有文件删除,模拟系统出现故障。确认boot分区下没有任何文件。

    img_0d92c8ee8c921560cd85524619da1cd2.png

    2.重新启动操作系统会出现如下图所示,为什么这个磁盘设备连boot分区都没了系统还将这个设备当做启动设备呢?那是因为BIOS根据设定好的顺序寻找第一个有MBR信息的磁盘设备,只要有MBR信息不论能不能启动都会把这个设备当做启动设备。如图所示即/boot分区与fstab文件全部丢失的情况

    img_fb606c83f6c62796c424b383ea31a47a.png

    3.再重新启动,设定bios优先从光盘启动,然后选择第三个,进入救援模式
    img_9fb84a96e44026d30e385b490289bd34.png

    4.一路回车一路yes,直到下图所示选择no不开启网络功能,因为这次主要演示从光盘的救援模式修复,所以没有必要启动网络服务。如果当前环境下没有光驱,那么可以开启网络服务进行修复,网络修复等下次再演示。

    img_31e86be0fb5b4cd3850b6f8fffd1a011.png

    5.救援系统启动后有一个任务就是将你原操作系统的根挂在到救援系统中/mnt/sysimage。由于fstab文件也被我删除了,所以救援系统无法找到原系统的磁盘路径,也就谈不上挂载原系统的根了,所以首要任务就是先修复/etc/fstab文件。
    img_e4d456a7f543c6faf5461e182cf19952.png

    6.使用blkid命令查看当前系统中的设备信息,发现只有2个分区。一个为ext4格式,一个为逻辑卷格式。我这里搭建的环境比较简单如果在生产中应该会有多个分区。从图上新信息分析出/dev/sda1为boot分区,/dev/sda2卷组。
    img_ec083fb6438b0e5bc8dd3bb899399e92.png

    7.既然知道根分区在在逻辑卷中,那么使用lvdispaly命令查看逻辑卷分区。黄色框中说明逻辑卷是非激活状态。
    img_0c2d17a0c589c5844239b24056f96fca.png

    8.lvsacn查看逻辑卷的状态,此时显示为非激活状态。vgchange -ay激活所有逻辑卷。lvscan再次查看逻辑卷状态,对比第一次已经从inactive变为active(激活)
    img_dbb8ffaabf445849895acd620bc987c3.png

    9.再使用blkid命令查看设备信息,发现多了2个设备信息,这就是逻激活逻辑卷后显示出来的。如果分区多的话那就通过手动逐一挂载后进到分区中去,查看分区中的各目录分析各分区的作用。在这里很容易分辨出一个是root分区一个是swap分区。

    img_4c0c1cc1cb9103c0d27968b9c6f406b6.png

    10.创建挂载点,将root分区挂载至挂载点

    img_eb6a2817cbe9882d309e53c888736056.png

    11.手动创建fstab文件,按照fstab文件的格式填写相应的分区信息
    img_ea93037d4c16e0d39de106ab38472a36.png

    img_c69e7c75fc6e3df6385caa389c5c1cea.png

    12.重新启动后再次进入救援模式,救援模式会提示将原操作系统的根挂载到/mnt/sysimage,此时标志着/etc/fstab文件已经修复完成

    img_384eb5d799554886d433b25e4e1c7b28.png

    13.进入救援模式,首先要切根,然后挂在光盘,安装kernel文件
    img_ce65fad35bf31f1baaa0e6eecf61b304.png

    14.查看boot分区,目录内出现一堆文件,包括内和文件与伪根文件系统表明kernel安装完成
    img_dceb524f5aaac27929014d9e3fdbdd0a.png

    15.安装grub,安装时指定磁盘设备,而不是分区。然后sync同步分区一定要多同步几次。

    img_88a8ac9fa1642b0215fdaf5906ca23ca.png

    16.再次查看boo分区,如果出现grub目录,就表示grub已经安装完成。

    img_9eaae6c8130de7b106aef5b1894dce6d.png

    17.手动创建grub,红色框中为设定根目录,一定要写根分区而不是磁盘。

    Paste_Image.png

    18.再次开机出现grub界面,按下回车系统正常启动!

    img_b1d1b87422f3002b73a8e48bba75a6c5.png

    展开全文
  • file "/system/bin/install-recovery.sh" doesn't have any of expected sha1 sums; checking cache failed to stat "/cache/saved.file": No such file or directory failed to load cache file ...
  • 这里具体不知道如何操作了,直接在手机目录上操作应该是不靠谱的,也根本看不到boot分区。我想应该是在编译安卓源码的时候把这个文件加进去,但是不知道加在哪里。。。 有大神指点一下吗?非常感谢!
  • 安卓查找boot分区 数字总是很有趣! 您正在组织一次黑客马拉松,并决定为获奖者提供免费的云存储作为奖励。 对于奖金,您拥有1024 GB的云空间。 您将以在马拉松竞赛中更高的位置获得更大空间的条件来提供这些...

    安卓查找boot分区

    数字总是很有趣!

    您正在组织一次黑客马拉松,并决定为获奖者提供免费的云存储作为奖励。 对于奖金,您拥有1024 GB的云空间。 您将以在马拉松竞赛中更高的位置获得更大空间的条件来提供这些千兆字节的数据。 由于您希望使尽可能多的参与者感到高兴,因此您想找到要为其奖励的最大席位。 这意味着,如果您只有8 GB的可用空间,那么您将总共拥有3个职位-获胜者获得5 GB,亚军获得2 GB,排在第三位的人获得1 GB(可能会有其他变化-4,3和1 GB,但8 GB的位置数仍为3)。

    那么您如何解决呢? 请注意(如以上示例所示),对于给定数量的职位(我们称其为p ),可能存在多种分布。 实际上,这归结为以不同的较小数字的总和表示一个数字,使得这些数字越多越好。 对于8个演出,我们可以选择8 = 7 + 18 = 5 + 3的形式 ,但这并不是最佳选择,因为8可以表示为多个数字之和,例如在8 = 5 + 2 +1 。 可以为解决此问题增加便利的数学概念是分区的概念-Wikipedia引用正整数n (也称为整数)的分区 分区,是将n表示为正整数之和的一种方式。 因此,在我们的情况下,我们只想计算512的分区,该分区具有尽可能多的数字。 为了进行对话,我们将其称为最大分区

    在计算机科学中,此问题属于一类问题,其解决方案使用贪婪算法-这些过程在解决方案的每个阶段都做出局部最优选择,以期寻求全局最优。

    解决我们的示例的“贪婪”方法如下:以1作为第一个被乘数似乎不自然吗? 剩下的就是将7表示为最大分区,并向其添加1。 但是现在将7表示为最大分区有一个约束-我们不能使用1。因此,我们使用2并继续将8-(1 + 2)= 5表示为最大分区。 同样,为此,我们不能使用1和2。我们也不能使用3或4,因为那样我们最终将分别再次使用2和1。 因此,我们仅将5表示为自身,我们完成了—现在,我们的最大分区为8 = 1 + 2 + 5 。 可以很容易地表明,当我们最初想要弹出的数字(此处为3 )至少是剩余数字(此处为5 )的一半时,就会出现这种最终条件。 我把那部分留给你弄清楚。

    因此,更正式地讲这个策略-考虑我们最初有两个数字n = 8l = 1 。 如果n≤2l 我们简单地将n表示为本身,否则我们弹出l ,然后解决将n-1表示为最大分区的子问题,以使分区中的每个数字至少为l + 1。 该子问题的l值比原始问题大1。 因此,对于我们的代表8作为最大分区的示例(N,L),我们首先弹出1,然后求解子(NL,L + 1),(7,2)。 对于这个子问题,我们弹出2,然后求解子(7 -2,2 + 1),(5,3)。 现在,由于5≤2x3 ,我们只弹出5就完成了。 现在,我们将弹出的数字相加即可得出8 = 1 + 2 + 5

    由于我们现在已经更正式地阐明了该策略,因此很容易提出一个工作程序来解决我们的问题。 这是Python 3中一个简单的实现:

    def max_partition(n, l=1):
    partition = []
    while n > 2*l:
    partition.append(l)
    n = n - l
    l += 1
    partition.append(n)
    return partition
    print(max_partition(int(input())))

    但是,等等-我有另一种方法。 也许更好。 我注意到可以表示为前n个自然数之和的数字是特殊的。 当他们炫耀自己的身份时,他们不是已经处于最大分区形式了吗? 例如,当6书写为6 = 1 + 2 + 3时,不是6已经处于最大分区形式吗? 写成10 = 1 + 2 + 3 + 410是否不是已经处于最大分区形式? 为了进行对话,我们将此类数字称为“高级数字”。 这种见解构成了我算法的基础。

    我们的操作方法如下:如果我们必须找到其最大分区的数字n已经是一个高级数字,我们可以简单地用n = 1 + 2 + 3 +…+ k的形式表示它。 如果它不是高阶数,我们仍然会找到一个k ,它正好足以使总和s = 1 + 2 + 3 +…+ k大于n (足够大,我的意思是k可以使1+ 2 + 3 + …+ k大于n ,但对于1 + 2 + 3 +…+ k-1不能做同样的事情。 由于k刚好足以使s大于n ,因此sn将小于k 。 所以SN将是1,2,3,...,K-1之间的数字。 如果我们从前k个自然数的总和中“抽出” sn怎么办? 那将给我们s-(sn) ,不过就是n

    顺便说一句,上一段的最后一个字符不是阶乘 ial。 让我们形象化到目前为止所学到的想法。 通常,使用Ferrers图来可视化分区,但是出于我们的目的,我发现自定义可视化更加方便:在下面的树中,顶部节点是我们希望评估的最大分区数。 叶子是max-partition表示中的数字,当然,将这些数字相加即可得出顶部节点上的数字。 对于资深人士来说,一切都很好:

    对于不高级的数字,我们剪切了适当的分支,以便不添加通过该分支连接到顶部节点的叶子上的数字。 考虑9的情况:

    下面是8的树。请注意,我们只是找到数字k。 对于8和9,它是4。由于前4个自然数的总和是10,我们首先为10绘制树,然后在顶层节点中将10替换为我们想要的数字-这是8。然后,将连接的分支剪掉数字10 – 8 = 2的顶部节点。对于9,该数字为10-9 = 1。

    那么最大分区就是剩余叶子的总和。 希望您现在了解我的算法。

    找出“足够大的k ”的方法还有待发现。 但这是一个非常简单的计算。 前k个自然数的总和为n = k *(k + 1)/ 2 。 在将该方程解为正数k之后 ,得到k =(√(1 + 8 * n)– 1)/ 2 。 由于如果n不是一个高级数字, k将是分数,因此我们对其进行了上限。 这使k足够大。

    我认为到目前为止,我已经清楚地阐明了该算法。 因此,我们可以继续对解决方案进行编程。 这是Python 3中另一个简单的实现:

    import math
    def optimal_summands(n):
    k = ((1 + 8*n)**0.5 - 1) / 2
    k = math.ceil(k)
    summands = list(range(1, k+1))
    the_sum = int(k * (k+1) / 2)
    if the_sum - n > 0: # If n is not senior.
    del summands[the_sum-n-1]
    return summands
    print(optimum_summands(int(input())))

    如果我们对这两种算法进行一些分析,就会发现它们都在线性时间内运行O(n) 。 然而,隐藏在O(n)的无形常数也许是optimal_summands()max_partition少得多()。

    我在Python中做了一些简单的检查,看哪种方法更快,而后一种方法的执行速度比前者快三倍 。 我使用Python的timeit模块对两种算法进行计时,这是我对Python解释器进行的一项检查的实例:

    >>> from timeit import timeit
    >>>
    >>> timeit(setup='from different_summands import optimal_summands', stmt='optimal_summands(10000)', number=100000)
    0.8999944160023006
    >>>
    >>> timeit(setup='from greedy_different_summands import max_partition', stmt='max_partition(10000)', number=100000)
    3.161972836998757
    >>>

    我经常观察到,了解一些数学事实可以使人们开发出一种更好的算法,或者至少可以更快,更直观地开发一种算法。 数学见解通常可以大大改善程序的运行时间。 数学和计算机科学-尤其是算法研究是很好的朋友!

    图片来源:xkcd

    如果您知道其他一些因素会使后者的程序运行更快,请在评论中告诉我。 最后,也许贪婪并不总是很好,但数学却可以。 😀

    顺便说一下,您可以将这1024 GB拆分为:

    1024 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45

    (请注意缺少的数字吗?提示:这是前45个自然数总和-1024。)

    当然,您的骇客马拉松比赛必须有超过45位参与者! 🙂

    PS:我应该为此写ArXiv论文吗?

    翻译自: https://hackernoon.com/another-way-to-find-max-partitions-36005590a2a5

    安卓查找boot分区

    展开全文
  • 操作系统:Ubuntu 16.04 LTS 硬件:Acer Aspire-E5-572G 2019年1月22日 问题:搜不到低功率蓝牙手环...这时候凑巧注意到刚刚升级linux内核结果崩溃了,原因是/boot200多MB的分区已满,虽然/boot分区大概只是一个引...

    操作系统:Ubuntu 16.04 LTS
    硬件:Acer Aspire-E5-572G

    2019年1月22日

    问题:搜不到低功率蓝牙手环

    最近因为项目结题用到了低功率蓝牙的模块,直接在终端输入sudo hcitool lescan扫描所有的低功耗设备,结果发现一个也搜不着。

    这时候凑巧注意到刚刚升级linux内核结果崩溃了,原因是/boot200多MB的分区已满,虽然/boot分区大概只是一个引导开机的分区,但是在apt-get的时候总是提示“no space left for ……”然后出现error。

    抱着试试看的态度,按照教程清理了多余的内核:

    Ubuntu16.04解决/boot分区过小的方法

    大概清理了4.4.142和4.10.42的kernel,保留了4.15的内核。

    接着奇迹就发生了:重新输入的sudo hcitool lescan的时候,出现了一系列蓝牙设备。

    搜索到蓝牙设备。

    ——所以搜低功耗蓝牙不是本文的重点,本文的重点是发现了一篇真实有用的清boot内存的文章

    (完)

    在这里插入图片描述

    展开全文
  • 提示:先给大家道个歉由于下面操作图片部分是手机拍摄可能不太清晰,望诸君见谅步骤:1、 制作U盘启动盘请参考:使用UltraISO(软碟通)制作ubuntu U盘启动盘2、 windows硬盘分区注意:如果硬盘存在剩余50G左右未使用...
  • 一.系统的引导启动 1.1系统的引导启动 ...通常,引导设备的块0包含着主引导记录(MasterBoot Record MRB),这个块包含着设备分区表(partition table)的信息。 当设备加电启动的时候,第一个阶段的bootlo...
  • 总结一下/boot分区被删后的各种悲剧

    千次阅读 2014-10-31 09:55:35
    由于在Windows下面对分区修改,导致grub所在分区由sda3变成了sda2了,这样一来找不到grub了,Ubuntu开机就出现了   grub rescue >   在此情况下,可以如下解决,并不用重新安装系统   第一步,...
  • eMMC ext4综述-eMMC_raw_boot分区功能作用

    千次阅读 2018-06-10 07:19:45
    锋影email:174176320@qq.com如果你认为本...系统的引导启动1.1系统的引导启动https://javigon.com/2012/08/24/from-poweron-to-android-the-boot-sequence/ 通常,引导设备的块0包含着主引导记录(MasterBoot Reco...
  • 安卓手机分区

    千次阅读 2017-07-23 20:26:56
    本篇来源知乎 奇兔刷机的回答 安卓手机一般包括以下标准内部分区 /boot /system /recovery /data /cache /misc 另外还与SD卡分区 ...Android做的比较复杂,从这个手机分区来看,这里boot分区是吧内核和ramdisk fil
  • 备份和恢复Android手机分区的方法

    千次阅读 2017-09-28 10:03:22
    下面以备份boot分区为例介绍如何备份和恢复分区内容。 1查看boot属于哪个分区 2查看boot分区的大小 3用dd命令将分区boot复制到data分区下 4将手机下databoot 拷贝到本机 5恢复boot分区内容 1查看boot...
  • 大家可以简单的把手机的ROM存储类比为我们电脑上的硬盘,这个硬盘被分成了几个分区:bootloader分区,boot分区,system分区等等。后面我们会逐渐介绍各个分区的用途。所谓的刷机我们可以简单的...
  • 安卓系统分区介绍boot system recovery data cache misc
  • android手机分区相关

    千次阅读 2016-04-18 18:01:15
    1.安卓手机和平板一般包括以下标准内部分区:  /boot  /system  /recovery  /data  /cache  /misc 另外还与SD卡分区:  /sdcard  /sd-ext ===============================================...
  • 手机模式、分区、镜像文件

    千次阅读 2019-12-10 15:56:57
    (一)手机模式 ...fastboot flash boot boot.img这个命令就是把boot.img的内容刷写到boot分区中 2.紧急下载模式(edl ) 用于工厂空的PCBA的板子,用这种方式刷机 fastboot oem edl ​用途:在...
  • bootloader 当我们拿到一款手机,第一件事应该就是按下电源键...大家可以简单的把手机的ROM存储类比为我们电脑上的硬盘,这个硬盘被分成了几个分区:bootloader分区,boot分区,system分区等等。后面我们会逐渐介绍...
  • android:手机各大分区详解

    千次阅读 2018-04-23 14:12:18
    1. bootloader 当我们拿到一款手机,第一件事应该就是按下电源键开机... 大家可以简单的把手机的ROM存储类比为我们电脑上的硬盘,这个硬盘被分成了几个分区:bootloader分区,boot分区,system分区等等。后面我们会...
  • 如果你不是仅仅使用你的 Android 手机来打电话、发短信、上网或者运行 APP 的话,那么你应该知道 Android 系统在设备上划分出几个分区用来组织和管理文件与文件夹。每个分区都在设备上有着自己独特的作用,但是不是...
  • 本文基于文章在实践中修改而成: 逆向修改MIUI(X64)内核,反制TracerPID反调试踩坑指南... 【教程】Nexus、Pixel手机解锁bootloader+刷TWRP Recovery + 刷机(含修改ROM boot.img) + ROOT教程:https://blog.csd...
  • 手机模式及分区

    千次阅读 2016-08-08 14:52:34
    长按 电源键+音量下键 方法二:抠掉电池,然后长按音量下键,再插入USB线方法三:进入adb模式,在adb里输入 adb reboot bootloader(PS:必须可以正常开机)用途:刷整个系统或者刷某个分区3.紧急下载模式方法...
  • Android分区解释:boot, system, recovery, data, cache & misc 2014年11月25日 15:46:03 年少的风 阅读数:28936 Android分区解释:boot, system, recovery, data, cache..._CS 原文链接:Android ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,475
精华内容 2,990
关键字:

手机boot分区