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.
相关推荐
Mr.Pascal22 分钟前
Redis:主动更新,读时更新,定时任务。三种的优劣势对比
数据库·redis·缓存
hnlgzb33 分钟前
安卓app开发,如何快速上手kotlin和compose的开发?
android·开发语言·kotlin
思成不止于此1 小时前
【MySQL 零基础入门】DQL 核心语法(二):表条件查询与分组查询篇
android·数据库·笔记·学习·mysql
无敌最俊朗@1 小时前
STL-deque面试剖析(面试复习4)
开发语言
APIshop1 小时前
用 Python 把“API 接口”当数据源——从找口子到落库的全流程实战
开发语言·python
骥龙1 小时前
3.10、构建网络防线:防火墙、WAF 与蜜罐实战
服务器·网络·数据库·网络安全
Java Fans1 小时前
Qt Designer 和 PyQt 开发教程
开发语言·qt·pyqt
RwTo1 小时前
【源码】-Java线程池ThreadPool
java·开发语言
兮动人2 小时前
EMT4J定制规则版:Java 8→17迁移兼容性检测与规则优化实战
java·开发语言·emt4j
一点★2 小时前
Java中的常量池和字符串常量池
java·开发语言