Linux系统 磁盘的分区与gdisk、fdisk工具详解

🐇明明跟你说过:个人主页

🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》🏅

🔖行路有良友,便是天堂🔖

 

目录

一、Linux的起源与发展

二、磁盘分区 

1、分区的基本概念与类型

2、使用fdisk查看磁盘分区情况

3、创建新分区

4、删除分区 

5、gdisk和fdisk的区别

三、使用parted进行高级分区

​1、支持的分区表类型 

2、调整分区大小 


一、Linux的起源与发展


1991年,芬兰赫尔辛基大学的学生林纳斯·托瓦兹(Linus Torvalds)开始编写一个新的操作系统内核,这个内核最初被称为“Freax”。他的初衷只是想学习操作系统内核的开发,并为自己的个人计算机编写一个操作系统。然而,当他将这个内核发布在Internet上并开放源代码后,全球各地的程序员开始参与到这个项目中来,共同完善这个内核。最终,这个内核被命名为Linux,这个名字是由Linus Torvalds的名字和Unix操作系统的名字组合而成的。

Linux从一开始就坚持源代码的公开和免费使用,任何人都可以对其进行修改和分发。这种开放性和自由性吸引了大量的开发者和用户,使得Linux逐渐成长并成熟起来。如今,Linux已经发展成为一个性能稳定、功能强大的多用户网络操作系统,支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。同时,Linux也有上百种不同的发行版,如基于社区开发的Debian、ArchLinux,以及基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

二、磁盘分区 

1、分区的基本概念与类型

在Linux系统中,磁盘分区是将物理磁盘分割成不同的逻辑部分,每个分区可以独立地管理文件系统和数据。

  • 主分区(Primary Partition):主分区是在硬盘上直接创建的分区,每个硬盘最多可以有四个主分区。主分区可以包含操作系统和数据。
  • 扩展分区(Extended Partition):扩展分区是一种特殊的主分区,它可以被进一步分割成多个逻辑分区。通常,如果需要创建超过四个分区,就会使用扩展分区。
  • 逻辑分区(Logical Partition):逻辑分区是在扩展分区内创建的分区,用于进一步划分磁盘空间。Linux系统中可以有多个逻辑分区,但它们必须位于同一个扩展分区内。
  • 交换分区(Swap Partition):交换分区是一种特殊的分区,用于Linux系统的虚拟内存。当物理内存不足时,系统会将部分内存数据写入交换分区,以释放物理内存供其他程序使用。交换分区可以提高系统的稳定性和性能。

这些分区类型可以根据需要进行组合和调整,以满足系统的存储需求和性能要求。例如,可以将操作系统安装在主分区上,将用户数据存储在单独的逻辑分区上,同时为系统设置一个交换分区以提高性能。

2、使用fdisk查看磁盘分区情况

要使用 fdisk 命令查看磁盘分区情况,可以运行以下命令以查看系统中的磁盘列表:

fdisk -l


该命令会列出系统中所有的磁盘及其分区情况。磁盘通常以 /dev/sdX 的形式命名,其中 X 是字母,代表磁盘的标识符。

选择要查看的磁盘,并运行以下命令:

fdisk /dev/sdX


将 /dev/sdX 替换为你要查看的磁盘标识符。这将启动 fdisk 工具,并显示所选磁盘的分区情况。

在 fdisk 提示符下,可以使用 p 命令打印分区表,查看磁盘的当前分区情况。

上面是打印出的磁盘 /dev/nvme0n1 的分区情况:

  • /dev/nvme0n1p1:这是一个启动分区(Boot),起始扇区编号为 2048,结束扇区编号为 2099199,大小为 1MB,文件系统类型为 Linux(Id为 83)。
  • /dev/nvme0n1p2:这是一个 Linux LVM 分区,起始扇区编号为 2099200,结束扇区编号为 209715199,大小为 100GB,文件系统类型为 Linux LVM(Id为 8e)。

根据分区信息,磁盘 /dev/nvme0n1 上有两个分区,分别用于引导和 LVM(逻辑卷管理)。

3、创建新分区

我们可以按照以下步骤使用 fdisk 创建新分区:

运行 fdisk 命令并指定要分区的设备,例如 /dev/sdb。

fdisk /dev/sdb


使用 n 命令创建一个新分区。系统会询问您要创建的分区类型,通常选择主分区(Primary Partition),或者按照需要选择其他选项。

然后,系统会要求我们指定分区的起始扇区和结束扇区。我们可以根据需要输入分区的大小,或者按照默认设置直接按回车键使用整个可用空间。

使用 t 命令设置分区的文件系统类型。系统会要求我们输入文件系统类型的编号。我们可以输入 L 查看所有文件系统类型的列表,并根据需要选择相应的类型。

使用 w 命令将更改写入磁盘并退出 fdisk。

上面的示例中,我们使用 fdisk 成功地创建了一个新的主分区 /dev/sda4,大小为 20 GiB。我们首先选择了主分区选项(p),然后选择了默认的起始扇区和大小。最后,我们使用 w 命令将更改写入磁盘,使其生效。

4、删除分区 

要使用 fdisk 删除分区,通常可以按照以下步骤操作:

  • 使用 fdisk 打开磁盘设备:fdisk /dev/sdX,其中 sdX 是我们要操作的磁盘设备名称。
  • 输入 p 查看当前分区表,找到要删除的分区的编号。
  • 输入 d,然后输入要删除的分区编号。如果您要删除主分区,则可能需要选择新的主分区号码。
  • 输入 w 将更改写入磁盘。

示例:

[root@test ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x05aae4fb

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048   102604   100557   49M 83 Linux
/dev/sda2         102605  1134649  1032045  504M 82 Linux swap / Solaris
/dev/sda3        1134650 113678335 112543686 53.7G  5 Extended
/dev/sda4       113678336 209715199 96036864  45.8G 83 Linux

Command (m for help): d
Partition number (1-4, default 4): 
Partition 4 has been deleted.

Command (m for help): w
The partition table has been altered.

Calling ioctl() to re-read partition table.
Syncing disks.


在这个示例中,我们删除了 /dev/sda4 分区。

5、gdisk和fdisk的区别

gdisk 和 fdisk 都是用于磁盘分区的工具,但它们之间有一些区别:

支持的磁盘类型:

  • fdisk:适用于 MBR(Master Boot Record)分区表的管理。
  • gdisk:适用于 GPT(GUID Partition Table)分区表的管理。GPT 分区表相比于 MBR 具有更多的优点,例如支持更大的磁盘容量、更多的分区、更灵活的分区类型等。

用户界面:

  • fdisk:使用纯文本界面,较为简单。
  • gdisk:拥有更加友好的交互式界面,提供了更多的功能选项和信息展示。

分区类型:

  • fdisk:主要用于创建主分区和逻辑分区。
  • gdisk:支持创建 GPT 分区表中的主分区、逻辑分区和 EFI 分区。

支持的文件系统类型:

  • fdisk 和 gdisk 都可以设置分区的类型,但它们本身并不负责文件系统的创建和格式化。文件系统的创建和格式化通常需要使用 mkfs 等其他工具完成。

安全性:

  • 在处理 GPT 分区表时,gdisk 要比 fdisk 更加安全,因为它能够检测到 GPT 分区表的备份并在必要时进行恢复。

总的来说,如果要处理 GPT 分区表,或者需要更加友好和功能丰富的界面,推荐使用 gdisk。而对于传统的 MBR 分区表,则使用fdisk,二者在使用方法上基本一致。

   

三、使用parted进行高级分区

​1、支持的分区表类型 

parted 工具支持多种分区表类型,包括:

  • msdos:也称为 MBR(主引导记录)分区表,适用于较旧的 BIOS 系统。
  • gpt:GUID 分区表,用于较新的 UEFI BIOS 和 EFI 系统。
  • bsd:用于 BSD 系统的分区表类型。
  • dvh:Disklabel Versatile Header,用于 Dynamic Disk 和大容量存储设备。
  • loop:用于循环设备的分区表类型。

我们可以使用 parted 命令的 mklabel 子命令来创建新的分区表类型。例如,要将磁盘 /dev/sda 的分区表类型更改为 GPT,可以执行以下命令:

parted /dev/sda mklabel gpt

2、调整分区大小 

首先,使用 parted 命令打开相应的磁盘:

sudo parted /dev/sdX


(这里将 X 替换为要操作的实际磁盘字母)

然后,使用 unit 命令设置单位。例如,设置为 GB:

unit GB


使用 print 命令查看当前的分区信息,找到要调整大小的分区号。

使用 resizepart 命令调整分区大小。例如,要调整第一个分区的大小:

resizepart 1 50GB

最后,使用 quit 命令退出 parted。


※请注意,在调整分区大小之前,请务必备份重要数据,因为分区大小调整可能导致数据丢失。

💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些关于Linux的文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!! 

 

 

  • 34
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Linux 操作系统中的磁盘分区是指将硬盘物理上分成若干个区域,每个区域可以单独使用和管理,通常用来存储文件系统和用户数据。在 Linux 中,可以使用一些工具来进行磁盘分区,比如 fdisk、parted、gdisk 等。这些工具可以帮助用户创建、删除、修改、查看分区信息等。 磁盘的挂载是指将磁盘分区连接到文件系统树的指定位置,使得用户可以在该位置访问该磁盘分区中的数据。在 Linux 中,可以使用 mount 命令来挂载磁盘分区。通常在挂载前,需要先创建一个挂载点目录,然后将磁盘分区挂载到该目录下。 例如,可以通过以下步骤来创建一个名为 /data 的挂载点目录,并将 /dev/sdb1 磁盘分区挂载到该目录下: 1. 使用 fdisk 工具创建一个新的分区 /dev/sdb1; 2. 使用 mkfs 命令将该分区格式化为需要的文件系统,如 ext4; 3. 创建一个名为 /data 的目录,作为挂载点; 4. 使用 mount 命令将 /dev/sdb1 挂载到 /data 目录下。 这样,就可以在 /data 目录下访问 /dev/sdb1 分区中的数据了。如果需要在系统启动时自动挂载磁盘分区,可以将挂载信息添加到 /etc/fstab 文件中。 ### 回答2: Linux是一种开源的操作系统,其磁盘分区和挂载功能是Linux系统中非常重要的组成部分,它能够商场磁盘上的数据存储和管理。在Linux系统中,我们需要了解如何对磁盘进行分区和挂载,以协助操作系统合理地管理存储。 首先,磁盘分区是将硬盘分为几个逻辑区,以便将数据分别存储。Linux系统支持多种磁盘分区格式,如Ext2、Ext3、Ext4、XFS等。常见的磁盘分区命令包括fdisk、parted、gdisk等。使用这些命令可以轻松地创建、删除、调整磁盘分区。 其次,挂载是将磁盘分区Linux文件系统关联起来的过程。挂载既可以是手动的,也可以是自动的。 挂载磁盘分区之前,需要先创建挂载点,其实就是一个指向特定磁盘分区上的目录。挂载点可以创建在任何位置,以满足特定的需求。挂载命令是mount。通过使用mount命令,在Linux系统中可以轻松地挂载和卸载磁盘分区磁盘分区和挂载是Linux系统中两个非常重要并且紧密相关的概念。通过进行磁盘分区,我们可以实现合理分配硬盘的存储空间,将数据存储在特定磁盘分区上,方便管理和维护。通过挂载磁盘分区,我们可以让文件系统能够访问使用特定的磁盘分区上的数据,实现数据共享和高效存储。在Linux系统中合理使用磁盘分区和挂载功能,可以帮助我们更好地管理系统存储,提高工作效率,保证系统性能。 ### 回答3: 在Linux中,硬盘的分区与挂载是非常重要的一个概念,它们可以让我们更好地管理、利用硬盘空间。下面我将从分区与挂载的定义、原理、操作等方面详细介绍。 一、分区 分区是指将硬盘划分为一个或多个独立的区域,每个分区都有自己的文件系统,可用于存储文件和数据。分区后的硬盘被称为逻辑盘,与物理磁盘不同。硬盘的分区以序号0,1,2等方式命名,每个分区都包含一个文件系统。 硬盘的分区有很多种方法,常见的有MBR分区和GPT分区。MBR分区可以对硬盘分成4个主分区或3个主分区和1个扩展分区(可再划分为多个逻辑分区)。而GPT分区则没有这个限制,可划分更多的分区。在Linux中,fdisk和parted是常见的分区工具。 二、挂载 挂载是指将文件系统与目录结合到一起,使得该目录可以访问文件系统下存储的所有内容。在Linux中,所有文件系统都必须挂载后才能访问,包括硬盘上的分区、移动存储媒介(如U盘)、网络文件系统(如NFS)等。 挂载的过程需要指定挂载点,即将文件系统与哪个目录绑定。通常情况下,Linux系统会默认将各个分区挂载到相应的目录下,如根目录/、/home、/var等。如果要挂载其他目录下的分区,需要手动挂载。 三、操作 在Linux中,分区和挂载是管理员经常需要操作的两个任务。下面介绍在Ubuntu下如何对硬盘进行分区和挂载: 1.分区 使用fdisk工具对硬盘进行分区: # sudo fdisk /dev/sda 然后按p命令查看硬盘信息: Command (m for help): p Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sda1 * 1 13 102400 7 HPFS/NTFS Partition 1 does not end on cylinder boundary. /dev/sda2 13 53960 433126912 83 Linux 其中,/dev/sda1和/dev/sda2是已经划分好的分区。那如果我们新增一个分区,该如何操作呢? Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (53961-60801, default 53961): Using default value 53961 Last cylinder, +cylinders or +size{K,M,G} (53961-60801, default 60801): Using default value 60801 可以看到,我们成功地增加了一个名为/dev/sda3的新分区。 2.挂载 使用mount工具分区进行挂载: # mount /dev/sda3 /mnt/data 这里我们将新增的/dev/sda3分区挂载到/mnt/data目录下,即为挂载点。挂载成功后,即可在/mnt/data目录下访问分区中存储的所有内容。 总结 分区和挂载是Linux操作中不可或缺的概念。理解并掌握这两个概念,可以让我们更好地管理硬盘空间,并提高系统的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明明跟你说过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值