好的,根据你提供的 lsblk 输出和描述,情况很清晰:

  1. 硬盘已识别: lsblk 的输出明确显示了 sdb (931G disk) 和它的分区 sdb1 (931G part)。这表示你的 Linux 系统在硬件层面上已经成功识别了这块新的固态硬盘。硬件本身没有问题。

  2. 挂载点丢失: sdb1 这一行没有对应的 MOUNTPOINT (挂载点) 信息。这证实了你的判断:之前挂载到 /data 目录的操作在重启后失效了

为什么会失效?

当你使用 mount 命令手动挂载一个分区时(例如 sudo mount /dev/sdb1 /data),这个挂载是临时的,只在当前系统运行时有效。一旦系统重启或关机,所有手动、临时的挂载都会丢失。

如何解决(让它开机自动挂载)?

你需要将这个挂载信息添加到系统的文件系统表 (/etc/fstab) 文件中。这个文件定义了系统启动时需要自动挂载的文件系统。

以下是详细步骤:

步骤 1: 获取分区的 UUID 和文件系统类型

使用 UUID (Universally Unique Identifier) 来标识分区比使用设备名 (/dev/sdb1) 更可靠,因为设备名在插入或移除其他硬盘时可能会改变。

打开终端,运行以下命令:

      sudo blkid /dev/sdb1
    

或者使用 lsblk-f 选项:

      lsblk -f
    

你会看到类似下面这样的输出(具体值会不同):

      /dev/sdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4" PARTUUID="yyyyyyyy-yyyy-..."
    

记下:

  • UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" (这一长串字符就是 UUID)

  • TYPE="ext4" (这是文件系统类型,可能是 ext4, xfs, ntfs, btrfs 等)

步骤 2: 确保挂载点目录存在

你需要确保 /data 这个目录确实存在。如果不存在,需要创建它:

      sudo mkdir -p /data
```(`-p` 选项表示如果父目录不存在也会一并创建,并且如果目录已存在也不会报错)

**步骤 3: 编辑 `/etc/fstab` 文件**

**警告:编辑 `/etc/fstab` 文件需要非常小心,错误的配置可能导致系统无法启动!请仔细核对。**

使用一个文本编辑器(如 `nano` 或 `vim`)以 root 权限打开 `/etc/fstab`:

```bash
sudo nano /etc/fstab
    

或者

      sudo vim /etc/fstab
    

在文件的末尾添加新的一行,格式如下:

      UUID=<你的UUID>    <挂载点路径>    <文件系统类型>    <挂载选项>    <dump频率>    <fsck顺序>
    

根据你从 blkid 获取的信息,将它替换进去。一个常见的例子是:

      UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx    /data    ext4    defaults    0    2
    

解释:

  • UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx: 替换成你记下的实际 UUID。

  • /data: 你想要挂载的目标目录。

  • ext4: 替换成你记下的实际文件系统类型 (TYPE)。

  • defaults: 这是一组常用的挂载选项,通常包括 rw (读写), suid, dev, exec, auto, nouser, async。对于大多数情况来说足够了。如果你有特殊需求(比如只读挂载用 ro,或者允许普通用户挂载用 users),可以查阅 man mount 获取更多选项。对于 NTFS 或 exFAT 分区,可能需要不同的选项,如 defaults,uid=1000,gid=1000,umask=007

  • 0: 这个是 dump 工具的备份频率,一般设为 0 即可。

  • 2: 这个是 fsck (文件系统检查) 的顺序。0 表示不检查,1 通常只用于根目录 /2 用于其他需要开机检查的文件系统。

仔细检查你添加的这一行没有拼写错误或多余的空格。

步骤 4: 保存并退出编辑器

  • Nano:Ctrl + X,然后按 Y 确认保存,最后按 Enter 确认文件名。

  • Vim:Esc 进入命令模式,然后输入 :wq 并按 Enter 保存并退出。

步骤 5: 测试挂载 (非常重要!)

重启之前,测试一下你刚才添加的 /etc/fstab 条目是否正确。运行:

      sudo mount -a
    

这个命令会尝试挂载 /etc/fstab 中所有标记为 auto (包含在 defaults 里) 且当前未挂载的文件系统。

  • 如果没有任何错误信息输出,说明你的 /etc/fstab 条目很可能是正确的。

  • 如果出现错误信息,说明你的 /etc/fstab 条目有误。你需要立即重新编辑 /etc/fstab 文件,修正错误(或者暂时注释掉你添加的那一行,在行首加 #),否则下次重启可能无法进入系统!

步骤 6: 验证挂载

运行 lsblkdf -h 命令,检查 sdb1 现在是否已经挂载到了 /data 目录:

      lsblk
    

你应该会看到 sdb1 对应的 MOUNTPOINT 变成了 /data

      df -h
    

你应该会看到一行关于 /dev/sdb1 挂载在 /data 的信息及其空间使用情况。

完成以上步骤后,你的 sdb1 分区就会在每次系统启动时自动挂载到 /data 目录了。

评论

此博客中的热门博文

Meta Quest 3S 应用安装全攻略:官方商店、SideQuest 及 PC 连接

免费动漫应用:Fogplix-Anime

5款免登录文件分享工具