linux 下格式化 SD卡

本文详细介绍了在Linux环境下使用Ubuntu10.04进行SD卡分区及格式化的全过程,包括卸载SD卡、使用fdisk工具进行分区、指定分区类型以及最后的格式化操作。
在linux下面给sd卡分区,格式化是非常轻松的。
我安装的系统是ubuntu10.04。
sd卡插上之后,自动mount了。
所以,第一步,umount。
$sudo -i 
输入自己的密码取得root权限。
# mount
可以看到最后一行的设备号
/dev/mmcblk0 on /media/60C5-3EC0 type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush)
umount这个sd卡
# umount /dev/mmcblk0
下面上场的是fdisk工具。
# fdisk /dev/mmcblk0
fdisk命令都是非常简单的。
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卡的分区现状。
然后d,删除原分区
n,创建分区

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-62528, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-62528, default 62528):  +1500M

t,指定分区类型,
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。
第二个,我试做分区为linux分区

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (48002-62528, default 48002): 
Using default value 48002
Last cylinder, +cylinders or +size{K,M,G} (48002-62528, default 62528): 
Using default value 62528

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 83

好了,看看成果。

Command (m for help): p

Disk /dev/mmcblk0: 2048 MB, 2048917504 bytes
4 heads, 16 sectors/track, 62528 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
/dev/mmcblk0p1               1       48001     1536024    6  FAT16
/dev/mmcblk0p2           48002       62528      464864   83  Linux

好了,把分区信息写入磁盘。

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.

下面开始格式化。
首先是fat16分区
#mkdosfs  /dev/mmcblk0p1
然后是linux分区
#mkfs.ext3 /dev/mmcblk0p2

完成之后,取出sd卡,再安装上去,linux系统已经自动识别了两个分区,可以用了。
放到手机里面去吧。
Linux系统中格式化SD是一个相对简单的过程,但是为了保证操作的安全性和成功率,请务必谨慎选择并确认你要格式化的设备。以下是详细步骤指南: ### 格式化 SD 的具体步骤 #### 步骤一:确定SD的设备名 首先要识别出即将进行格式化SD对应的设备名称。你可以使用以下命令之一来查找: - 使用 `lsblk` 列出所有块设备的信息: ```bash lsblk ``` - 或者使用 `fdisk -l` 显示更详细的分区表信息: ```bash sudo fdisk -l ``` 找到你的SD对应的设备标识符(通常是像 `/dev/sdb`, `/dev/mmcblk0` 这样的路径)。请注意区分主设备和其上的各个分区(如 `/dev/sdb1`, `/dev/mmcblk0p1`)。 **注意:** **确保选择了正确的设备,因为一旦开始格式化过程,所有现有数据将被删除!** #### 步骤二:卸载已挂载的文件系统 如果你发现该设备已被自动挂载,则需要先将其卸载以免造成不必要的损害或冲突。假设我们要处理的是 `/dev/sdb` 设备,并且它有一个分区叫做 `/dev/sdb1` 已经被挂在了某个目录上,那么你应该这样做: ```bash sudo umount /dev/sdb1 ``` 对于MMC类型的设备则会有所不同,比如 `/dev/mmcblk0p1`: ```bash sudo umount /dev/mmcblk0p1 ``` 如果有多个分区都需要逐一卸载它们直到全部完成为止。 #### 步骤三:创建新的分区表 (可选) 如果你想对整个介质重新初始化而不保留任何旧有的结构,可以使用 GParted 图形界面工具或是直接运行下面的命令行程序来建立一个新的MBR(Master Boot Record)或者GUID Partition Table(GPT): ```bash # 对于 MBR 分区风格 sudo parted /dev/sdb mklabel msdos # 对于 GPT 分区风格 sudo parted /dev/sdb mklabel gpt ``` 接下来根据实际需求添加相应大小的新分区... #### 步骤四:格式化为所需文件系统类型 最后一步就是真正意义上的格式化动作啦~这里给出几个常见命令的例子供参考: ##### 极简模式 - 直接快速地给整个装置打标签成单一ext4格式的文件系统: ```bash sudo mkfs.ext4 /dev/sdb ``` > 注意: 上述做法适用于不需要复杂分隔配置的小型存储媒介,例如U盘、相机内存之类的东西;而对于那些更大容量的专业级SSD/HDD来说还是建议采用前面提到过的细粒度控制方式来做规划比较好哦~ ##### 更细致的做法——只针对单一分区而不是整体进行操作: 首先利用 `parted` 创建适当规模的空间布局后,在此基础上再单独指明每个部分应该遵循哪种规则编码: ```bash # 先新建一个FAT32格式的第一个主分区覆盖全卷 sudo mkfs.vfat -F 32 /dev/sdb1 # 若是 mmc 类别的话就改成对应形式 "/dev/mmcblk0p1" # 或者转换为 ext4 文件系统的方案也可以照搬此模板做替换 sudo mkfs.ext4 /dev/sdb1 # 同理, mmclbkxpx 形式的也要同步修改好 ``` #### 最终检查与验证结果 不管选用哪一种策略执行完毕之后都可以再次通过之前提过的 `lsblk` 来观察现在的变化状况是否符合预期设定值。此外还可以借助 `file -s` 功能查询指定位置上的确切属性特征以作双重保险之用。 --- 以上就是在Linux环境下完整的一套流程指引帮助您顺利完成对SD及其他类似外置储存元件实施格式化进程的工作内容。希望对你有所帮助!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值