ubuntu下格式化sd卡

本文详细介绍了在Linux环境下修复损坏SD卡的过程,包括如何使用fdisk工具删除原有分区并新建分区,最终成功识别并使用修复后的SD卡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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 strongly recommended to
switch off the mode (command 'c') and change display units to
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 partition table
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 empty type

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, default 62784):
(回车) 
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   NTFS volume 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   Linux plaintext de   Dell Utility    
  8   AIX                   4f   QNX4.x 3rd part 8e   Linux LVM          df   BootIt             
  9   AIX bootable      50   OnTrack DM         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 Thinkpad hi 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   Golden Bow         a7   NeXTSTEP            f0   Linux/PA-RISC b
11   Hidden FAT12      5c   Priam Edisk       a8   Darwin UFS         f1   SpeedStor        
12   Compaq diagnost 61   SpeedStor          a9   NetBSD               f4   SpeedStor        
14   Hidden FAT16 <3 63   GNU HURD or Sys ab   Darwin boot       f2   DOS secondary  
16   Hidden FAT16      64   Novell Netware   af   HFS / HFS+         fb   VMware VMFS     
17   Hidden HPFS/NTF 65   Novell Netware   b7   BSDI fs             fc   VMware VMKCORE 
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   Old Minix          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 for additional
information.
Syncing disks.
然后格式化分区
mkdosfs  /dev/mmcblk0p1
完成~取出sd卡,再装进去,系统能够识别出来分区“2.1 GB SD 卡 驱动器: 2.1 GB 文件系统”,希望可以用了。。。
最后确定还是卡坏了~唉,这电信啊,送个kinston的卡,结果芯片厂商数据都读不出来,有点离谱了……
本文转自 点击打开链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值