Linux中新增硬盘的分区,格式化与挂载
本篇教程内容为怎样对Linux新增硬盘进行挂载,所以如果有准备新增硬盘但是有各种问题的,请参看本篇教程。
我们先说说什么是挂载?
我们知道Linux中的所有设备都是以文件的形式存储的,所以挂载是将一个存储设备挂接到一个已存在的目录上,而我们要访问存储设备中的文件,必须要将文件所在的分区(注意需要先分区)挂载到一个已存在的目录上,通过目录来访问存储设备中的文件。
挂载只是其中的一部分,之前还需要分区和格式化,那么为何要进行格式化呢?原因在于操作系统必须要按照一定得方式来管理磁盘,而只有格式化才能使磁盘的结构被操作系统识别。
由于本人的Linux是CentOs并安装在虚拟机中,所有将在虚拟机中演示硬盘挂载过程。
找到虚拟机设置,点击进入。如下图:
点击硬盘,点击下面的添加。选择默认推荐的SCSI磁盘格式:
一路点击下一步:
我们仍为其分配20G的大小。
完成后可以看到硬件中有一个新硬盘,大小为20GB,我们点击确定即可开机启动。
分区:
下面我们进入Linux系统中,下面来进行磁盘的分区,在Linux中通常使用的磁盘分区工具为fdisk。fdisk分区工具中有一些常用的子命令,我们先来熟悉一下。
Fdisk <硬盘设备名>: 对指定的硬盘进行分区操作
Fdisk -l :显示指定硬盘分区表信息
Fdisk -d:删除一个硬盘分区
Fdisk -n:创建一个分区
Fdisk -p:列出硬盘分区表
Fdisk -q:退出fdisk,不保存更改
Fdisk -w:把设置写入硬盘分区表,然后退出。
熟悉了这些命令后,我们就可以开始进行分区了。
[root@localhost ~]# fdisk -l
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
使用上面的命令可以得到刚才我们添加的那块硬盘信息。
我们的要求是分一个主分区,一个扩展分区,和两个逻辑分区
首先我们添加一个主分区:
我们为主分区设置的大小为:2GB
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
我们将剩下的磁盘大小全部留给扩展分区,如下图:
下面我们来分逻辑分区,将5号逻辑分区设为2GB,6号逻辑分区设为16GB:
我们使用子命令p命令可以看到刚才的分区:
注意此时我们退出到命令行时,一定要注意使用子命令w:该命令的含义是将设置写入磁盘分区表,然后退出。如果直接退出,则之前的内容不保存更改。
格式化:
分区之后,我们将主分区格式化为fat32的文件系统,两个逻辑分区格式化成ext3的文件系统。
我们使用mkfs命令,常用格式为:mkfs [option] device
其常用参数为:-t:是指将文件系统转为其他格式。例如:mkfs -t vfat /dev/sdb1
是指将目录/dev/sdb1挂载的文件系统转化为fat32类型
[root@localhost ~]# mkfs -t vfat /dev/sdb1
mkfs.fat 3.0.20 (12 Jun 2013)
[root@localhost ~]# mkfs -t ext3 /dev/sdb5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mkfs -t ext3 /dev/sdb6
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1048576 inodes, 4193536 blocks
209676 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
128 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
这样即可将将主分区与逻辑分区格式化为合适的文件系统。
挂载:
做完了分区和格式化,下面终于该挂载了,为何要挂载?我们在前面的内容中已经说明。下面我们来了解一下挂载命令:mount
格式:mount [-参数] [设备名称][挂载点]
-t vfstype:指定文件系统的类型,通常不必指定,因为mount会自动选择正确的类型。
常用类型有:vfat(Windows 9x fat32),ntfs(windows NT ntfs)
-o option:主要用来描述设备或档案的挂接方式
常用类型有:loop(用来把一个文件当成硬盘分区挂接上系统)
Ro:采用只读方式挂接设备
Rw:采用读写方式挂接设备
我们用mount命令挂载sdb1和sdb5到/mnt/sdb1和/mnt/sdb5
首先创建目录:[root@localhost ~]# mkdir /mnt/sdb1 /mnt/sdb5
挂载:
[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/sdb1
[root@localhost ~]# mount -t ext3 /dev/sdb5 /mnt/sdb5
输入mount回车,在输出里可以看到系统里所有挂载的文件系统:
可以看到刚才挂载的分区已成功挂载到所创建的两个目录上。