分区

常用命令行工具:

  • fdisk:适用于 MBR 分区表
  • gdisk:适用于 GPT 分区表
  • parted:适用于 MBR 和 GPT 分区表,功能更强大。它还有一个 GUI 版本,名为 gparted,使用起来更加方便。

MBR 分区表已经被淘汰了,现在基本都使用 GPT 分区表。这篇文章将使用 gdisk 编辑 GPT 分区表。如果你的 Linux 有图形界面,建议使用 gparted 工具编辑分区,更加方便快捷。

安装必要的工具:

sudo apt install gdisk util-linux

列出所有物理磁盘及其分区表:

sudo parted -l

在上一步中选择你要进行分区操作的磁盘,例如 /dev/sda,然后进入交互式分区编辑界面:

sudo gdisk /dev/sda

常用命令:

  • p:打印当前分区表
  • n:新建分区
  • d:删除分区
  • w:保存并退出
  • q:不保存直接退出

新建一个分区:

(gdisk) Command (? for help): n  # 新建分区
(gdisk) Partition number (5-128, default 5): # 分区号,默认为第一个可用的分区号
(gdisk) First sector (3794108416-3907029134, default = 3794108416) or {+-}size{KMGTP}: # 起始扇区,默认为磁盘空闲空间的起始位置
(gdisk) Last sector (3794108416-3907029134, default = 3907028991) or {+-}size{KMGTP}: +512G # 结束扇区,指定为起始扇区的后 512 GiB 处
(gdisk) Current type is 8300 (Linux filesystem)
(gdisk) Hex code or GUID (L to show codes, Enter = 8300): # 分区类型,默认为 Linux 文件系统类型
(gdisk) Changed type of partition to 'Linux filesystem'

这样,我们就创建了一个分区计划:新建分区 /dev/sda5,分区大小为 512 GiB,分区类型为 Linux 文件系统。

接下来应用这个分区计划,键入 w 保存并退出 gdisk

在新建分区时注意到需要指定分区类型。在 Windows 或 macOS 上分区过的小伙伴应该会发现以前并没有提示过要指定分区类型。实际上是因为软件将分区和格式化两个操作合并到一起了。在你为新分区指定文件系统时,分区软件自动匹配了其适合的分区类型。

那么分区类型的作用是什么?在 GPT 分区表中,每个分区都有一个类型 GUID,用来帮助操作系统和固件(如 UEFI)判断分区用途。比如说,类型为 EFI 的分区会被 UEFI 用来搜索引导程序。常用的分区类型有以下几种:

  • Linux Filesystem Data:十六进制代码 8300,常用文件系统 ext4
  • Microsoft Basic Data:十六进制代码 0700,常用文件系统 NTFS, FAT32, exFAT

格式化

创建完分区后,需要先为分区建立文件系统,然后分区才能用来存储文件。下面是一些建立常见的文件系统的命令:

# ext4
sudo mkfs.ext4 /dev/sda5 # 格式化为 ext4
# exFAT
sudo apt-get install exfat-utils exfat-fuse # 安装 exFAT 工具包
sudo mkfs.exfat /dev/sda5 # 格式化为 exFAT # NTFS
sudo apt install ntfs-3g # 安装 NTFS 工具包
sudo mkfs.ntfs /dev/sda5 # 格式化为 NTFS

挂载

分区格式化好之后还需要挂载才能使用,就好像新买的 U 盘要插到电脑上才能用一样。

首先创建挂载点(例如 /mnt/new_partition):

sudo mkdir -p /mnt/new_partition

接下来挂载分区:

sudo mount /dev/sda5 /mnt/new_partition

验证挂载:

df -h /mnt/new_partition

现在我们的新分区就已经被挂载且可以使用了。不过,现在的挂载只是临时挂载,当操作系统重启后这个挂载就失效了。为了能够在开机时自动挂载新分区,我们需要将新分区的 GUID 添加到自动挂载配置文件。

首先查找新分区的 GUID:

sudo blkid /dev/sda5

接下耒编辑 /etc/fstab,写入一条新的配置项:

UUID=your-guid /mnt/new_partition ext4 defaults 0 2

your-guid 替换为实际的 GUID。

测试新的 fstab 条目是否正确:

sudo mount -a

如果没有错误信息,说明配置正确。

分区的扩容和缩小

分区扩容和缩小的过程其实就是删除旧分区,然后新建一个大小不同,但分区编号和类型都相同的新分区的过程。

新建分区后,需要检查和调整文件系统以确保其完整性:

# ext4
sudo e2fsck -f /dev/sda5 # 检查文件系统
sudo resize2fs /dev/sda5 # 调整文件系统大小

详情可以参见 Linux 扩展磁盘分区 | CSDN

Linux 磁盘分区和格式化的更多相关文章

  1. Linux磁盘分区与格式化

    磁盘分区格式说明 linux分区不同于windows linux下分区标示: 例如:hda1 hd这两个字母表示分区所在的设备类型,hd标示IDE类型硬盘,sd表示SCSI类型硬盘 第三字母a标示硬盘 ...

  2. Linux 磁盘分区、格式化、目录挂载

    实验环境: Citrix虚拟化, RHEL6.4系统环境 本文目的: 熟悉Linux的基本磁盘分区.格式化.目录挂载. 显示当前主机目录 磁盘分区 磁盘格式化 挂载目录 1. 显示当前主机目录 命令d ...

  3. Linux磁盘分区、格式化和挂载

    一.查看磁盘使用 [root@iZ88rvassw1Z ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G .3G 3 ...

  4. linux磁盘分区、格式化、挂载

    新建分区的操作步骤,如下图: 1)RAID卡: 机器有没有RAID卡可以在开机时看有没有出现配置RAID什么的提示(亲测),系统运行时有没有,不知道! 服务器大多有这个新加硬盘后不修改raid,开即f ...

  5. linux 磁盘 分区、格式化、挂载

    将容量结果易读的容量格式显示出来df -h 分区 初次接触仅分成两个分区(“/与Swap”)预留一个备用的剩余磁盘容量 磁盘分区 fdisk #df /找出磁盘文件名#fdisk /dev/hdc#m ...

  6. LINUX磁盘分区、格式化、挂载、卸载全程详解

    1.一切皆文件 Linux系统有一个理念:“一切皆文件”,所以计算机的硬件在linux中也是以“文件”的形式存在于/dev目录中.   图为CentOS 6.5系统中/dev目录的部分内容.不同的计算 ...

  7. linux磁盘分区格式化-fdisk命令工具

    本文主要讲述使用fdisk工具对磁盘进行分区和格式化的方法 首先要明确分区是针对磁盘进行的操做,磁盘分区会创建分区表,类似vda,sda的是磁盘,vda1,sda1的是分区 1.查看磁盘分区状态 1. ...

  8. 【Linux命令】磁盘分区,格式化,挂载命令,创建交换分区(fdisk,mkfs,mount,umount)

    友情链接 磁盘分区,格式化,挂载,创建交换分区:https://www.cnblogs.com/HeiDi-BoKe/p/11936998.html RAID工作级别:https://www.cnbl ...

  9. Linux运维实战之磁盘分区、格式化及挂载(一)

    在网络系统中,磁盘和文件系统管理是两个非常基本.同时也是非常重要的管理任务,特别是文件系统管理,因为它与用户权限和整个网络系统的安全息息相关.本次博文的主题是关于Linux系统中磁盘分区.格式化及挂载 ...

  10. linux磁盘分区模式

    linux磁盘分区模式 模式一:MBR 1)主分区不超过四个 2)单个分区容量最大2TB 模式二:GPT 1)主分区个数"几乎"没有限制(原因:在GPT的分区表中最多可以支持128 ...

随机推荐

  1. 嵌入式测试手册——基于NXP iMX6ULL开发板(2)

    基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成.核心板经过专业的PCB Layout ...

  2. 虚拟 DOM 实现原理?

    虚拟 DOM 的实现原理主要包括以下 3 部分: 用 JavaScript 对象模拟真实 DOM 树,对真实 DOM 进行抽象: diff 算法 - 比较两棵虚拟 DOM 树的差异: pach 算法 ...

  3. const isProduction = process.env.NODE_ENV === 'production'; 作用

    一. process 要理解 process.env.NODE_ENV 就必须要了解 process,process 是 node 的全局变量,并且 process 有 env 这个属性, 但是没有 ...

  4. JavaSE 计算2个List集合中的交集、差集、并集、去重并集

    VideoOrder.java 重写里面的equals和hashCode方法 class VideoOrder { private int price; private String title; p ...

  5. LSTM实现文本情感分类demo

    import torch import torch.optim as optim import torch.nn as nn import numpy as np import torch.nn.fu ...

  6. THM-Skynet-Writeup

    通过学习相关知识点:攻破Linux目标机器并完成提权操作. 部署并渗透目标机器 step1 使用Nmap扫描端口 nmap -p- -sC -sV -T4 -v 10.10.164.81 139/44 ...

  7. microsoft office object版本对应offices版本

    1997年 Excel 97 Microsoft Excel 8.0 1999年 Excel 2000 Microsoft Excel 9.0 2001年 Excel XP Microsoft Exc ...

  8. FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg

    ​<FFmpeg开发实战:从零基础到短视频上线>一书的"第11章  FFmpeg的桌面开发"介绍了如何在Windows环境对Qt结合FFmpeg实现桌面程序,那么Win ...

  9. DUILib的代码分析

    1.思路上用的是mfc的Message_MAP,而Control只是一个gdi render. 控件间使用的Message Map. 也就是说每个控件可以作为一个独立的个体

  10. 亚马逊 vpc 子网 路由表 互联网网关 弹性ip

    创建vpc,子网,路由表,互联网网关,弹性ip等网络资源 vpc和子网 创建互联网网关 附加到vpc 创建路由表 路由表编辑路由 此路由通过这个网关出去 编辑子网关联 保存关联 有关云主机 创建属于那 ...