说明,为了不做无用功,首先必须卸载要分区的设备,分区才能执行成功。通过命令umount /media/?? 或者umount /mnt/???
看你的实际情况,这一步必不可少。
1、首先通过命令fdisk -l  在root命令下查看U盘的分区信息。

2、通过fdisk命令对挂载的设备进行分区操作,命令如下:fdisk /dev/sdb (可能不一定是这样,按照实际情况而定)。

3、输入fdisk /dev/sdb 会有提示命令,输入m就会列出来,如下所示:

root@samarxie:~# fdisk /dev/sdb

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): 
4、输入p可以浏览当前设备的分区信息,如下所示:

Command (m for help): p

Disk /dev/sdb: 7948 MB, 7948206080 bytes
245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x13561963

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      268287      133120   83  Linux
/dev/sdb2          268288    15523839     7627776   83  Linux

Command (m for help):

5、可以看到上面有两个分区,现在我删除这两个分区,d命令:

Command (m for help): d
Partition number (1-4): 1

Command (m for help): d
Selected partition 2

Command (m for help):

6、确定是否分区被删除了,在通过p命令:

Command (m for help): p

Disk /dev/sdb: 7948 MB, 7948206080 bytes
245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x13561963

Device Boot      Start         End      Blocks   Id  System

Command (m for help): 
可以看出没有了分区信息,删除分区成功。

7、现在新建分区,两个分区:
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-15523839, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15523839, default 15523839): +200M  //设定此分区的大小

Command (m for help): 
第一个分区已经新建完毕。

现在第二个分区:
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 2): 
Using default value 2
First sector (411648-15523839, default 411648): 
Using default value 411648
Last sector, +sectors or +size{K,M,G} (411648-15523839, default 15523839):     //没有写,就表示剩下的空间都是此分区的。
Using default value 15523839

Command (m for help): 
按照默认的就可以了,这样分区就完成了。

8、退出分区操作:
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

这一步有可能出错(如下),出错的原因是现有设备挂载了。首先必须卸载此设备,上面的操作才能执行成功。
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.


上面分区成功,但是我们想要自己的文件系统,比如分区1是fat格式的,分区2是ext2格式的,这样怎样处理呢?非常重要的命令mkfs
其有很多种命令:
mkfs          mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.msdos    mkfs.vfat     
mkfs.bfs      mkfs.ext2     mkfs.ext4     mkfs.minix    mkfs.ntfs

1、分区1为fat格式:

mkfs.vfat -F 32 -n vfat /dev/sdb1   //后面的vfat是自己起的设备的命令
root@samarxie:~# mkfs.vfat -F 32 -n fat /dev/sdb1
mkfs.vfat 3.0.12 (29 Oct 2011)

2、分区2为ext2格式:

mkfs.ext2 -F -L ext2 /dev/sdb2    //同上,这个会格式化,时间依据空间的大小不定
root@samarxie:~# mkfs.ext2 -F -L ext2 /dev/sdb2 
mke2fs 1.42 (29-Nov-2011)
文件系统标签=ext2
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
472352 inodes, 1889024 blocks
94451 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1937768448
58 block groups
32768 blocks per group, 32768 fragments per group
8144 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Writing superblocks and filesystem accounting information:      
完成

root@samarxie:~#

如果命令不知道,通过man mkfs.vfat查看,一目了然。
 
完成。

怎样在linux下对U盘进行格式化和分区的更多相关文章

  1. 实现Linux下的U盘(USB Mass Storage)驱动

    如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Cri ...

  2. 如何实现Linux下的U盘(USB Mass Storage)驱动

    如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Cri ...

  3. linux下挂载U盘

    转:http://www.cnblogs.com/yeahgis/archive/2012/04/05/2432779.html linux下挂载U盘 一.Linux挂载U盘: 1.插入u盘到计算机, ...

  4. Arch Linux下Visual Stdio Code在格式化C代码时报错

    libtinfo.so.5: cannot open shared object file: No such file or directory Arch Linux下Visual Stdio Cod ...

  5. LINUX下的U盘挂载

    linux下如果没有图形界面的情况下就要我们自己熟悉命令来挂载U盘,下面给大家详细描述下U盘的挂载过程. 1. 插入U盘 2. #sudo fdisk –l 查看所挂载盘符名称如下图,假设盘符名称为s ...

  6. linux下给U盘分区&制作文件系统

    这几天读到TLCL-Storage Media一节,不由的想要折腾一下U盘,一直以来U盘只是被拿来暂存数据,其内部有没有文件系统,数据怎么管理,那是从来也不清楚,本文就依葫芦画瓢,折腾下手中的King ...

  7. linux下挂载U盘【转】

    转自:http://www.cnblogs.com/yeahgis/archive/2012/04/05/2432779.html 一.Linux挂载U盘:1.插入u盘到计算机,如果目前只插入了一个u ...

  8. linux下转换U盘文件系统

    打算在windows 7 下复制一个12G 的文件至U盘,无奈U盘为FAT32格式,最大支持移动4G 的文件,只能将U盘文件系统格式化为NTFS.windows 7系统出现问题,转化中总是出现错误.故 ...

  9. linux下挂载U盘方法

    1.使用 cat /proc/partitions 查看系统现在有哪些分区:[root@localhost ~]# cat /proc/partitions major minor  #blocks  ...

随机推荐

  1. MongoDB 用户角色

    Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建.删除,查看统计或访问system.profile user ...

  2. Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中

    有两张表, 一张为爱好表b表 一张为用户表 u表 u表 id   名称   爱好Id 1    张三     1,2,3,4 2    李四      2,5 b表 id  名称 1    打乒乓 2 ...

  3. 打造不死的asp木马

    作者:黑色记忆本文已发表于<黑客X档案>杂志第十期 版权归<黑客X档案>所有 转载请注明版权 想不到,前几天我才发现,我千辛万苦收集的asp木马,居然没有几个不被Kill的.常 ...

  4. 【PHP7.1】linux centos7 安装phpredis扩展

    背景: linux  centos7.4  php7.1 一 . 安装redis 1 进入usr/local  目录 cd /usr/local 2  下载redis  并解压到当前目录 wget h ...

  5. MQTT的学习研究(十一) IBM MQTT 简单发布订阅实例

    package com.etrip.push; import com.ibm.mqtt.MqttAdvancedCallback; import com.ibm.mqtt.MqttClient; im ...

  6. 域名与IP对应,解决只能IP访问不能域名访问的问题

    sudo vim /etc/hosts 127.0.0.1 localhost 127.0.1.1 ubuntu 192.168.1.60 api.sscmp.com

  7. sort排序和uniq统计命令

    author:headsen chen date: 2018-08-13  11:08:09 1,sort:排序的功能,默认安装ASCII码来排序,-n 安装数值排,-r 按照倒序来排 [root@b ...

  8. Swift - 获取当前系统时间

    // 获取当前系统时间 let date = NSDate() let timeFormatter = NSDateFormatter() timeFormatter.dateFormat = &qu ...

  9. Thinkphp --- 入口文件

    通常入口文件是 index.php <?php define('APP_DEBUG',true); //define('BIND_MODULE','Home'); 这句代码会自动生成Home模块 ...

  10. thinkphp发起网络请求

    常规做法使用CURL方法: private function http_request($url,$data = null,$headers=array()){ $curl = curl_init() ...