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.
相关推荐
想当厨子的小章同学14 分钟前
MySql 日期周处理方式
大数据·数据库·sql
gma99921 分钟前
【MySQL】InnoDB 基本了解+存储结构
数据库·mysql
Horacek23 分钟前
《C++ 实现生成多个弹窗程序》
java·开发语言·c++·学习·算法
licy__27 分钟前
python的matplotlib实现数据分析绘图
开发语言·python
TPCloud33 分钟前
postgresql(功能最强大的开源数据库)继承特性和分区实现
数据库·postgresql·开源·继承和分区
zero_one_Machel35 分钟前
leetcodeQ76最小覆盖子串
java·开发语言·算法
luky!41 分钟前
算法----查找列表中元素的最小值和最大值
开发语言·python·算法
Navicat中国1 小时前
小版本大不同 | Navicat 17 新增 TiDB 功能
数据库·tidb·开源软件·navicat
_.Switch1 小时前
Django中的URL配置与动态参数传递(多种方法比较)
开发语言·数据库·后端·python·django·sqlite·自动化
尘浮生1 小时前
Java项目实战II基于微信阅读网站小程序的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·微信·微信小程序·小程序