如何给linux挂载硬盘
整个过程可以分为四个主要步骤:
- 识别硬盘 - 找到新添加的硬盘设备。
- 分区 - 对硬盘进行划分(可选,但推荐)。
- 格式化 - 创建文件系统,以便操作系统能使用。
- 挂载 - 将设备关联到目录树中的一个目录,以便访问。
- 自动挂载 - 配置系统启动时自动挂载。
详细步骤
第1步:识别硬盘
首先,我们需要确认系统已经识别到了新硬盘。
- 使用
fdisk -l
(可能需要sudo
权限)。sudo fdisk -l
查看输出结果:您会看到类似下面的信息。假设您原本有一块硬盘
vda
,新加的硬盘通常会命名为vdb
、nvme0n1
(NVMe SSD)等。记下这个设备名(例如/dev/vdb
)。
第2步:分区(可选但推荐)
虽然可以直接格式化整个磁盘,但分区能提供更好的灵活性。这里我们使用 fdisk
工具创建一个主分区。
- 启动
fdisk
并指定您的设备(请务必替换/dev/vdb
为您自己的设备名):bash
sudo fdisk /dev/vdb
-
在
fdisk
的交互式命令行中:
- 输入
n
来创建新分区。 - 选择
p
创建主分区。 - 分区号、起始扇区、结束扇区通常可以直接按回车使用默认值(即1个分区占用全部空间)。
- 重要:输入
w
将分区表写入磁盘并退出。如果操作失误,可以用q
退出而不保存。
-
运行
blkid
,您现在应该能看到新创建的分区,例如/dev/vdb1
。发现新分区/dev/vdb1并没有文件系统类型(type为文件系统具体类型,有ext3,ext4,xfs,iso9660等,具体区别自行百度,本文建议使用xfs)
/dev/sr0: UUID="2024-12-18-09-36-49-00" LABEL="config-2" TYPE="iso9660" /dev/vda1: UUID="e90313e4-0677-4753-81ca-da0d1738bef3" TYPE="xfs" /dev/vda2: UUID="a5a988d3-2f90-4cb4-a99f-5b3165b0c609" TYPE="swap" /dev/vda3: UUID="32f2b4da-5a45-45f3-a69f-b4083341f8a4" TYPE="xfs" /dev/vdb2: LABEL="M-fM-^VM-0M-eM-;M-:M-eM-^MM-7" UUID="963C46D73C46B253" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="2118689b-320f-4894-8669-0d9b8d8d675f" /dev/vdb1: PARTLABEL="Microsoft reserved partition" PARTUUID="6fcc17ce-de3d-4da3-b671-742c3dae8f14"
第3步:格式化分区
现在我们需要在这个分区上创建一个文件系统(例如 ext4, xfs 等)。这里以最常用的 ext4
为例。
使用 mkfs
命令:
sudo mkfs -t ext4 /dev/vdb1
[root@ecs ~]# blkid
……
/dev/vdb2: UUID="3874b62c-2195-49fb-80fa-bac02dc8f9da" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="2118689b-320f-4894-8669-0d9b8d8d675f"
/dev/vdb1: UUID="b10f57e0-ca97-4217-8f0f-ab59aa15c235" TYPE="ext4" PARTLABEL="Microsoft reserved partition" PARTUUID="6fcc17ce-de3d-4da3-b671-742c3dae8f14"
说明成功将新分区格式化成了ext4文件系统类型
注意:
- 请将
/dev/vdb1
替换为您在第二步创建的实际分区名。 - 这个过程会清除该分区上的所有数据,请再次确认设备名无误。
- 如果您想要其他文件系统,比如 XFS,可以使用
sudo mkfs -t xfs /dev/vdb1
。
以下是一些常见的文件系统类型及其特点:
ext4:
优点:广泛使用,具有良好的性能和稳定性,支持大型文件和文件系统。
缺点:对于某些高级特性(如快速文件系统检查)的支持不如一些新文件系统。
XFS:
优点:适用于处理大量大文件,支持并行IO,可扩展性强。
缺点:文件系统检查恢复较慢。
Btrfs(B-Tree Filesystem):
优点:支持写时复制(COW)、快照、数据压缩和校验等高级特性。
缺点:相对较新,稳定性可能不如ext4和XFS。
ZFS:
优点:提供数据完整性校验、快照、RAID-Z等高级功能。
缺点:在Linux上可能需要额外安装,且对硬件资源要求较
第4步:挂载分区
现在文件系统已经创建好了,我们可以将它挂载到一个目录上。
- 创建挂载点:挂载点就是一个普通的目录。通常我们在根目录下创建。例如,创建一个名为
data
的目录:sudo mkdir /data
- 临时挂载:使用
mount
命令进行挂载。sudo mount /dev/vdb1 /data
现在,您可以通过访问
/data
目录来使用这块新硬盘的空间了。 -
验证挂载:使用
df -h
或lsblk
命令检查是否挂载成功。df -h /data
输出中应该会显示
/dev/vdb1
以及其容量和挂载点。
重要:这种挂载方式是临时的,重启系统后就会失效。如果需要永久挂载,请继续第五步。
第5步:配置自动挂载(永久挂载)
为了在系统启动时自动挂载硬盘,我们需要编辑 /etc/fstab
文件。
- 首先,备份一下
fstab
文件(一个好习惯):sudo cp /etc/fstab /etc/fstab.backup
- 获取分区的 UUID(推荐使用 UUID,因为它比设备名如
/dev/vdb1
更稳定)。sudo blkid
在输出中找到您的分区(如
/dev/vdb1
),并复制其UUID
的值。它看起来像这样:UUID="12345678-abcd-1234-5678-123456789abc"
。 -
使用
nano
或vim
编辑器打开/etc/fstab
文件:sudo nano /etc/fstab
- 在文件末尾添加一行新配置,格式如下:
UUID=你的UUID /data ext4 defaults 0 2
- 第一列:
UUID=...
或直接使用/dev/vdb1
(强烈推荐使用 UUID)。 - 第二列:挂载点目录,例如
/data
。 - 第三列:文件系统类型,例如
ext4
。 - 第四列:挂载选项,使用
defaults
即可。 - 第五列:是否被
dump
备份工具使用,0
表示不备份。 - 第六列:开机时磁盘检查顺序。
0
表示不检查,根目录/
是1
,其他分区通常是2
。示例:
text
UUID=6e0a2f33-44d6-4b70-9d9c-4d9f647a990d /data ext4 defaults 0 2
- 保存并关闭文件(在 nano 中按
Ctrl+X
,然后按Y
确认,最后回车)。 -
测试配置是否正确:这是一个非常重要的安全步骤!运行以下命令来测试
fstab
配置是否有误:sudo mount -a
如果这条命令没有报错,并且再次运行
df -h
能看到硬盘被挂载了,说明配置正确。如果有错误,请根据提示修改/etc/fstab
文件,否则可能导致系统无法启动。
现在,您的硬盘已经成功挂载,并且会在每次系统启动时自动挂载。
一定要reboot重启,查看挂载是否还在