[deepin exploration] 关于linux挂载fstab的问题
Tofloor
poster avatar
a***[email protected]
deepin
2024-03-16 10:10
Author

有台树莓派4设置挂载移动硬盘是修改/etc/fstab文件达到开机自动挂载,

但是按照如图参数设置如果开机时不接入此移动硬盘则导致无法开机,
图片.png

卡在开机引导界面,参考了网上修改跳过检测参数的办法,直接用原帖作者的参数发现拔掉能开机。

但是插上再开机连移动硬盘都不挂载了~~~~~

来坛子里问下大神,defaults后的参数怎么设才好用?

除了能做到开机没检测到移动硬盘也能进入系统,还能在插入特定的移动硬盘后自动挂载到某目录。

比如多移动硬盘无序插入时,A盘必定自动挂载到A目录,即使先插入B的情况下也不会乱?

Reply Favorite View the author
All Replies
raspbian
deepin
2024-03-16 13:28
#1

在Linux中,可以通过编辑 /etc/fstab文件来实现硬盘的自动挂载。为了实现如果有硬盘就指定挂载点,如果没有硬盘就忽略,可以在 /etc/fstab文件中为每个需要挂载的设备添加一个条件判断。这里我们可以使用 /dev/disk/by-id目录下的设备ID作为判断依据。

首先,确保你的系统已经安装了 systemdudev,这两个服务可以帮助我们检测硬盘设备。

接下来,按照以下步骤操作:

  1. 打开 /etc/fstab文件,可以使用文本编辑器,如 vinano
sudo vi /etc/fstab
  1. /etc/fstab文件中,为每个需要挂载的设备添加一个条件判断。例如,如果你想要挂载一个名为 /dev/sdb1的分区到 /mnt/data目录,可以添加以下内容:
# 如果有/dev/disk/by-id/ata-Samsung_SSD_850_EVO_500GB_S3Z9NB0K401927F-part1设备,则挂载
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_500GB_S3Z9NB0K401927F-part1 /mnt/data ext4 defaults 0 0

注意:请将 ata-Samsung_SSD_850_EVO_500GB_S3Z9NB0K401927F-part1替换为你的实际设备ID。

  1. 保存并关闭 /etc/fstab文件。
  2. 重启系统以使更改生效。
sudo reboot

这样,当系统启动时,它将检查 /dev/disk/by-id目录下的设备ID,如果存在对应的设备,则会自动挂载到指定的挂载点;如果不存在,则会忽略该行配置。

Reply View the author
安洛
deepin
2024-03-16 13:33
#2

如果是用systemd的系统,可以用

noauto,x-systemd.automount

参数。这会在首次访问挂载点的时候自动挂载该硬盘。

Reply View the author
a***[email protected]
deepin
2024-03-16 18:53
#3
raspbian

在Linux中,可以通过编辑 /etc/fstab文件来实现硬盘的自动挂载。为了实现如果有硬盘就指定挂载点,如果没有硬盘就忽略,可以在 /etc/fstab文件中为每个需要挂载的设备添加一个条件判断。这里我们可以使用 /dev/disk/by-id目录下的设备ID作为判断依据。

首先,确保你的系统已经安装了 systemdudev,这两个服务可以帮助我们检测硬盘设备。

接下来,按照以下步骤操作:

  1. 打开 /etc/fstab文件,可以使用文本编辑器,如 vinano
sudo vi /etc/fstab
  1. /etc/fstab文件中,为每个需要挂载的设备添加一个条件判断。例如,如果你想要挂载一个名为 /dev/sdb1的分区到 /mnt/data目录,可以添加以下内容:
# 如果有/dev/disk/by-id/ata-Samsung_SSD_850_EVO_500GB_S3Z9NB0K401927F-part1设备,则挂载
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_500GB_S3Z9NB0K401927F-part1 /mnt/data ext4 defaults 0 0

注意:请将 ata-Samsung_SSD_850_EVO_500GB_S3Z9NB0K401927F-part1替换为你的实际设备ID。

  1. 保存并关闭 /etc/fstab文件。
  2. 重启系统以使更改生效。
sudo reboot

这样,当系统启动时,它将检查 /dev/disk/by-id目录下的设备ID,如果存在对应的设备,则会自动挂载到指定的挂载点;如果不存在,则会忽略该行配置。

哦,很详细。我回头试试,想问下这个只在启动时有效吗?

比如说我将两个移动硬盘都以这个方法的uuid加入fstab中了,

开机只有其中一个移动硬盘,中途又遥控开了另一个移动硬盘电源加入。

还会按fstab中指定路径挂载吗?

因为我是树莓派5接两个3.5寸各4个T的移动硬盘。

硬盘电源通过智能开关远程控制。

Reply View the author
a***[email protected]
deepin
2024-03-16 18:55
#4

哦,是设备ID,要试试看

Reply View the author
raspbian
deepin
2024-03-16 20:17
#5
a***[email protected]

哦,很详细。我回头试试,想问下这个只在启动时有效吗?

比如说我将两个移动硬盘都以这个方法的uuid加入fstab中了,

开机只有其中一个移动硬盘,中途又遥控开了另一个移动硬盘电源加入。

还会按fstab中指定路径挂载吗?

因为我是树莓派5接两个3.5寸各4个T的移动硬盘。

硬盘电源通过智能开关远程控制。

你供电怎么解决的?

Reply View the author
a***[email protected]
deepin
2024-03-17 10:45
#6
raspbian

你供电怎么解决的?

试了两款内置电源的3.5寸硬盘盒,只有一款长时间服务运行不会掉盘。

配合关机卸载USB脚本后不会增加 C0 不安全关机计数。

两个硬盘盒分接两个智能插座口,其中一个跟树莓派5并联,

也就是这个4T硬盘在每天定时开树莓派后就挂载了,上面存放常看的电视剧和电影。

平时在单位值班无聊时看家里emby电视剧和电影。

第二4T硬盘盒另插一个智能插座,上面放4K以上高清。回家本地想看高清叫智能音箱开关就行了。

(另外挂载了一台windows2016的服务器也是智能插座来电开机,ftp共享挂载16个T的硬盘资源,也是一堆电影电视剧集)在单位想看的时候手机远程开插座,派上面重启或者执行下ftp的sh脚本完事。

想要自动加载本地盘就是省去叫了音箱或者在单位远程开了第二硬盘还要进派里执行挂载启动后挂载u盘这个步骤而已。

Reply View the author
raspbian
deepin
2024-03-17 12:12
#7
a***[email protected]

试了两款内置电源的3.5寸硬盘盒,只有一款长时间服务运行不会掉盘。

配合关机卸载USB脚本后不会增加 C0 不安全关机计数。

两个硬盘盒分接两个智能插座口,其中一个跟树莓派5并联,

也就是这个4T硬盘在每天定时开树莓派后就挂载了,上面存放常看的电视剧和电影。

平时在单位值班无聊时看家里emby电视剧和电影。

第二4T硬盘盒另插一个智能插座,上面放4K以上高清。回家本地想看高清叫智能音箱开关就行了。

(另外挂载了一台windows2016的服务器也是智能插座来电开机,ftp共享挂载16个T的硬盘资源,也是一堆电影电视剧集)在单位想看的时候手机远程开插座,派上面重启或者执行下ftp的sh脚本完事。

想要自动加载本地盘就是省去叫了音箱或者在单位远程开了第二硬盘还要进派里执行挂载启动后挂载u盘这个步骤而已。

我即使接入了外部供电 在插入了一块以上的硬盘 ssh终端就会反应迟缓甚至随时掉线

Reply View the author
a***[email protected]
deepin
2024-03-18 08:26
#8
It has been deleted!
a***[email protected]
deepin
2024-03-18 08:27
#9
raspbian

我即使接入了外部供电 在插入了一块以上的硬盘 ssh终端就会反应迟缓甚至随时掉线

4代还是5代?我在5代上同时挂两个外置3.5没问题.

在另一台4代上同时挂2.5本盘和3.5外置台式各一块也没问题。

你可以逐步确定是硬件还是软件问题:

1、用外置电源的3.5单独接两个3.0口如果不卡顿说明硬件接口应该没问题,(4代USB没有5代虽然电压输出接同时接两个2.5没外置电源盒应该会有问题,记得就是卡顿。)

2、两个外置3.5硬盘盒挂都2.5笔记本盘(新盘至少500G以上的,新盘电压负载低)让硬盘盒带电挂载,如果不卡顿两个都能用。那就是你的硬盘盒的问题了。可以是芯片或者电流上限跟挂载盘不兼容。(我早期用的一款内置电源硬盘盒挂路由器和树莓派经常无端卡死宕机)

另外留意下系统,也就前几天刚去贴吧和爱好者群求助。恢复备份后更新挂不上盘,重做升级系统一样是挂不上,改默认用户名重做后挂上了。。但解释不了恢复备份前能用的问题,

结果发现应该是树莓派官方更新服务器的锅,那两天即使重做升级也会报某源连接不上。

没当回事浪费折腾自己一天时间,重新还原再挂了一晚上图形界面升级没报错解决了。

Reply View the author
raspbian
deepin
2024-03-18 09:34
#10
a***[email protected]

4代还是5代?我在5代上同时挂两个外置3.5没问题.

在另一台4代上同时挂2.5本盘和3.5外置台式各一块也没问题。

你可以逐步确定是硬件还是软件问题:

1、用外置电源的3.5单独接两个3.0口如果不卡顿说明硬件接口应该没问题,(4代USB没有5代虽然电压输出接同时接两个2.5没外置电源盒应该会有问题,记得就是卡顿。)

2、两个外置3.5硬盘盒挂都2.5笔记本盘(新盘至少500G以上的,新盘电压负载低)让硬盘盒带电挂载,如果不卡顿两个都能用。那就是你的硬盘盒的问题了。可以是芯片或者电流上限跟挂载盘不兼容。(我早期用的一款内置电源硬盘盒挂路由器和树莓派经常无端卡死宕机)

另外留意下系统,也就前几天刚去贴吧和爱好者群求助。恢复备份后更新挂不上盘,重做升级系统一样是挂不上,改默认用户名重做后挂上了。。但解释不了恢复备份前能用的问题,

结果发现应该是树莓派官方更新服务器的锅,那两天即使重做升级也会报某源连接不上。

没当回事浪费折腾自己一天时间,重新还原再挂了一晚上图形界面升级没报错解决了。

我买了四代和五代的 都是4g内存 出现的问题几乎是一样的 只要放上了硬盘 电源是足够的 硬盘有单独的外部电源 用的是官方的rapspbian系统,最严重的问题就是系统安装之后一段时间ssh连接会变得越来越不稳定 卡顿甚至直接掉线 安装硬盘之后 这个进程仿佛更快了 平时硬盘只是用来挂载到docker容器上 包括它自身的电源 我也换过更大的 没有任何效果 后来放弃了 买了一个叉八六的小主机

Reply View the author
a***[email protected]
deepin
2024-03-18 11:27
#11
raspbian

我买了四代和五代的 都是4g内存 出现的问题几乎是一样的 只要放上了硬盘 电源是足够的 硬盘有单独的外部电源 用的是官方的rapspbian系统,最严重的问题就是系统安装之后一段时间ssh连接会变得越来越不稳定 卡顿甚至直接掉线 安装硬盘之后 这个进程仿佛更快了 平时硬盘只是用来挂载到docker容器上 包括它自身的电源 我也换过更大的 没有任何效果 后来放弃了 买了一个叉八六的小主机

我内网设备除了路由器和机顶盒开ssh,

其他几个树莓或者国产派都只开vnc,且上ufw防火墙。

回头我用5代试试两个3.5看是否也影响ssh。

本身ssh就卡是否需要考虑下内网环境的问题,比如可能存在的旁路由等规则影响。

Reply View the author
sweetyfish
deepin
2024-03-18 13:04
#12

是不是可以用nofail?Do not report errors for this device if it does not exist.

Reply View the author
sweetyfish
deepin
2024-03-18 13:05
#13

"插入特定的移动硬盘后自动挂载到某目录" <- 这个用udisks做吧

Reply View the author
a***[email protected]
deepin
2024-03-18 13:12
#14
a***[email protected]

我内网设备除了路由器和机顶盒开ssh,

其他几个树莓或者国产派都只开vnc,且上ufw防火墙。

回头我用5代试试两个3.5看是否也影响ssh。

本身ssh就卡是否需要考虑下内网环境的问题,比如可能存在的旁路由等规则影响。

图片.png

5代测试了一下,开ssh后直接影响sdb原有的开机rc.local目录挂载。

只有sda1按原来的启动设置将目录挂载上去了,

然后按本帖三楼回复的by-id办法查看因为我两个硬盘盒是一个型号,所以给出的id是一样的。

且只有最后一个接入系统的硬盘盒id,估计这个办法也不行。

现在有两个办法解决挂载问题,要么回退系统可以继续用原有的目录挂载方式挂俩盘。

要么按现在的以后只能等开机后再sdb盘通电然后mount /dev/sdb1 到对应目录。

应该是ssh影响了权限挂载usb设备导致。

Reply View the author