之前在安装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

结果如下图,可以看到系统中有两块硬盘sdaadb,并且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,结果如下图:

询问你是创建扩展分区,还是主分区。

  • eextended
  • pprimary 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、硬盘格式化

硬盘的格式化是为了建立文件系统。

注意:扩展分区不能写入数据,也不能进行格式化。唯一的作用就是包含逻辑分区。所以可以格式化的分区只有sdb1sdb5两个分区。如上图。

格式化分区用mkfs命令。

执行命令:

[root@localhost ~]# mkfs -t ext4 /dev/sdb1

结果如下:

sdb5分区同理。

mkfs命令非常简单易用,不过是不能调整分区的默认参数的(比如块大小是4096)。这些默认参数除非特殊情况,否则不需要调整(默认值已经很优化了,没事不要给自己增添麻烦)。

如果想要调整就需要使用mke2fs命令进行重新格式化。

命令格式如下:

[root@localhost ~]# mke2fs [选项] 分区设备文件名

选项:

  • -t:文件系统:指定格式化成哪个文件系统,如ext2ext3ext4
  • -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命令。

结果如下图:

『学了就忘』Linux文件系统管理 — 59、使用fdisk命令进行手工分区的更多相关文章

  1. 『学了就忘』Linux文件系统管理 — 67、通过命令模式进行LVM分区

    目录 1.物理卷管理 (1)准备硬盘或者分区 (2)建立物理卷 (3)查看物理卷 (3)删除物理卷 2.创建卷组 (1)建立卷组 (2)查看卷组 (3)增加卷组容量 (4)减小卷组容量 (5)删除卷组 ...

  2. 『学了就忘』Linux文件系统管理 — 62、手动分配swap分区

    目录 1.查看swap分区情况 2.手动修改swap分区 3.格式化swap分区 4.使用swap分区 5.配置swap分区开机之后自动挂载 1.查看swap分区情况 swap分区就相当于是内存的一个 ...

  3. 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤

    目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...

  4. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

  5. 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍

    目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...

  6. 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令

    目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...

  7. 『学了就忘』Linux文件系统管理 — 61、使用parted命令进行分区

    目录 1.parted命令介绍 2.parted交互模式 3.建立分区 (1)查看分区 (2)修改成GPT分区表 (3)建立分区 (4)建立文件系统(格式化) (5)调整分区大小 (6)删除分区 1. ...

  8. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

  9. 『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载

    目录 1.自动挂载 2.如何查询系统下每个分区的UUID 3.配置自动挂载 4./etc/fstab文件修复 上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载. 但是我们发现重启系统 ...

随机推荐

  1. java实现责任链模式的小demo

    //一个请假请求 public class LeaveRequest { private int leaveDays; private String name; public void leave() ...

  2. 海信A6/A6L A7Pro/CC A5PRO/A5PRO CC 安装gms google service指南

    用过海信双面屏或者eink手机的朋友都知道,海信手机就是死活安装不了谷歌全家桶,因为海信的领导说跟谷歌有协议不能安装谷歌框架(还说后期google审核坚决不给安装,人家其他ov mui都可以安装).不 ...

  3. find+xargs+sed批量替换

    写代码时经常遇到要把 .c  和 .h的文件中的某些内容全部替换的情况,用sourceinsight 进行全局的查找是一个方法,但是sourceinsight只能替换一个文件中的字符串,不能同时替换多 ...

  4. perl Encode模块的使用

    编码问题是广泛存在的,只有正确的编码才能在不同的地方正确的显示内容.而在数据的获取和转移过程中,编码经常是很需要注意的问题.perl有功能很好的编码处理模块Encode.在程序里简单的use Enco ...

  5. 【UE4 C++】Actor 与 Component —— 创建、销毁

    Actor的生成与销毁 创建Actor实例 UClass* TSubclassOf<T> SpawnActor() UPROPERTY(EditAnywhere, Category = & ...

  6. 【UE4 设计模式】设计模式一些概念

    定义 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结. 使用设计模式是为了重用代码.让代码更容易被他人理解.保证代码可靠性. 四人帮 GOF ( Gang of Four ...

  7. 开关电源(DC-DC)与LDO电源的区别---纹波

    https://blog.csdn.net/edadoc2013/article/details/78435775

  8. Python:Ubuntu上出现错误 Could not load dynamic library 'libnvinfer.so.6' / 'libnvinfer_plugin.so.6'

    运行一个py文件,出现如下的错误,原因是没有找到 libnvinfer.so.6 相关库的文件. 1 2021-01-04 18:41:17.324477: W tensorflow/stream_e ...

  9. reactnative实现qq聊天消息气泡拖拽消失效果

    前言(可跳过) 我在开发自己的APP时遇到了一个类似于qq聊天消息气泡拖拽消息的需求,因为在网上没有找到相关的组件,所以自己动手实现了一下 需求:对聊天消息气泡拖拽到一定长度松开时该气泡会消失(可自行 ...

  10. Hadoop的HA(ZooKeeper)安装与部署

    非HA的安装步骤 https://www.cnblogs.com/live41/p/15467263.html 一.部署设定 1.服务器 c1   192.168.100.105    zk.name ...