首页 > 其他分享 >创建磁盘并进行分区

创建磁盘并进行分区

时间:2024-10-15 17:17:20浏览次数:9  
标签:创建 分区 Linux 文件系统 dev 挂载 磁盘

        在Linux系统中,创建磁盘并进行分区的步骤通常包括确认磁盘设备、创建磁盘、创建分区表、格式化分区、创建挂载点以及挂载分区等。以下是一个详细的步骤说明及示例:

一、确认磁盘设备

       lsblk 是一个在 Linux 和其他类 Unix 操作系统中用于列出所有块设备及其属性的命令。这个命令非常有用,因为它可以显示设备的挂载点、文件系统类型、大小等信息,帮助用户了解系统的存储设备布局。

基本用法

       (1)、 在终端中直接输入 lsblk,将显示系统中所有块设备的列表,包括硬盘、分区、光盘驱动器、RAM 盘等。输出通常包括设备名称、主要/次要编号、设备大小、类型、挂载点等信息。

由此可得:一块磁盘/dev/sda,磁盘有两个分区/dev/sda1和/dev/sda2

解释输出

  • NAME: 设备名称,如 sda 表示第一个 SATA 硬盘,sr0 表示第一个光驱。
  • MAJ:MIN: 主次设备号,用于唯一标识设备。
  • RM: 是否是可移除设备(removable),1 表示是,0 表示否。
  • SIZE: 设备大小。
  • RO: 是否只读(read-only),1 表示是,0 表示否。
  • TYPE: 设备类型,如 disk 表示硬盘,part 表示分区,rom 表示只读存储器。
  • MOUNTPOINT: 挂载点,即设备挂载的文件系统路径。

使用选项

lsblk 命令提供了多种选项,以更详细地显示设备信息或过滤输出。

-f, --fs:显示文件系统类型。

        (2)、使用fdisk -l命令查看当前系统的磁盘情况,找到需要分区的磁盘设备。例如,如果要对/dev/sdb进行分区,需要先确认该设备是否存在。


由此可得:一块磁盘/dev/sda,磁盘有两个分区/dev/sda1和/dev/sda2,/dev/sda2的LVM分区创建了两个逻辑卷
  1. 物理磁盘 /dev/sda

    • 容量:21.5 GB(21474836480 字节)
    • 扇区总数:41943040
    • 扇区大小:逻辑和物理都是512字节
    • I/O 大小:最小和最佳都是512字节
    • 磁盘标签类型:DOS
    • 磁盘标识符:0x000cc413

    分区

    • /dev/sda1:这是一个启动分区(由星号 * 标记),起始扇区是2048,结束扇区是2099199,共有1048576个扇区(大约512 MB)。文件系统类型是Linux(ID 83)。
    • /dev/sda2:这是一个LVM(逻辑卷管理)分区,起始扇区是2099200,结束扇区是41943039,共有19921920个扇区(大约9.5 GB)。文件系统类型是Linux LVM(ID 8e)。
  2. 逻辑卷

    • /dev/mapper/centos-root:这是一个逻辑卷,容量为18.2 GB(18249416704 字节),扇区总数为35643392。它是基于/dev/sda2这个LVM分区创建的。
    • /dev/mapper/centos-swap:这是另一个逻辑卷,用作交换空间,容量为2147 MB(2147483648 字节),扇区总数为4194304。它也是基于LVM管理的,但可能是从/dev/sda2或其他LVM物理卷中分配的。

注意事项

  • LVM:逻辑卷管理(LVM)允许您在物理磁盘上更灵活地管理存储空间。您可以创建、扩展、缩小和删除逻辑卷,而无需重新分区物理磁盘。
  • 交换空间:/dev/mapper/centos-swap是一个交换分区,用于当物理内存不足时,系统可以使用硬盘上的这部分空间作为虚拟内存。
  • 启动分区:/dev/sda1是启动分区,包含引导加载程序和可能的系统初始化文件。这个分区通常是只读的,并且在启动时首先被访问。

二、创建磁盘

目标:在虚拟机中添加一块SCSI类型的8GB的硬盘。
        选择"虚拟机"→"设置"→选中硬盘,单击"添加"按钮,根据向导进行"下一步",选择磁盘大小 8GB,然后单击"完成"按钮,最后单击"确定"按钮,重启系统后才能加载新硬盘。

分步骤操作:

(1)选择虚拟机

(2)选择设置

(3)选中硬盘,单击"添加"按钮

(4)根据向导进行"下一步" 

(6)选择推荐SCSI磁盘类型

(7)创建虚拟磁盘,直接下一步

(8)选择磁盘大小 8GB

(9)点击“完成”并“确定”

当我们创建完成后通过lsblk命令查看,结果如下:

        结果并没有生成新磁盘sdb,因为最后还要进行重启,重启之后才能生效,所以使用命令reboot 进行虚拟机重启

reboot

重启之后再次检查:

三、创建分区表

1.使用fdisk命令进入分区操作界面。

fdisk /dev/sdb

结果如下:

2.输入m获取帮助

结果如下:

3.输入n新建一个分区。

结果如下:

4.根据提示输入分区类型(主分区或扩展分区)和分区编号。主分区用于存放操作系统和数据,扩展分区用于突破四个主分区的限制,但不能直接使用,需要划分成逻辑分区。这里输入p创建一个主分区

结果如下:

5.输入分区号,输入1,也可以直接点击enter键

结果如下:

6.输入起始扇区和分区大小。可以使用默认值或根据需求自定义。(这里我直接点击enter键)

结果如下:

7.输入p查看已创建的分区信息,确保分区创建正确。

结果如下:

可以看到磁盘/dev/sdb 成功创建分区/dev/sdb1

8.输入w保存并退出fdisk

结果如下:

四、格式化分区(创建文件系统)

          (1)输入mkfs,然后按下Tab键两次,系统会列出所有以mkfs.开头的命令,这些命令通常对应于不同的文件系统类型。结果如下:

      (2)使用mkfs命令对分区进行格式化。以ext4文件系统为例,如果新分区为/dev/sdb1,则可以使用以下命令进行格式化: 

mkfs.ext4 /dev/sdb1

或 

mkfs -t ext4 /dev/sdb1

结果如下:

在格式化分区前后查看/dev/sdb1有哪些变化:

格式化之前使用命令:lsblk -f 的结果如下:

可以发现格式化之前/dev/sdb1的UUID并没有

格式化后:

可以发现/dev/sdb1分区有了自己的ID,但是没有挂载点,所以需要下一步——挂载

补充:UUID可以用于唯一标识分区和文件系统。这样,即使磁盘的挂载点发生变化,系统也能通过UUID找到正确的分区和文件系统。

补充:常见的文件系统类型及特点

1. FAT (File Allocation Table)

特点:
  • 简单性:FAT文件系统结构简单,易于理解和实现。
  • 兼容性:广泛兼容各种操作系统,包括Windows、Mac OS和Linux。
  • 限制:支持的最大文件大小和分区大小有限,FAT32通常限制为4GB。
  • 性能:不适合大容量存储,因为文件分配效率不高。
  • 使用场景:常用于USB闪存盘和小型存储设备。

2. NTFS (New Technology File System)

特点:
  • 高级特性:支持文件权限、加密、磁盘配额和事务日志。
  • 大容量:理论上支持的最大分区大小可达16EB,单个文件大小可达16TB。
  • 性能:优化的磁盘空间分配和错误恢复机制。
  • 兼容性:虽然主要在Windows系统中使用,但也可以在Linux中读写(需要额外的软件支持)。
  • 使用场景:Windows操作系统的默认文件系统,适用于大多数内部硬盘。

3. ext4 (Fourth Extended Filesystem)

特点:
  • 稳定性和性能:是Linux系统中广泛使用的文件系统,具有良好的稳定性和性能。
  • 大文件支持:支持16TB的文件大小和1EB的文件系统大小。
  • 高级特性:支持日志记录、扩展属性、稀疏文件等。
  • 兼容性:主要在Linux中使用,Windows需要第三方工具才能访问。
  • 使用场景:适用于大多数Linux发行版的内部硬盘。

4. APFS (Apple File System)

特点:
  • 优化SSD:专为SSD存储设计,减少写入放大和优化性能。
  • 克隆和快照:支持文件系统级别的克隆和快照功能。
  • 加密:支持完整磁盘加密和单个文件加密。
  • 兼容性:专为macOS设计,不支持Windows和Linux原生访问。
  • 使用场景:macOS High Sierra及以后版本的默认文件系统。

5. HFS+ (Hierarchical File System Plus)

特点:
  • 兼容性:在macOS中广泛使用,也可在Windows上通过第三方软件访问。
  • 限制:单个文件大小限制为16TB,分区大小限制为8EB。
  • 性能:对于大文件和大量小文件的性能不如APFS。
  • 使用场景:在APFS之前是macOS的默认文件系统,现在主要用于旧版macOS系统和外部存储设备。

6. XFS (X File System)

特点:
  • 高性能:设计用于处理大量数据,适用于大型文件系统。
  • 可扩展性:支持非常大的文件系统大小,可达18EB。
  • 日志记录:确保文件系统的一致性。
  • 兼容性:主要在Linux中使用,Windows和macOS不支持。
  • 使用场景:适用于需要高性能和高容量的企业级存储解决方案。

五、创建挂载点

        (1)使用mkdir命令在/目录下创建一个挂载点。例如,为/dev/sdb1分区创建一个名为/mydisk的挂载点(相当于创建一个目录,位置随意):

mkdir /mydisk

补充:如何理解挂载?

        创建好文件系统的存储设备并不能马上使用,必须把它挂载到文件系统中才可以使用。在Linux 系统中无论是硬盘、光盘还是 U 盘,都必须经过挂载才能进行文件系统存取操作。所谓挂载就是将存储介质的内容映射到指定的目录中,此目录为该设备的挂载点,这样,对存储介质的访问就变成了对挂载点目录的访问。一个挂载点多次挂载不同设备或分区时,最后一次有效;一个设备或分区可以多次挂载到不同的挂载点。
        通常,硬盘上的系统分区会在Linux的启动过程中自动挂载到指定的目录,并在关机时自动卸载,光盘等可移动存储介质可以在启动时自动挂载。也可以在需要时手动挂载或卸载。

为什么挂载后这个目录下以前的内容将不可用(如果目录不为空)。

        因为Linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录,所以要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。

六、挂载分区

        挂载文件系统,目前有两种方法:一是通过mount命令手动挂载,另一种方法是通过/etc/fstab文件开机时自动挂载。 

1.临时挂载:使用mount命令将分区挂载到指定的挂载点。例如,将/dev/sdb1挂载到/mydisk

格式:mount [选项] [设备名] [装载点]

mount /dev/sdb1 /mydisk

执行命令之前使用lsblk -f 查看:

之后:

注意:这种方法只是临时挂载,当你重启时虚拟机就会断开,所以需要实现自动挂载

2.永久挂载:编辑/etc/fstab文件,将新分区的挂载信息添加到文件中,以实现开机自动挂载。添加以下内容到/etc/fstab文件的末尾:

(1)输入命令编辑文件

vim /etc/fstab

进入之后,结果如下:

(2)输入i进入编辑模式,将下面的内容写入进去

/dev/sdb1        /mydisk    ext4  defaults  0 0

结果如下: 

(3)写完之后点击esc,然后输入  :wq 保存并退出

或者另一种更快的方式:

echo '/dev/sdb1 /mydisk ext4 defaults 0 0' >> /etc/fstab 

七、删除挂载

        卸载(umount)是将存储设备与目录树中的目录解除关联的过程。在卸载之前,必须确保没有进程正在使用该存储设备上的文件或目录。

格式:umount [选项] 装载点(既可以是设备名也可以是挂载目录名)

umount /dev/sdb1

umount /mydisk

删除之前:

之后:

注意事项:

        重要的是要理解,umount命令并不会删除存储设备上的任何数据或文件系统结构。它只是简单地使操作系统不再能够通过特定的挂载点访问这些数据。如果你希望删除存储设备上的文件系统,你需要使用格式化工具(如mkfs)来重新格式化该设备。

        另外,需要注意的是,在卸载文件系统之前,必须确保没有任何进程正在使用该挂载点上的文件或目录。如果尝试卸载一个正在被使用的文件系统,umount命令可能会失败,并返回错误消息。在这种情况下,你可能需要使用umount -f(强制卸载)选项,但请注意,这可能会导致数据丢失或文件系统损坏,因此通常不推荐这样做。更安全的方法是先终止所有使用该挂载点的进程,然后再执行umount命令。

标签:创建,分区,Linux,文件系统,dev,挂载,磁盘
From: https://blog.csdn.net/2401_83418369/article/details/142945574

相关文章

  • linux分区名字改变导致系统无法正常启动
    linux增加磁盘linux添加磁盘的时候出现如下图所示问题出现这个问题的原因是因为原来的的磁盘被分成了几个分区,分区标识符是sda1、sda2。然后再/etc/fstab文件中配置这两个分区的了开启挂载。但是当插入新磁盘的时候,原来的磁盘分区名称发生了变化,导致开机的时候读取/etc/fstab......
  • 单元格之间创建循环超链接01
    我们可以使用openpyxl库来操作Excel文件。以下是代码,展示了如何在指定的工作表中为具有相同值的多个单元格之间创建循环超链接安装openpyxl首先,确保你已经安装了openpyxl库。如果没有安装,可以使用以下命令进行安装:pipinstallopenpyxlimportopenpyxldefcrea......
  • 【Next.js 项目实战系列】02-创建 Issue
    原文链接CSDN的排版/样式可能有问题,去我的博客查看原文系列吧,觉得有用的话,给我的库点个star,关注一下吧 上一篇【Next.js项目实战系列】01-创建项目创建Issue配置MySQL与Prisma​在数据库中可以找到相关内容,这里不再赘述添加model​本节代码链接#schema.pri......
  • 创建第一个小程序
    https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html下载后傻瓜式安装后设置以下内容  选js模板  ......
  • H3C UniServer R4900 G5创建 RAID卷【图解】
    正常开机,弹出选择按键选择Esc2.进入此页面下拉可以换成中文语言(能看懂英文的忽略)3.开启RAID功能,选择高级→平台配置→PCH配置→PCHSATA配置→将配置SATA为改成RAID,然后F4保存并重启4.重启之后继续选择Esc进入BIOS→选择高级→动态设备配置菜单→选择自己的阵列→......
  • 【SD】创建交货单
    本文简单介绍SAP销售订单创建交货单的过程交货凭证分为两层:抬头和项目(销售凭证中的每个计划行都可以作为交货凭证中的项目)•交货凭证抬头:凭证抬头的数据对于整个凭证都有效•交货凭证项目:交货凭证中的每个项目都包含自己的数据。例如,其中包括有关物料、数量和重量的数......
  • 实战篇:(二)React 创建项目并连接 MySQL 后台的实战教程
    React创建项目并连接MySQL后台的实战教程一、项目概述本篇博客将介绍如何使用React搭建前端项目,并通过Node.js和MySQL实现简单的后台数据连接。通过这个项目,你将掌握从前端到后端数据库的基础开发流程,适合初学者或正在项目实战中的开发者。二、项目准备1.环境......
  • df和du显示的磁盘空间使用情况不一致
    du-Disk Usagedf-Disk Free [root@VM-8-12-centos/]#df-hFilesystem     Size UsedAvailUse%Mountedondevtmpfs       989M    0 989M  0%/devtmpfs         1000M  24K1000M  1%/dev/shmtmpfs         100......
  • Ros环境创建相关!超级简单!!超级详细!!
    1、创建工作空间workspace其中catkin_ws后面的ws是work_space的简写,指代工作空间<catkin_ws是你的工作空间的名字,随便取>mkdir-p~/catkin_ws/srccd~/catkin_ws/src/catkin_init_workspace以下为执行结果:2、编译生成build、devel代码等cd~/catkin_wscatkin_make3......
  • 初步使用管理器创建窗口
    之前做过一个关于使用Java建立窗口的小练习,初步学习了有关的知识,使用的是GridBagLayout管理器。目前学习了如何使用GridBagLayout创建一定大小的窗口,建立按钮和改变按钮大小与间隔。publicclassTestDoubleextendsJFrame{publicTestDouble(){ //创建GridBagLa......