Ubuntu24.04挂载磁盘

一、引言

由于几块磁盘每次开机时的编号都不一样,造成了很多麻烦,所有重新挂载磁盘试一试。

参考链接:

  1. ubuntu挂载磁盘或U盘
  2. Ubuntu添加新硬盘,挂载到根目录下的某个文件中

二、挂载磁盘

1. 查看盘名

bash 复制代码
sudo fdisk -l 

sda 代表第一块。

2. 新建分区表

bash 复制代码
sudo fdisk /dev/sda

输入m,显示帮助

输入n,新建分区

输入分区号,我这里默认是5,代表要得到/dev/sda5

第一个扇区,直接回车,用默认值

上一个扇区,我选择用默认值,即最大的数值,意思这个新建的分区大小几乎是整块盘的大小。

您想移除该签名吗?选择是,输入Y,回车

输入w保存更改并退出。

查看分区是否成功:

bash 复制代码
sudo fdisk -l 

3. 格式化新分区

创建分区后,格式化它以创建文件系统:

bash 复制代码
sudo mkfs.ext4 /dev/sda5  # 假设新分区是 /dev/sda5

4. 挂载新分区

在根目标创建一个目录作为挂载点,必须使用管理员权限:

5. 更新/etc/fstab

为了在系统重启后自动挂载新分区,将新分区的信息添加到/etc/fstab文件中。编辑/etc/fstab:

bash 复制代码
sudo nano /etc/fstab

添加如下行:

bash 复制代码
/dev/sda5	/data	ext4	defaults	0	5

检测挂载正不正常:

bash 复制代码
sudo mount -a

没有任何输出,OK。

查看挂载情况:

bash 复制代码
sudo df 
bash 复制代码
dev/sda5       818898160        28 777226864    1% /data

三、更改权限

在终端输入:

bash 复制代码
ls -ld /data

输出如下:

bash 复制代码
drwxr-xr-x 3 root root 4096 11月 15 11:21 /data

根据这位大佬的介绍,3 应该表示文件夹可写可执行?当我查看 data 文件夹属性时显示:

为了避免以后出现不必要的麻烦,这里我还是更改一下权限。

1. 设置所有权

将挂载点目录的所有权设置为当前用户和组。

bash 复制代码
sudo chown -R yourusername:yourgroup /data

替换 yourusername 和 yourgroup 为你的实际用户名和组名。通常组名与用户名相同。不清楚的可以查看其他文件夹的属性。

2. 设置权限

将挂载点目录的权限设置为允许用户读写。

bash 复制代码
sudo chmod -R 755 /data

3. 确保挂载时权限生效

有时,挂载时的权限设置可能会覆盖文件系统的原始权限。可以在 /etc/fstab 中通过指定挂载选项来控制权限。例如:

编辑 /etc/fstab:

bash 复制代码
sudo nano /etc/fstab

添加或修改挂载选项:

在相应的行中添加uid和gid选项,将所有权设置为特定用户和组。例如:

bash 复制代码
/dev/sda5 /data ext4 defaults,uid=1000,gid=1000 0 2

其中 1000 是你的用户 ID 和组 ID。你可以使用 id username 命令来查看具体的 ID。

重新挂载分区:编辑完 /etc/fstab 文件后,重新挂载分区以使更改生效:

bash 复制代码
sudo umount /data
sudo mount /data

PS:这里我在 fstab 文件中添加了相应信息后再挂载出现了错误,挂载不成功:

bash 复制代码
mount: /data: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
       dmesg(1) may have more information after failed mount system call.
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.

我将 uid 和 gid 两个信息删除后挂载上了,但还是出现了如下错误:

bash 复制代码
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
相关推荐
不知道累,只知道类7 分钟前
深入理解 Java 虚拟线程 (Project Loom)
java·开发语言
国强_dev30 分钟前
Python 的“非直接原因”报错
开发语言·python
YMatrix 官方技术社区30 分钟前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix
玖疯子41 分钟前
技术文章大纲:Bug悬案侦破大会
开发语言·ar
独自破碎E1 小时前
解释一下NIO、BIO、AIO
java·开发语言·nio
草莓熊Lotso1 小时前
脉脉独家【AI创作者xAMA】|当豆包手机遭遇“全网封杀”:AI学会操作手机,我们的饭碗还保得住吗?
运维·开发语言·人工智能·智能手机·脉脉
@areok@1 小时前
C++opencv图片(mat)传入C#bitmap图片
开发语言·c++·opencv
散峰而望1 小时前
【Coze - AI Agent 开发平台】-- 你真的了解 Coze 吗
开发语言·人工智能·python·aigc·ai编程·ai写作
辞砚技术录1 小时前
MySQL面试题——索引2nd
数据库·mysql·面试
国强_dev1 小时前
在 Java 开发及其生态圈中“声东击西”的误导性错误
java·开发语言