红联Linux门户
Linux帮助

ubuntu下格式化sd卡

发布时间:2015-10-13 11:30:09来源:linux网站作者:Jamy-CPP

搞了个电信的android手机,结果送了个sd卡有点问题,在windows下试了多种办法都不行,既不能修复,也不能低格,于是尝试在linux下格式化试试。


将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

Device Boot     Start        End     Blocks  Id  System


新建分区
Command (m for help): n
Command action
e  extended
p  primary partition (1-4)
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

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/
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的卡,结果芯片厂商数据都读不出来,有点离谱了。


Linux下实现U盘、SD卡自动挂载功能:http://www.linuxdiyf.com/linux/14651.html

ubuntu 14.04下对SD卡识别问题解决:http://www.linuxdiyf.com/linux/14200.html

充分利用树莓派中的SD卡空间:http://www.linuxdiyf.com/linux/14569.html

【香蕉派Fedora系统设置】八、恢复SD卡的全部空间:http://www.linuxdiyf.com/linux/13302.html

如何在Ubuntu下使用TF/SD卡制作Exynos 4412 u-boot启动盘:http://www.linuxdiyf.com/linux/14220.html