在linux下对U盘进行格式化及分区

本文详细介绍了如何在Linux环境下通过sfdisk和mkfs.ext2命令进行ext2文件系统的格式化与分区建立过程,包括创建分区、修改分区ID以及最终的格式化操作。

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

注意:

fat16和fat32直接在windows下右键就可以了。

ext2需要在linux进行格式化,步骤如下


1.首先sudo  sfdisk  -c  /dev/sdb   1   83将整个分区ID改成83

2.然后

sudo fdisk -l查看分区情况

sudo fdisk /dev/sdb1

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)


Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p

Partition number (1-4): 1

First cylinder (1-1017, default 1): 回车
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1017, default 1017): 回车
Using default value 1017

Command (m for help): p


Disk /dev/sdc1: 4007 MB, 4007076864 bytes
124 heads, 62 sectors/track, 1017 cylinders
Units = cylinders of 7688 * 512 = 3936256 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6e9dbf3d


     Device Boot      Start         End      Blocks   Id  System
/dev/sdc1p1               1        1017     3909317   83  Linux


Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83

Command (m for help): w

2.此时分区便建立好了,但是必须格式化才能用。

mkfs.ext2 /dev/sdb1

mkfs.ext2 之后 ,整个sdb1都会变成83的ID,

此时sudo fdisk -l显示如下 

 Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1018     3913161   83 LINUX




Linux读取U或者移动硬序列号并获取U或者移动硬分区名。基本原理如下: 当有外置 USB 插入的时候,会产生 /proc/scsi/usb-storage 目录,并在其中产生数字文件(形如 1 2 3 4),此文件存储了设备相关信息。 相应的 /sys/class/scsi_device/ 目录中会有 scsi 设备的目录(ide 硬默认无子目录,sata硬默认有子目录),以数字开头(形如 1:0:0:0 2:0:0:0) 这个数字与前面 /proc/scsi/usb-storage目录中的相对应,子目录表示sata硬。比如 /sys/class/scsi_device/2:0:0:0/device/block 中有USB设备,从该目录下得到U或者移动硬分区名,比如sda1。 该demo实现了上述过程,先检查 /proc/scsi/usb-storage 目录,看是否有u或者移动硬接入,如果有则读取u或者移动硬的序列号,然后在/sys/class/scsi_device/目录下逐级查找,直到找到u或者移动硬分区。 完整代码,可直接编译和测试,嵌入式环境下也是适应的。 在linux测试如下,id表示序列号,sdb1表示是分区名称: # ./a.out udisk dev num:0 udisk id:055CE21B ret:0 dev num:0 found dir:0:0:0:1 found dev dir:0:0:0:1,full path:/sys/class/scsi_device/0:0:0:1 sub founction found dir:sda found sd device dir:sda,full path:/sys/class/scsi_device/0:0:0:1/device/block/sda found dir:0:0:0:2 found dev dir:0:0:0:2,full path:/sys/class/scsi_device/0:0:0:2 sub founction found dir:sdb found sd device dir:sdb,full path:/sys/class/scsi_device/0:0:0:2/device/block/sdb found sd sub device dir:sdb1 found dir:0:0:0:0 found dev dir:0:0:0:0,full path:/sys/class/scsi_device/0:0:0:0 sub funciton Open Directory /sys/class/scsi_device/0:0:0:0/device/block Error:No such file or directory get name return:0,disk name:sdb1 # 因为有的USB设备会有好几个,比如把CD和U集成到一起,就会出现上面的情况,有多个子目录去查找。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值