文章目录
查看磁盘设备
使用df或者ls命令查看Linux系统的磁盘设备,下图的sdb1就是我接入Ubuntu的一个SD卡,sda是系统硬盘(虚拟机的虚拟磁盘)。

文件系统格式简介
我们可以在Ubuntu下使用下面的方式查看各磁盘的文件系统类型,

上图显示,linux系统分区的文件系统类型为ext4,SD卡的文件系统为ntfs,下面是常见文件系统的简介:
EXT
FAT
FAT16
FAT32
exFAT
NTFS
磁盘管理命令
fdisk是一个磁盘管理命令,使用起来比较简单,它可用来查看/修改磁盘分区信息。
如果只是看磁盘信息,可以使用sudo fdisk -l

在终端上输入sudo fdisk /dev/sdb可以进入sdb的磁盘管理,同时终端会打印如下信息,提示所有可用操作。
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
比较常用的命令如下:
- p 显示现有的分区
- n 建立新的分区
- t 更改分区类型
- d 删除现有的分区
- w 保存分区更改并退出
- q 不保存退出
磁盘分区
接下来我们来对SD卡进行分区操作,我打算把SD卡(/dev/sdb)分成两个分区,并设置不同的文件系统。
首先,在sudo fdisk /dev/sdb进入磁盘管理的情况下输入p,查看磁盘分区情况,磁盘分区是以扇区为单位,一个扇区512字节,该SD卡总共有15603712个扇区。

输入d将分区/dev/sdb1删除,然后输入n新建一个分区,

按照提示分别输入分区选项,选择主分区,分区号为1,起始扇区为2048,由于我想把SD卡平分成两个分区,所以我的截止扇区=(最大扇区-起始扇区)/ 2,

再用同样的步骤,创建第二个分区,将SD卡剩余空间分配完,

最后记得一定要保存后再退出,虽然此时分区制作完成,但这两个分区还不能使用,因为还没进行格式化(没有文件系统)。
磁盘格式化
Linux下的格式化命令是mkfs,它能格式化的系统包括:

sudo mkfs.ntfs /dev/sdb1可以把/dev/sdb1分区格式化为 NTFS 文件系统(竟然用了十几分钟,太慢了。。。)

此时SD卡的1分区已经是NTFS文件系统了。

同样的步骤,我将第二分区改为FAT32(VFAT)文件系统,这次很快,格式化前,(如果分区已经有文件系统且被挂载)一定要先取消挂载。

继续用sudo fdisk -l,发现二号分区并没有变化(但其实已经是FAT32系统了)

使用parted命令也可以查看文件系统类型。

挂载/卸载磁盘
磁盘分区只有挂载后才能使用,一般的发行版Linux都会有自动挂载功能,比如Ubuntu将外部磁盘挂载到了/media目录下,

我们也可以使用mount命令进行手动挂载,挂载之前,如果目标分区已经被其他目录挂载,需要使用umonut进行卸载,下图我使用sudo mount -t ntfs /dev/sdb1 /mnt/将/dev/sd1分区挂载到了/mnt目录下(个人习惯不加-t参数,但是不知道有什么后果)。











