如何恢复损坏的内部SD卡分区布局?尝试了一切


8

我有Samsung S 3 mini。

我对INTERNAL SD CARD分区布局做的事情确实很糟糕。记得我没有记错,我尝试通过fdisk在我的Android上通过“ adb shell”重新分区我的外部SD卡。我删除了mmcblk0上的分区(我记得只有一个分区)(这似乎不是外部分区,而是内部=)

我现在有:

〜#猫/ proc /分区
主要次要#blocks名称
 179 0 7634944毫米立方英尺0
 179 64 2048毫米
 179 32 2048毫米
 179 96 3866624 mmcblk1
 179 97 3862528 mmcblk1p1
〜#ls -la / dev / block / mmcblk *
brw ------- 1 root root 179,1 Jan 1 10:30 / dev / block / mmcblk0
brw ------- 1 root root 179,1 Jan 32 09:28 / dev / block / mmcblk0boot0
brw ------- 1根root 179,1月1日64:09 / dev / block / mmcblk0boot1
-rw-rw-rw-1根root 16777216 Jan 1 10:07 / dev / block / mmcblk0p20
-rw-r--r-- 1 root root 0 Jan 1 10:07 / dev / block / mmcblk0p22
brw ------- 1个root根179,96 Jan 1 09:28 / dev / block / mmcblk1
brw ------- 1根root 179,97 Jan 1 09:28 / dev / block / mmcblk1p1
〜#df
已使用的文件系统1K块可用用法已安装%
tmpfs 411756 16452 395304 4%/ dev
/ dev / block / mmcblk1p1 3858432 1473472 2384960 38%/ external_sd
〜#坐骑
rootfs on /输入rootfs(rw)
/ dev上的tmpfs类型tmpfs(rw,nosuid,relatime,mode = 755)
/ dev / pts上的devpts类型devpts(rw,relatime,mode = 600)
proc / proc类型proc(rw,relatime)
/ sys类型sysfs上的sysfs(rw,relatime)
/ external_sd类型vfat上的/ dev / block / mmcblk1p1(rw,nodev,noatime,nodiratime,fmask = 0000,dmask = 0000,allow_utime = 0022,codepage = cp437,iocharset = iso8859-1,shortname = mixed,errors = remount- ro)
〜#尾巴./etc/recovery.fstab
/系统ext4 / dev / block / mmcblk0p22
/ cache ext4 / dev / block / mmcblk0p23
/ data ext4 / dev / block / mmcblk0p25长度= -16384
/ efs ext4 / dev / block / mmcblk0p11
/启动emmc / dev / block / mmcblk0p20
/恢复emmc / dev / block / mmcblk0p21
/ preload ext4 / dev / block / mmcblk0p24
/调制解调器ext4 / dev / block / mmcblk0p12
/ sdcard datamedia / dev / null
/ external_sd vfat / dev / block / mmcblk1p1
〜#尾巴./etc/fstab
/ dev / block / mmcblk0p23 / cache ext4 rw
/ dev / block / mmcblk0p25 / data ext4 rw
/ dev / block / mmcblk0p22 / system ext4 rw
/ dev / null / sdcard datamedia rw
〜#分开了/ dev / block / mmcblk0
GNU Parted 1.8.8.1.179-aef3
使用/ dev / block / mmcblk0
欢迎来到GNU Parted!键入“ help”以查看命令列表。
(分开)打印
打印
警告:/ dev / block / mmcblk0包含GPT签名,表明它具有一个
GPT表。但是,它没有有效的伪造的msdos分区表,因为它
应该。也许它已损坏-可能是由于没有
了解GPT分区表。或者,也许您删除了GPT表,并且
现在使用msdos分区表。这是GPT分区表吗?
是/否?

我的ClockWorkMod恢复工具无法装载任何东西(/ cache,/ system,什么也没有)。这是我在CWM中得到的东西:

-清除缓存...
格式化/缓存...
需要文件系统的大小
E:format_volume:make_extf4fs在/ dev / block / mmcblk0p23上失败
缓存擦除完成。
W:无法挂载/ dev / block / mmcblk0p23(需要块设备)
E:无法挂载/ cache / recovery / log
E:无法打开/缓存/恢复/日志
W:无法挂载/ dev / block / mmcblk0p23(需要块设备)
E:无法挂载/ cache / recovery / last_log
E:无法打开/ cache / recovery / last_log
W:无法挂载/ dev / block / mmcblk0p23(需要块设备)
W:无法取消链接/ cache / recovery / command
格式化/数据...
警告:get_file_size:计算的文件系统大小小于0
需要文件系统的大小
E:format_volume:make_extf4fs在/ dev / block / mmcblk0p25上失败
格式化/数据错误!
W:无法挂载/ dev / block / mmcblk0p23(需要块设备)
E:无法挂载/ cache / recovery / log
E:无法打开/缓存/恢复/日志
如您所见,没有用于/ system,/ cache和其他内容的分区。(但/ system和/ cache文件夹位于目录列表中)

我真的尽了一切。我尝试过:从备份还原(我有一个,是用恢复工具制成的),安装新的ROM(有恢复工具),以ODIN模式安装库存固件和库存内核。我什至尝试了一些PIT文件:没有任何事情对我的状态完全没有任何作用。

坦白说,我想念文件系统,分区,映像,什么是ROM,什么是备用内核,如何创建22、23、25个分区等重要部分。

我该怎么办?

更新!

哦,看来我在控制台缓冲区中拥有所有内容(分心动作的完整历史记录)

一开始我有这个:

cat / proc /分区
主要次要#blocks名称

   7 0 2111回路0
 179 0 7634944毫米立方英尺0
 179 1 128毫米
 179 2 384毫米
 179 3 1024毫米
 179 4 1024毫米
 179 5 512毫米
 179 6 512毫米
 179 7 512毫米
 179 8 512毫米
 179 9 1024毫米
 179 10 1024毫米
 179 11 16384毫米
 179 12 16384毫米
 179 13 16384毫米
 179 14 51200毫米
 179 15 64毫米
 179 16 14336毫米
 179 17 2048毫米
 179 18 2048毫米
 179 19 16384毫米
 179 20 16384毫米
 179 21 16384毫米
 179 22 1228800毫米
 179 23 860160毫米
 179 24 327680毫米
 179 25 4945920 mmcblk0p25
 179 64 2048毫米
 179 32 2048毫米
 179 96 3872256毫米立方英尺1
 179 97 3868160 mmcblk1p1
 254 0 2110 dm-0
/ $ df
使用的文件系统大小可用Blksize
/ dev 402.1M 84K 402M 4096
/ mnt / asec 402.1M 0K 402.1M 4096
/ mnt / obb 402.1M 0K 402.1M 4096
/ dev / shm 402.1M 0K 402.1M 4096
/系统1.2G 414.5M 766.6M 4096
/ modemfs 15.7M 4.3M 11.4M 4096
/缓存826.8M 84.8M 742M 4096
/ efs 15.7M 4.5M 11.2M 4096
/预载315M 64.2M 250.8M 4096
/数据4.6G 4G 699.2M 4096
/mnt/.lfs:未实现功能
/ storage / sdcard0 4.6G 4G 699.2M 4096
/mnt/asec/com.spruds.transport.pro.tallin-1 2M 888K 1.1M 4096
/ storage / sdcard1 3.7G 905.7M 2.8G 32768

甚至在一切都出错之前,我尝试使用parted命令并得到一个错误

〜#分开了/ dev / block / mmcblk0
GNU Parted 1.8.8.1.179-aef3
使用/ dev / block / mmcblk0
欢迎来到GNU Parted!键入“ help”以查看命令列表。
(部分)列表
清单
  检查NUMBER对文件系统进行简单检查
  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER将文件系统复制到另一个分区
.....
.....
        GNU Parted的版权信息
(分开)打印
打印
错误:无法满足分区上的所有约束。

这是灾难发生前的fdisk打印

〜#fdisk / dev / block / mmcblk0

该磁盘的柱面数设置为954368。
没关系,但是大于1024,
并可能在某些设置中导致以下问题:
1)在启动时运行的软件(例如,旧版本的LILO)
2)从其他操作系统启动和分区软件
   (例如,DOS FDISK,OS / 2 FDISK)

命令(m以寻求帮助):p

磁盘/ dev / block / mmcblk0:7818 MB,7818182656字节
1缸盖,16个扇区/轨道,954368缸
单位= 16 * 512的柱面= 8192字节

              设备启动开始端块ID系统
/ dev / block / mmcblk0p1 1 954368 7634943+ ee EFI GPT
分区1不在圆柱边界上结束

然后我删除了

〜#fdisk / dev / block / mmcblk0

该磁盘的柱面数设置为954368。
没关系,但是大于1024,
并可能在某些设置中导致以下问题:
1)在启动时运行的软件(例如,旧版本的LILO)
2)从其他操作系统启动和分区软件
   (例如,DOS FDISK,OS / 2 FDISK)

命令(m以寻求帮助):p

磁盘/ dev / block / mmcblk0:7818 MB,7818182656字节
1缸盖,16个扇区/轨道,954368缸
单位= 16 * 512的柱面= 8192字节

              设备启动开始端块ID系统
/ dev / block / mmcblk0p1 1 954368 7634943+ ee EFI GPT
分区1不在圆柱边界上结束

命令(m以获取帮助):d
所选分区1

命令(m以获取帮助):w
分区表已更改。
调用ioctl()重新读取分区表
fdisk:警告:重新读取分区表失败,内核仍使用旧表:设备或资源繁忙

更新2

我可以看到与初始状态的不同。现在我有4个顶头而不是1个,所以有238592个圆柱体而不是954368个气缸。我如何更改头数?


尚未在Android上使用过fdisk,也不会用重子碰它!内部NAND分区是由工厂设置的,或者fdisk 错误报告内部分区上的磁头/气缸数量...毕竟是NAND芯片...
t0mm13b 2013年

Answers:


6

我找到了!

答案在PIT文件中,因为它在这里说:

仅当固件更新需要更改分区布局(非常不可能)或弄乱分区表(您不想这样做)时,才需要使用此选项

绝对是我的情况。

因此,我尝试将GT-I8190N和GT-I8190与不同的PIT文件一起使用(我尝试将其用于GT-I8190)。所以我在这里找到了很长的PIT文件列表。


1
您如何将PIT文件应用于设备?同样在这里,尝试使用odin并不断获得重新分区失败错误。我还尝试了重新分区,而没有固件,CDS文件和PIT文件。没有改变。
edigu '16

0

恢复带有引导程序或粘贴在LOGO中的ANDROID设备

编译者:朱利安·洛佩兹(Julian Lopez)2017-05(5月)-08

我有类似的问题,但是手机GT-i9003的内部存储器有故障。我用完所有坑都没有成功。也许此过程对您有帮助,其中有些很复杂但很安全:

要求:

  • 可以在徽标中粘贴一个android设备(但要完全启动操作系统),以便与ADB和CWM-Recovery配合使用,如果将android开发人员选项激活并在通讯模式下使用usb连接(也称为kies,MTP,调试等),效果会更好。不在USB数据模式下
  • 带有高速USB端口的数据线USB PC
  • 更新的设备驱动程序
  • 用于手动备份和还原的ADB和fastboot平台工具(Windows)... ADBD信息源:感谢您向Rotohammer [ADB Roto备份-手动备份]Amalautpavathas [ADB android技巧]分享知识
  • 另一个可操作且相同的设备(非常方便)
  • 优质+原始的16GB及以上的Class10(忘了Class4MicroSDCard(我在使用普通32GB和更大的硬盘时遇到了一些问题),并准备了一个标准fat32分区,每个文件最大限制为4gb,但它可以正常工作备份。在microSD卡的根目录中创建一个名为DO-NOT-INSTALL-THIS.zip的空文本文件,仅供参考(在Recovery中进行参考和标识),这一点非常重要。通常无法识别USB ota,我们需要使用PC永久连接USB。

提取物:

如果设备处于引导循环中或卡在徽标中但被ADB激活,则在执行逻辑和基本选项之后,请按照以下过程操作(通过命令dd)手动克隆和还原有缺陷的分区:

警告事项

  • 放弃有关使用和滥用此信息的所有责任
  • 请阅读有关ADB和android的教程
  • 请勿在未插入MicroSD卡的情况下进行擦拭,否则可能会丢失所有数据,恕不另行通知,每次重新启动/更改日期/ CMW安装和存储操作,都可以更改sdcard的安装点
  • 在亚行工作时;退出外壳并经常使用remount。
  • 当您无法访问文件时,获得root访问权限(CMW-root / unroot选项)。
  • 在继续操作之前,请保留文件和挂载点的列表,在每个副本之后,df -k以KB为单位的df命令和以块为单位的ls -al命令密切注意可用容量,使用command可以记录格式的权限xrwxrwxrw(初始上限或-对于类型,x执行,r读,w写,分为3层-user-group-others。 chmod用于更改命令)和文件所有者。本技巧避免了使用文件复制或更改设备中文件的错误的50%。获取有关设备的完整信息(imei,macs,软件版本,固件,更新,特殊应用,注册完整版本和安装日期,特别是备份软件)

动作

1.-不使用外部内存(MicroSDcard退出,因为某些内核和工具在没有建议的情况下内部交换了外部内存)可以保存分区的布局。重要信息是;起始块,结束块,文件系统类型,块设备名称,顺序和安装点(路径)。是的,使用ADB fdisk,但不做任何更改。

2.- /efs使用ADB和“ dd”命令对有缺陷的设备中的每个分区进行手动备份(特别是文件夹的单独备份,其中wifi,BT等的imei和mac地址)(请谨慎操作)每次备份后有足够的可用空间),请在性能良好的相同设备上重复相同的过程。将此备份转移到您的PC和microSD卡(都是)。。。请勿插入设备。这个需要:

  • 带有\ ADB和FastBoot-platform-tools-latest-windows \ platform-tools的 Windows资源管理器中的文件夹(无需安装)

  • 必须通过usb电缆将设备连接到PC,并使用正确的驱动程序进行检测)

  • 我们必须在Microsoft称为CMD(命令行)的CLI(命令行界面)中编写(是的,我听到了,使用键盘)。到Windows资源管理器,通过选择与键盘的组合simultanoeus CMD选项打开的黑盒子左[SHIFT]键鼠标右键点击一个空白文件夹内。为了在菜单中获得选项CMD,请避免在Windows资源管理器中选择或标记任何内容。使用本手册,直到Roto恢复部分Rotohammer ADB Roto备份-手动备份

3.-要使用(ADB)fdisk创建与所有原始特征(起始块,结束块,块编号大小,fs类型)匹配的丢失分区。

4.-在设备关闭(电池耗尽)的情况下,插入MicroSD卡

5.-在恢复模式(CWM)中启动设备,如果可以看到在需求的最后一点准备的具有扩展名.ZIP的文本文件(DO-NOT-INSTALL-THIS.zip),请转到从SDCARD安装ZIP,可以重新启动设备。以其他任何方式进入-安装和存储-卸下所有内容并安装准备好的MicroSDcard,对内部Sdcard,emmc,usb重复上述操作,直到看到zip文件为止。在正常模式下重启设备(也许只有徽标可见)。

6.-通过USB将设备连接到PC,并从ADB激活CMD,以将分区备份从MicroSDCard复制到一个内部设备的文件系统中。关闭设备,取出电池,取出microSD卡,然后打开设备。继续使用其中一种替代方法进行还原

6a。-更简便的方法,保修证明使用原始品牌的应急软件还原,三星的KIES和ODIN,中国品牌的MTP等。

6b。-一种简单的方法,如果您只有启动循环,则使用另一个经过测试的性能良好的MicroSD卡启动设备,如果将外部内存移至错误的microSD卡,则会发生外部存储器故障并导致应用程序崩溃。如果这不起作用,请在恢复模式下以无MicroSD卡开始,擦除数据/恢复出厂设置并擦除缓存。还在失败吗?继续前进。

6c.--因为此方法适用于任何android,任何设备和品牌上的分区图像,所以使它独立于配置(特殊文件系统类型和分配,装入点,vold.fstab,fota.rc,init.goldfish.rc) ,init.d的文件,内部存储器损坏,link2SD之类的应用程序失败和病毒)。开始制作有缺陷的分区的映像(通过ADB +命令dd),并全部用于一致性,从性能良好的设备的映像中创建另一个映像,如果受影响的分区es /system或/,则复制原始/efs文件夹的副本(可能是重要信息,如果imei和MAC与硬件不匹配,请向您的品牌咨询imei位置)。解决方案:Rotohammer(相同链接)等。将其保存到PC,MicroSD卡和云中。

6d.-您的设备是否仍受到提供商或信用卡的保修?(可用的保修,而不是日食保修期间的冥王星类型),请不要犹豫,继续努力...备份将确保您的数据安全,可以在彻底擦拭和清洁后将其发送到RMA ...

6e.-For Easy解决方案[Flashable Filesystem Check and Repair Tool | HTC Desire的- XDA] [3] ...在亚行的,你可以安装和运行APK,或奔跑/sbin/fsck/sbin/fsck/sbin/fsck.ext4。注意:某些根文件系统保留较旧的类型(raiser,ext2等)

6f。-从CWM备份或您喜欢的应用程序还原

6g。-使用原始的紧急还原软件,Kies,mtp等。

7.-重新启动,第一次等待文件系统的自动检查,第二次验证操作。

8.-如果出现引导错误,请以下载模式引导,使用正确版本的固件更新程序(例如Samsung的ODIN和MTP)来应用正确的PIT(分区信息表),并检查重新分区。如果故障仍然存在,请应用完整的原始STOCK ROM进行验证。

9.-如果发生IMEI错误,请采取以下解决方案:(forum.samdroid.ne t /attachments/f28/2082d1281453181-complete-imei-restore-how-bml10.img.zip)

10.-对于内部存储器错误,请检查此[2]:http//amalautpavathas.blogspot.com/2013/08/

免责声明

这是一个个人和个人的汇编,因此,我衷心希望此摘录可以在某个时间,某个地方为某人提供帮助,但是...我个人或任何人都应对您使用这些说明或应用程序采取的任何措施负责。ROM闪烁可能会使您的保修失效,并且应该是最后的选择。请谨慎行事,后果自负。闪烁将完全删除设备的内存。为您需要的所有内容进行备份,为实现此目标,我提供了3个以上的备份选项,请全部使用。如果要刷新熟的ROM,则需要打补丁的SPL。forum.xda-developers主页中描述了如何执行此操作。您也可以直接从microSD卡中刷新ROM!该指南位于Forum.xda-developers

特别感谢知识的人们

这是我的第一篇文章,所以我不允许包括更多的人和资源,请原谅,我的隐形伙伴不在此列表中:

(forum.xda-developers(amalautpavathas)(samdroid)

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.