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.
相关推荐
lingllllove4 分钟前
Redis脑裂问题详解及解决方案
数据库·redis·缓存
2501_903238655 分钟前
Java 9模块开发:Eclipse实战指南
java·开发语言·eclipse·个人开发
ahardstone6 分钟前
【CS61A 2024秋】Python入门课,全过程记录P5(Week8 Inheritance开始,更新于2025/2/2)
开发语言·python
字节全栈_BjO19 分钟前
mysql死锁排查_mysql 死锁问题排查
android·数据库·mysql
阿豪学编程21 分钟前
c++ string类 +底层模拟实现
开发语言·c++
微光守望者27 分钟前
Redis常见命令
数据库·redis·缓存
martian6651 小时前
第六篇:事务与并发控制
数据库
沈韶珺1 小时前
Visual Basic语言的云计算
开发语言·后端·golang
沈韶珺2 小时前
Perl语言的函数实现
开发语言·后端·golang
嘻嘻哈哈的zl2 小时前
初级数据结构:栈和队列
c语言·开发语言·数据结构