搞了个电信的android手机,结果送了个sd卡有点问题,在windows下试了多种办法都不行,既不能修复,也不能低格,于是尝试在linux下格式化试试。
Device Boot
Start
End
Blocks
Id
System
e
extended
p
primary partition (1-4)
0
Empty
24
NEC DOS
81
Minix / old Lin bf
Solaris
1
FAT12
39
Plan 9
82
Linux swap / So c1
DRDOS/sec (FAT-
2
XENIX root
3c
PartitionMagic
83
Linux
c4
DRDOS/sec (FAT-
3
XENIX usr
40
Venix 80286
84
OS/2 hidden C:
c6
DRDOS/sec (FAT-
4
FAT16<32M
41
PPC PReP Boot
85
Linux extended
c7
Syrinx
5
Extended
42
SFS
86
NTFSvolume set da
Non-FS data
6
FAT16
4d
QNX4.x
87
NTFS volume set db
CP/M / CTOS / .
7
HPFS/NTFS
4e
QNX4.x 2nd part 88
Linuxplaintext de
Dell Utility
8
AIX
4f
QNX4.x3rd part 8e
Linux LVM
df
BootIt
9
AIX bootable
50
OnTrackDM
93
Amoeba
e1
DOS access
a
OS/2 Boot Manag 51
OnTrack DM6 Aux 94
Amoeba BBT
e3
DOS R/O
b
W95 FAT32
52
CP/M
9f
BSD/OS
e4
SpeedStor
c
W95 FAT32 (LBA) 53
OnTrack DM6 Aux a0
IBM Thinkpadhi eb
BeOS fs
e
W95 FAT16 (LBA) 54
OnTrackDM6
a5
FreeBSD
ee
GPT
f
W95 Ext'd (LBA) 55
EZ-Drive
a6
OpenBSD
ef
EFI (FAT-12/16/
将sd卡插入读卡器,就自动挂载了,所以要先卸载。
$sudo -i
取得root权限
# mount
可以看到最后一行的设备号
/dev/mmcblk0 on /media/FCC8-85C1 type vfat(rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush)
umount这个sd卡
# umount /dev/mmcblk0
然后使用fdisk工具
# fdisk /dev/mmcblk0
WARNING: DOS-compatible mode is deprecated. It's stronglyrecommended to
switch off the mode (command 'c') and change display unitsto
sectors (command 'u').
Command (m for help): m
Command action
a
toggle a bootable flag
b
edit bsd disklabel
c
toggle the dos compatibility flag
d
delete a partition
l
list known partition types
m
print this menu
n
add a new partition
o
create a new empty DOS partitiontable
p
print the partition table
q
quit without saving changes
s
create a new empty Sun disklabel
t
change a partition's system id
u
change display/entry units
v
verify the partition table
w
write table to disk and exit
x
extra functionality (experts only)
先P,可以看到sd卡的现在分为4个区。
然后d,删除原分区,之后再n,创建新分区。
Command (m for help): d
Partition number (1-4): 1
Command (m for help): d
Partition number (1-4): 2
Warning: partition 2 has emptytype
Command (m for help): d
Partition number (1-4): 3
Command (m for help): d
Selected partition 4
删除分区之后再查看一下
Command (m for help): p
Disk /dev/mmcblk0: 2057 MB, 2057306112 bytes
4 heads, 16 sectors/track, 62784 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6f20736b
新建分区
Command (m for help): n
Command action
p
Partition number (1-4): 1
First cylinder (1-62784, default 1):
(回车)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-62784, default62784):
(回车)
Using default value 62784
因为我只建立一个分区,所以在First cylinder (1-62784,default 1): 和Last cylinder, +cylinders or +size{K,M,G} (1-62784,default 62784):都不填写,直接回车
然后查看分区类型代码
Command (m for help): t
Selected partition 1
Hex code (type L to list codes):L
10
OPUS
56
GoldenBow
a7
NeXTSTEP
f0
Linux/PA-RISC b
11
Hidden FAT12
5c
Priam Edisk
a8
DarwinUFS
f1
SpeedStor
12
Compaq diagnost 61
SpeedStor
a9
NetBSD
f4
SpeedStor
14
Hidden FAT16 <3 63
GNU HURD or Sys ab
Darwin boot
f2
DOSsecondary
16
Hidden FAT16
64
Novell Netware
af
HFS / HFS+
fb
VMware VMFS
17
Hidden HPFS/NTF 65
Novell Netware
b7
BSDI fs
fc
VMwareVMKCORE
18
AST SmartSleep
70
DiskSecure Mult b8
BSDI swap
fd
Linux raid auto
1b
Hidden W95 FAT3 75
PC/IX
bb
Boot Wizard hid fe
LANstep
1c
Hidden W95 FAT3 80
OldMinix
be
Solaris boot
ff
BBT
1e
Hidden W95 FAT1
Hex code (type L to list codes):6
Changed system type of partition 1 to 6 (FAT16)
fat16为6,是我要的格式,所以Hex code (type L to list codes):后面填6,回车
最后保存分区表
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page foradditional
information.
Syncing disks.
然后格式化分区
mkdosfs /dev/mmcblk0p1
完成~取出sd卡,再装进去,系统能够识别出来分区“2.1 GB SD 卡 驱动器: 2.1 GB文件系统”,希望可以用了。。。
最后确定还是卡坏了~唉,这电信啊,送个kinston的卡,结果芯片厂商数据都读不出来,有点离谱了……