Linux下对硬盘或U盘进行分区及格式化 -- fdisk及mkfs命令的使用

一、前言

对硬盘或者U盘设备进行分区及格式化,适用于以下情况:

  1. UltraISO软碟通对U盘进行过烧录windows及其它系统,U盘的分区表会变为sda4,想改为sda1的。
  2. 有时候因为某些操作,会导致硬盘或U盘的分区表损坏,导致设备挂载异常。
  3. 想修改分区表的编号。
  4. 其它情况。

二、查看分区的命令

  1. df -h
    df -h命令

  2. fdisk -l
    fdisk -l

  3. lsblk
    lsblk命令

三、fdisk命令简介

输入 fdisk /dev/sde (设备节点)后,接着输入m

root@dell:~# fdisk /dev/sde

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): 

四、分区操作

  1. 输入p,显示分区信息
    在这里插入图片描述

  2. 输入d删除分区

  3. 输入n添加新分区

  4. 输入p新建分区表

  5. 输入1选择分区表number

  6. 输入w保存分区表
    在这里插入图片描述

五、格式化U盘

  1. umount 设备再格式化,否则会报错:Refusing to make a filesystem here!
umount /dev/sde4
  1. 格式化操作,格式化为ntfs格式
mkfs -t ntfs /dev/sde4

六、其它

小技巧:当分区表损坏时,可以使用UltraISO对U盘写入windows或者其它系统的镜像,这样分区表就会恢复,但是分区表编号会变为sda4,不过不影响使用。

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、付费专栏及课程。

余额充值