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.
相关推荐
lizz311 天前
C++模板编程:从入门到精通
java·开发语言·c++
Evan芙1 天前
RDBMS的库、表、视图、索引、设计范式总结
数据库
shoubepatien1 天前
JAVA -- 05
java·开发语言
寰天柚子1 天前
Java并发编程中的线程安全问题与解决方案全解析
java·开发语言·python
沐知全栈开发1 天前
Bootstrap 下拉菜单:设计与实现指南
开发语言
一叶飘零_sweeeet1 天前
从单机到集群:Redis部署全攻略
数据库·redis·缓存
soft20015251 天前
MySQL Buffer Pool深度解析:LRU算法的完美与缺陷
数据库·mysql·算法
Evand J1 天前
【MATLAB例程】多锚点RSSI定位和基站选择方法,基于GDOP、基站距离等因素。以Wi-Fi定位为例,附下载链接
开发语言·matlab·定位·gdop·rssi
superman超哥1 天前
仓颉语言中锁的实现机制深度剖析与并发实践
c语言·开发语言·c++·python·仓颉
C++业余爱好者1 天前
SQL Server 中数据库管理系统、数据库实例与数据库的关系与区别
数据库·oracle