Loading... # CentOS 8 硬盘格式化和挂载指南 ## 查看硬盘或分区详细信息 使用以下命令查看系统中的硬盘或分区详细信息: ```bash fdisk -l # 列出所有硬盘和分区 lsblk # 显示块设备列表 df -h # 显示已挂载的文件系统及其使用情况 ``` ## 格式化硬盘 ### 使用 `fdisk` 命令格式化硬盘 1. 进入 `sda` 磁盘分区的交互式命令行界面: ```bash fdisk /dev/sda ``` 2. 创建新分区: * `n`: 创建一个新分区 * `p`: 指定分区类型为主分区 * `1`: 设置分区编号为1 * 使用默认值指定分区的起始和结束扇区号(默认值使用整个磁盘) 3. 将分区表写入磁盘并退出 `fdisk`: ```bash w ``` #### 如果已经有分区 1. 创建新的空白 DOS 分区表: ```bash o ``` 2. 创建新的分区: ```bash n p # 指定分区编号,默认是 1 # 分区起始扇区号默认回车 # 分区结束扇区号默认回车 ``` 3. 将分区表写入磁盘并退出 `fdisk`: ```bash w ``` ### 使用 `gdisk` 工具创建 GPT 分区表(适用于大于 2TB 的硬盘) 1. 进入 `sda` 磁盘分区的交互式命令行界面: ```bash gdisk /dev/sda ``` 2. 常用的 `gdisk` 命令: * `p`: 显示分区表内容 * `n`: 创建一个新分区 * `d`: 删除一个分区 * `w`: 将更改写入硬盘,并退出 `gdisk` * `q`: 不保存更改,直接退出 `gdisk` ## 挂载分区 ### 使用mkfs创建文件系统 mkfs 是一个Linux命令,英文全称是 “make file system”,该命令主要用于在特定的分区上创建Linux文件系统。此命令初始化卷标签、文件系统标签和启动块。 简单来说,`mkfs` 是用来格式化分区,创建文件系统的。 #### Linux mkfs命令适用的Linux版本 `mkfs` 命令可以在大多数Linux 分发版上使用,包括但不限于 Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian 等。在这些Linux版本中,大多数都默认安装了 `mkfs` 工具。 如果在特定版本的Linux上没有找到 `mkfs` 命令,你可以使用相应的包管理器进行安装。 ```bash # 在使用apt-get的Debian和Ubuntu上 sudo apt-get install dosfstools # 在使用yum的Centos 7上 sudo yum install dosfstools # 在Centos 8和RHEL上使用dnf sudo dnf install dosfstools ``` ### Linux mkfs命令的基本语法 语法格式: ```bash mkfs [选项] [-t 类型 [FS选项]] 设备 [大小] ``` ### Linux mkfs命令的常用选项或参数说明 以下是 `mkfs` 命令的常用选例如下: |选项|说明| | -------------| -------------------------------------------------------------------------| |-t|文件系统类型。可以是 ‘auto’, ‘minix’, ‘unix’, ‘xt’, ‘xv’ 等。| |-c|检查设备分区是否有坏块。| |-l filename|将坏块的列表存入文件中。| |-V|显示版本信息。| ### Linux mkfs命令实例详解 在下面的实例中,我将介绍如何使用 `mkfs` 命令创建和管理文件系统。 #### 实例1: 创建文件系统 我们可以使用 `mkfs` 命令在设备(如磁盘分区)上创建新的文件系统。为此,我们需要使用 `sudo` 权限来执行命令,并指定目标设备。在下面的例子中,我们将在 `/dev/sdb1` 上创建一个新的文件系统。 ```bash sudo mkfs /dev/sdb1 ``` 如果该设备已经有一个文件系统了,`mkfs `命令会给出错误消息。在此种情况下,如果你确定要在设备上创建新的文件系统,可以添加 `-F` 选项来强制执行操作。 ```bash sudo mkfs -F /dev/sdb1 ``` 这将不经确认地在指定设备上创建新的文件系统,可能会覆盖已有的数据,所以在使用 `-F` 选项时请谨慎操作。执行此命令之前,最好先确保设备上的数据已经备份。 #### 实例2: 在设备上创建ext4文件系统 在Linux中,最常见的文件系统类型之一是ext4。我们可以使用mkfs命令和-t选项在设备上创建ext4文件系统。在下面的例子中,我们将在/dev/sdb1设备上创建一个ext4文件系统。 ```bash sudo mkfs -t ext4 /dev/sdb1 ``` #### 实例3: 使用mkfs.vfat创建FAT32文件系统 mkfs工具集合包含了一些特定的mkfs实用程序,这些程序专门用于创建特定类型的文件系统。例如,要在设备上创建FAT32文件系统(也称为VFAT),我们可以使用mkfs.vfat工具。 ```bash sudo mkfs.vfat /dev/sdb1 ``` #### 实例4: 使用mkfs.ext4创建含有保留块的文件系统 默认情况下,mkfs在文件系统上会保留一些空间供超级用户(例如root)使用,这样即使文件系统的空间被普通用户用尽,系统的基本运行也不会受到影响。mj这些保留的空间通常占用文件系统大小的5%。 我们可以使用-m选项改变这个比例。以下是使用mkfs.ext4命令在/dev/sdb1设备上创建文件系统时只保留1%空间的例子。 ```bash sudo mkfs.ext4 -m 1 /dev/sdb1 ``` 如果我们不想保留任何空间,也可以将比例设置为0。 ```bash sudo mkfs.ext4 -m 0 /dev/sdb1 ``` #### 实例5: 使用mkfs.ntfs创建NTFS文件系统 NTFS是一个由微软为Windows开发的文件系统。虽然Linux的默认文件系统不是NTFS,但我们仍然可以在Linux上使用NTFS。这在双系统(同时运行Windows和Linux)的环境中是很常见的。 在下面的例子中,我们使用mkfs.ntfs工具在/dev/sdb1设备上创建一个NTFS文件系统。 ```bash sudo mkfs.ntfs /dev/sdb1 ``` 注意:这是一个破坏性操作,将删除目标设备上的所有数据。在执行任何涉及创建新文件系统的操作之前,都必须确保所有重要数据都已备份。 #### 实例6: 使用mkfs命令指定inode大小 对于大部分用户来说,默认的inode大小(256字节)应该已经足够了。然而,在一些特殊情况下,我们可能需要使用更大或更小的inode。我们可以使用-i选项来指定inode大小。 在以下例子中,我们在/dev/sdb1设备上创建一个新的文件系统,其inode大小为512字节。 ```bash sudo mkfs -t ext4 -I 512 /dev/sdb1 ``` #### 实例7: 使用mkswap命令创建SWAP分区 swap分区是Linux系统使用的一种虚拟内存。当系统的物理内存(RAM)不足时,系统可以将部分内存数据移动到swap分区,以释放RAM空间。 在以下例子中,我们在/dev/sdb1设备上创建一个swap分区。 ```bash sudo mkswap /dev/sdb1 ``` 执行此命令将格式化指定分区,并将其设置为swap分区。 #### 实例8: 创建带有标签的文件系统 我们可以在创建文件系统时使用 `-L` 选项为文件系统添加一个标签。这个标签可以用于在 `/etc/fstab` 文件或 `mount` 命令中引用文件系统。 在以下例子中,我们在 `/dev/sdb1` 上创建一个带有 `MY_DISK` 标签的新文件系统。 ```bash sudo mkfs -L MY_DISK /dev/sdb1 ``` 如果你在创建文件系统后想改变文件系统标签,你可以使用 `e2label` 工具。 ```bash sudo e2label /dev/sdb1 NEW_LABEL ``` #### 实例9: 使用 `mkfs.xfs` 创建 XFS 文件系统 XFS 是一种高性能的日志文件系统,由 SGI 创建并用于 IRIX 操作系统,后来被移植到 Linux。XFS 适合于处理大文件和进行高负载操作。 以下是在设备 `/dev/sdb1` 上创建 XFS 文件系统的例子。 ```bash sudo mkfs.xfs /dev/sdb1 ``` #### 实例10: 在设备上创建 Btrfs 文件系统 Btrfs (B-tree文件系统,通常被读作"Better FS",“Butter FS”,“Butterface"或"批量文件系统”)是一个拥有多种高级功能的现代文件系统,特别适用于处理大数据。 以下是在设备 `/dev/sdb1` 上创建 Btrfs 文件系统的例子。 ```bash sudo mkfs.btrfs /dev/sdb1 ``` #### 实例11: 创建带有指定块和inode数量的ext4文件系统 在某些情况下,你可能需要在创建文件系统时指定块和inode的数量。你可以使用 `mkfs.ext4` 的 `-N` 和 `-b` 选项来达到这个目标。 以下是创建一个带有 `4096` 字节块大小和 `200000` 个inode的 ext4 文件系统的示例: ```bash sudo mkfs.ext4 -b 4096 -N 200000 /dev/sdb1 ``` 请注意,这些选项应谨慎使用,因为不适当的块或inode数量可能会导致文件系统性能下降或空间浪费。 #### Linux mkfs命令的注意事项 * `mkfs` 命令需要 `root` 权限才能执行。 * 在设备上创建新文件系统会删除该设备上的所有数据,因此在执行任何破坏性操作之前,请务必确保所有重要数据都已备份。 * `mkfs` 是一个强大的工具,使用不当可能会导致数据丢失,因此在使用时,务必仔细阅读相关文档,并确保你明白自己在做什么。 ### 临时手动挂载 使用命令进行挂载(这种方式在机器重启后会失效,需要再次手动挂载): ```bash mount /dev/sda1 /data ``` ### 开机自动挂载 为了在系统启动时自动挂载分区,可以编辑 `/etc/fstab` 文件。 #### 基于分区号挂载 1. 编辑 `/etc/fstab` 文件: ```bash vi /etc/fstab ``` 2. 添加以下行到文件末尾: ```bash /dev/sda1 /data defaults 0 0 ``` #### 基于 UUID 挂载(推荐) UUID(通用唯一标识符)是一种更可靠的方式,因为它不受设备名称变化的影响。 1. 获取设备的 UUID: ```bash sudo blkid /dev/sda1 ``` 例如,输出类似于: ```bash /dev/sda1: UUID="6a11ac50-832b-45f5-b734-4366030bf3ff" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="3a25c2cd-a630-4310-a64f-131ac4ba1cb9" ``` 2. 编辑 `/etc/fstab` 文件: ```bash vi /etc/fstab ``` 3. 添加以下行,使用之前获取的 UUID 替换其中的设备名称: ```bash UUID=6a11ac50-832b-45f5-b734-4366030bf3ff /data ext4 defaults 0 0 ``` 4. 保存并退出编辑器。 这种方式确保无论设备名称如何变化,系统都能够根据 UUID 找到正确的设备并挂载,避免硬盘拔出后导致无法正常启动的问题。 UUID 是在文件系统创建时生成的,通常不会在设备重新连接时发生变化。因此,使用 UUID 来挂载设备是一种更加可靠的方式。 <!--more--> CentOS 8 硬盘格式化和挂载 最后修改:2024 年 07 月 18 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果文章有帮助到你,请随意赞赏
3 条评论
作者以非凡的视角解读平凡,让文字焕发出别样的光彩。
结论部分可提出实际应用建议,提升价值。
文笔细腻,描写生动,画面感跃然纸上。