之前在安装Linux系统的时候,我们通过图形化界面,进行过磁盘的分区(需要的请看安装Linxu系统时分区详细说明),但是在这之后我不能保证,我不再需要添加新的磁盘再进行分区,这时候就需要手工进行分区了。
1、手工分区前提
(1)要有一块新的硬盘
如果需要手工分区,首先要有一块新的硬盘。
查看系统所有硬盘及分区,执行命令如下:
[root@localhost ~]# fdisk -l
说明:
fdisk
是手工分区的命令。-l
就是查询。
查询结果如下图:
从上图可以看出,有一个硬盘Disk /dev/sda
,大小是 21.5 GB
。
这块硬盘有三个分区,分别为/dev/sda1
、/dev/sda2
、/dev/sda3
。
提示:用
df
命令和mount
命令也是可以看到系统的分区信息。
(2)在虚拟机中添加一块新硬盘
我们平常学习Linux系统一般是用虚拟机来进行学习,虚拟机中可以随时添加一块新的硬盘。(不用单独在去买新硬盘)
提示:在添加硬盘前(虚拟机添加硬件之前),需要先关机。因为在VMware10版本以后,能不关机进行添加硬件设备,但是你添加完成后,Linux系统需要重启以后才能够识别到,所以还是直接关机在添加硬盘吧。
1)进入配置虚拟机硬盘页面
- 方式一:点击虚拟机的硬盘选项(任何一个选项都可以)
- 方式二:选择虚拟机—>设置
以上两种方式都能进入到虚拟机设置页面(硬盘设置在里面),如下图所示:
2)添加硬盘步骤
@1、选择硬盘,点击添加。
@2、选择硬盘,下一步。
@3、选择磁盘类型。
其实就是选择磁盘接口类型,这些接口都是虚拟出来的。默认即可。
说明:虽然我们之前说过,前两个接口类型是比较老式的接口,但都是虚拟出来的接口,效能上区别不大,而SCSI接口和SATA接口,在Linux系统中设备名都会被识别为
sd
开头(IDE为hd
开头)。所以默认就可以,实际的服务器上选择SATA接口。
@4、选择磁盘模式。
选择创建新虚拟磁盘(V)
,下一步。
选择该磁盘模式,在客户机操作系统中一个磁盘文件代表着一个硬盘。虚拟磁盘可以十分方便的在相同的或不同的主机之间进行复制或移动。
@5、选择磁盘大小。
选择将虚拟磁盘存储为单个文件
,下一步。
注意:
- 立即分配所有磁盘空间:会立即分配所设置的磁盘空间,而不是允许磁盘空间逐渐增长到最大。(无需立即分配,占用空间)
- 选择单文件和多文件:如果是
FAT32
分区的最大支持4G文件,你不拆分也得拆分,如果是NTFS的分区,则不需要拆分。多文件官方是说便携性好,其实两个都好移动,很明显是单文件好。
@6、指定虚拟磁盘文件的名称和位置。
需要给磁盘文件命名和指定目录,可以选择默认值,如果需要也可以更改名称和目录,点击“浏览”可以更改目录。确认后点击“完成”,那么一个新的磁盘就添加好了。
@7、点击完成后可以看到虚拟机中一个新的硬盘创建完成。
点击确定
,开启虚拟机,手工分区的前提就准备完成了。
提示:
如果添加新硬盘之后,开启虚拟机,执行ifconfig
命令,查看不到IP地址,极有可能就是硬盘设备的UUID冲突了,解决请看这篇文章解决,点击这里直达。
2、手工分区
(1)查看Linux系统所有硬盘及分区
先查看一下Linux系统所有硬盘及分区,执行如下命令:
[root@localhost ~]# fdisk -l
结果如下图,可以看到系统中有两块硬盘sda
、adb
,并且adb
硬盘没有做任何分区。
(2)手工分区:详细步骤
执行[root@localhost ~]# fdisk /dev/sdb
命令,进入磁盘分区(硬盘还没有进行分区,所以还没有分区号,这里就不用写分区号)
执行结果如下图:
说明:提示你输入命令(输入m会获取帮助)。
1)了解fdisk
命令选项。
输入m
,查看fdisk
命令的选项,结果如下图:
fdisk 交互指令说明:
-
a
:设置可引导标记。 -
b
:编辑bsd
磁盘标签。 -
c
:设置DOS
操作系统兼容标记。 -
d
:删除一个分区。(常用) -
l
:显示已知的文件系统类型的ID
号。82为Linux swap
分区,83为Linux
分区。(常用) -
m
:显示帮助菜单。(常用) -
n
:新建分区。(常用) -
o
:建立空白DOS
分区表。 -
p
:显示分区列表。(常用) -
q
:不保存退出。(常用) -
s
:新建空白SUN磁盘标签。 -
t
:改变一个分区的系统ID
号。(常用) -
u
:改变显示记录单位。 -
v
:验证分区表。 -
w
:保存退出。(常用) -
x
:附加功能(仅专家)。
不常用的了解一下就可以了。
2)创建新分区。
@1、输入n
,结果如下图:
询问你是创建扩展分区,还是主分区。
e
:extended
p
:primary partition(1-4)
一块硬盘最少要有一个主分区,然后剩下的空间可以按需分配主分区或者扩展分区。
@2、输入p
创建一个主分区,输入1
(数字一)表示主分区号,然后主分区的设备号最后就为sdb1
。(一个硬盘最多有4个分区)
如下图所示:
@3、选择该分区的起始柱面。
说明:
硬盘是以柱面作为物理存储结构的,一圈柱面大概存储容量是80-100MB。就相当于让你选择从硬盘头开始分配,还是从硬盘的某一个位置开始分配。
如果从某一个位置开始分,前面的空间就很难被利用了,注意现在这个硬盘是未分区的空硬盘。别自己给自己找麻烦,后期调整起来很麻烦。
我们就从头还是分配,选择1,默认值就是1,可以直接回车。
如下图所示:
@4、选择结束柱面。
如下图所示:
可以看到上图允许以字节的方式输入,但是计算的时候还是按柱面来计算,因为一个柱面大约80MB多,所以最终的结果会和字节方式输入的数值上下差一点。
如果直接回车,默认从第一个柱面开始分配到最后一个柱面。就是整个硬盘做了一个分区。
给分区分配2BG大小,如图:
注意:记得加单位,如果不加单位,按柱面算。
@5、然后主分区就完成了,输入p
查看一下分区列表。
如下图所示:
上图显示,出现了一个分区sdb1
,占用从柱面1到262柱面,分区的大小是blocks
,分区id
号是83(具体对照可以看l
选项),系统为Linux系统。
3)创建扩展分区如下图:
上面图中的步骤解释如下:
-
n
:创建新分区 -
2
:输入分区号(1别上边的主分区占用了) - 起始柱面和结束柱面:都选择了默认,也就是从柱面263到2610,剩下的空间都给扩展分区了。
输入p
查看一下分区列表,扩展分区创建完毕。
如下图所示:
可以看到新建sdb2
分区,是一个扩展分区,之前我们说过扩展分区是不能写入数据的,需要在扩展分区里边划分逻辑分区,在逻辑分区中存储数据。
4)创建逻辑分区。
接下来在扩展分区里边创建一个逻辑分区,如下:
可以看到上图中,是让你选择是创建逻辑分区,还是主分区。因为一个硬盘只能创建一个扩展分区,我们上边创建过了。所以就只能在扩展分区里创建逻辑分区了。
选择1
创建逻辑分区。之后可以看到没有让你选择分区号,因为逻辑分区默认是从5开始的,依次向后递增,也就是说逻辑分区的编号是自动赋予的。
最后的起始柱面和结束柱面分配同上。
输入p
查看一下分区列表,扩展分区中的第一个逻辑分区创建完毕。
如下图所示:
扩展分区中剩余的空间还可以在按需分配更多逻辑分区。
基本分区就以上三种情况。
(3)保存手工分区
输入w
选项,保存退出。
结果如下图:
系统会提示你,分区表已更改并保存!正在同步磁盘(Syncing disks
)。
但是有时因为系统的分区表正忙,则需要重新启动系统之后才能使新的分区表生效。
如下图所示:
看到如上提示,重启系统就可以了,你之前配置的分区设置其实已经被保存了。重启一下就生效了,不用在重新编辑,继续后面的操作就可以。
通过前边两步,我们已经对硬盘做了一个分区操作,但是还没有完,继续操作。
查看一下Linux系统所有硬盘及分区。
执行[root@localhost ~ ] # fdisk -l
,可以看到因硬盘的分区情况。
如下图所示:
继续后边的操作。
3、硬盘格式化
硬盘的格式化是为了建立文件系统。
注意:扩展分区不能写入数据,也不能进行格式化。唯一的作用就是包含逻辑分区。所以可以格式化的分区只有
sdb1
、sdb5
两个分区。如上图。
格式化分区用mkfs
命令。
执行命令:
[root@localhost ~]# mkfs -t ext4 /dev/sdb1
结果如下:
sdb5
分区同理。
mkfs
命令非常简单易用,不过是不能调整分区的默认参数的(比如块大小是4096)。这些默认参数除非特殊情况,否则不需要调整(默认值已经很优化了,没事不要给自己增添麻烦)。
如果想要调整就需要使用mke2fs
命令进行重新格式化。
命令格式如下:
[root@localhost ~]# mke2fs [选项] 分区设备文件名
选项:
-
-t
:文件系统:指定格式化成哪个文件系统,如ext2
,ext3
,ext4
。 -
-b
:字节:指定block
块的大小。 -
-i
:字节:指定“字节/inode”
的比例,也就是多少个字节分配一个inode
。 -
-j
:建立带有ext3
日志功能的文件系统。 -
-L
:卷标名:给文件系统设置卷标名,就不使用e2labe1
命令设定了。
举个例子:
格式化分区,并指定block
的大小为2048。
[root@localhost ~]# mke2fs -t ext4 -b 2048/dev /sdb6
注意:不推荐是用
mke2fs
命令。格式化分区就用mkfs
命令就很好。
4、建立挂载点,并挂载
挂载点就是创建一个空目录,用于挂载硬盘中分区。
如下图所示:
5、查看磁盘分区情况
可以用以下三个命令进行查看:
-
mount
:查看所有已经挂载的分区和光盘。 -
fdisk -l
:查看系统分区。 -
df
:查看分区占用百分比。
(1)查看所有已经挂载的分区和光盘
执行[root@localhost ~ ] # mount
命令。
结果如下图:
(2)查看系统分区占用百分比
执行[root@localhost ~ ] # df -h
命令。
结果如下图: