--==关于启动加载mount命令的解决方案==--


起因:软路由作为主路由(装的iStoreOS 固件 openWRT),想将NAS(威联通)硬盘里的文件夹映射挂载在软路由下的目录,

进入软路由终端输入 “mount -t cifs -o vers=2.0,username=admin,password=1234,iocharset=utf8 //192.168.2.141/备份/电影 /mnt/sata1-4/NAS电影”    完美挂载,但软路由重启后又没有了(即便是没重新启动,过1-2小时也会没有了挂载),需要再终端再重新输入以上命令才能挂载。

尝试了以下几个方法:

1、尝试了将命令写入 /etc/rc.local  后重启软路由没挂载

 

img

 2、将 /etc/rc.local   拷贝到  /etc/rc.d/rc.local  并执行了  ll /etc/rc.d/rc.local /etc/rc.local

root@iStoreOS:~#  ll /etc/rc.d/rc.local /etc/rc.local
-rwxr-xr-x    1 root     root           341 Mar 25 02:07 /etc/rc.d/rc.local*
-rwxr-xr-x    1 root     root           341 Mar 25 02:08 /etc/rc.local*

但启动后还是没有挂载。

3、输入systemctl list-unit-files|grep rc.local   得出   -ash: systemctl: not found

4、无法编辑fstab 按 vi /etc/fstab 进入后是一个空白页,无法进行编辑,按 q! wq也没反应,如下截图

img

然后..就不会弄了,如何能长久的、不受重启影响的加载挂载NAS硬盘的方式?谢谢啊!

该回答引用于gpt与OKX安生共同编写:
  • 该回答引用于gpt与OKX安生共同编写:

有一种方法是将挂载命令添加到/etc/fstab文件中,以便在启动时自动挂载。

在终端中运行以下命令:

sudo nano /etc/fstab

在文件的末尾添加以下行:

//192.168.2.141/备份/电影 /mnt/sata1-4/NAS电影 cifs vers=2.0,username=admin,password=1234,iocharset=utf8 0 0

保存并关闭文件。这将告诉Linux在启动时将该共享文件夹挂载到指定的目录下,并使用指定的选项。

请注意,由于NAS上的共享可能需要一些时间来启动和准备,因此自动挂载可能需要等待一段时间才能完成。如果在启动后无法立即找到共享,则可以尝试在fstab文件中添加延迟。例如,_netdev选项可以告诉Linux在启动网络之后再尝试挂载,delay_connect选项可以在启动后等待一段时间再尝试挂载。

重新启动软路由以使更改生效,它应该自动挂载NAS的共享文件夹。

  • 根据您提供的信息,看起来您的系统可能没有安装sudo命令。sudo是一个非常常用的命令,用于以超级用户权限运行其他命令,我建议您尝试使用以下命令来安装它:
apt-get update
apt-get install sudo

这应该会更新软件包列表并安装sudo。然后您可以按照之前的指导在/etc/fstab文件中添加自动挂载条目。

如果您仍然遇到挂载延迟的问题,您可以尝试添加_netdev选项,例如:

//192.168.2.141/备份/电影 /mnt/sata1-4/NAS电影 cifs vers=2.0,username=admin,password=1234,iocharset=utf8,_netdev 0 0

这将告诉系统在网络启动之后再尝试挂载共享文件夹。

该回答通过自己的思路及结合引用GPTᴼᴾᴱᴺᴬᴵ内容,具体如下:
您可以尝试将挂载命令添加到系统的自动挂载文件 /etc/fstab 中,这样每次系统启动时会自动挂载指定的共享目录。以下是实现步骤:
1、编辑 /etc/fstab 文件:

vi /etc/fstab

2、在文件的末尾添加一行,指定挂载的共享目录的相关信息,格式如下:

//<服务器地址>/<共享目录> /mnt/sata1-4/NAS电影 cifs username=<用户名>,password=<密码>,vers=2.0,iocharset=utf8 0 0

例如下面这个:

//192.168.2.141/备份/电影 /mnt/sata1-4/NAS电影 cifs username=admin,password=1234,vers=2.0,iocharset=utf8 0 0

3、保存并退出编辑。
4、执行以下命令以检查 /etc/fstab 文件是否有语法错误:

mount -a

以上如果没有错误,没有提示信息输出,说明 /etc/fstab 文件格式正确。
5、重新启动系统,检查是否自动挂载成功。

6、但需要注意如下几个事项:

注意事项:

1、在编辑 /etc/fstab 文件时,请仔细检查格式,确保每行末尾都有换行符。
2、在编辑 /etc/fstab 文件时,密码等敏感信息需要保密,可以考虑使用 chmod 600 命令将 /etc/fstab 文件的权限设置为只有 root 用户可读可写。
3、如果您在挂载共享目录时遇到权限问题,请检查共享目录的权限设置和访问权限,确保当前用户有访问该共享目录的权限。

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

再补充少少 ,为什么ll /etc/rc.d/rc.local /etc/rc.local 这个命令后 是绿色还带星号的?请见图:

img

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
您可以尝试使用fstab文件来永久挂载您的NAS硬盘。fstab文件包含了文件系统的信息以及挂载的选项。以下是具体步骤:

1.先创建一个用来挂载NAS硬盘的目录,例如/mnt/NASFolder

2.使用以下命令安装必须的软件包:

opkg update
opkg install kmod-fs-cifs

3.编辑fstab文件,加入以下内容:

//192.168.2.141/备份/电影 /mnt/NASFolder cifs username=admin,password=1234,iocharset=utf8,vers=2.0,nofail 0 0

此处需要将挂载点和参数替换为您的设置。

4.保存并退出fstab文件。

5.如果一切正常,重启软路由后,您的NAS硬盘应该已经挂载成功了。

注意:如果您在编辑fstab文件时出现任何错误,可能会导致系统启动失败。因此,请在编辑之前先备份一份fstab文件以便出现问题时可以回退。
如果我的回答解决了您的问题,请采纳!

解决方案:
1. 确认NAS硬盘已经正确连接到网络,并且可以被软路由访问。
2. 在软路由终端中输入以下命令,安装cifs-utils软件包:

opkg update
opkg install cifs-utils

3. 创建一个目录,用于挂载NAS硬盘中的文件夹:

mkdir /mnt/nas

4. 编辑/etc/fstab文件,添加以下一行:

//NAS_IP/SHARE_NAME /mnt/nas cifs username=USERNAME,password=PASSWORD,vers=VERSION 0 0

其中,NAS_IP为NAS硬盘的IP地址,SHARE_NAME为要挂载的文件夹名称,USERNAME和PASSWORD为NAS硬盘的登录用户名和密码,VERSION为CIFS协议的版本号。
例如,如果NAS硬盘的IP地址为192.168.1.100,要挂载的文件夹名称为share,登录用户名为admin,密码为123456,CIFS协议的版本号为2.1,则添加的一行应该为:

//192.168.1.100/share /mnt/nas cifs username=admin,password=123456,vers=2.1 0 0

5. 保存/etc/fstab文件,并执行以下命令,使修改生效:

mount -a

如果没有报错,则说明挂载成功。
6. 可以通过cd命令进入/mnt/nas目录,查看NAS硬盘中的文件夹是否已经成功挂载。

cd /mnt/nas
ls

如果能够列出NAS硬盘中的文件夹,则说明挂载成功。
解释说明:
1. cifs-utils软件包是用于挂载CIFS共享文件夹的工具包,需要先安装才能使用mount命令挂载。
2. /mnt/nas是挂载点,可以根据需要自行修改。
3. /etc/fstab文件是Linux系统中用于自动挂载文件系统的配置文件,添加一行后,系统会在启动时自动挂载。
4. CIFS协议是用于在Windows和Linux之间共享文件夹的协议,不同版本的CIFS协议支持的功能不同,可以根据需要选择合适的版本号。
5. mount -a命令是用于重新挂载/etc/fstab文件中的所有文件系统,如果修改了/etc/fstab文件,需要执行该命令使修改生效。
总结:
通过以上步骤,可以在软路由上成功挂载NAS硬盘中的文件夹,方便在软路由上访问和管理NAS硬盘中的文件。同时,也可以根据需要修改挂载点和CIFS协议的版本号等参数。
您可以尝试在 /etc/fstab 文件中添加一行挂载命令,以便在系统启动时自动挂载 NAS 硬盘。以下是示例命令:
//192.168.2.141/备份/电影 /mnt/sata1-4/NAS电影 cifs username=admin,password=1234,iocharset=utf8,vers=2.0 0 0
请注意,如果您的 NAS 硬盘使用的是 SMBv1 协议,则不应该在挂载命令中使用 vers=2.0,而应该使用 vers=1.0。

另外,如果您无法编辑 /etc/fstab 文件,请确认您是否有足够的权限进行编辑。您可以尝试使用 sudo vi /etc/fstab 命令以管理员身份编辑该文件。如果您仍然无法编辑该文件,请尝试使用其他编辑器或使用 sudo chmod 666 /etc/fstab 命令将文件权限设置为可写。不过,请注意,修改文件权限可能会对系统安全性造成风险,因此请在完成操作后将权限改回。