ubuntu自动挂载其他分区,后用samba访问

本文介绍如何在Ubuntu系统中设置磁盘分区的自动挂载。包括使用fdisk命令查看磁盘信息,通过mount命令手动挂载分区,并在fstab文件中添加配置实现开机自动挂载。

主要有两个部分,一个是命令mount,另外一个是fstab,分别看了一点之后,开始尝试。
(以下操作最好都在sudo下面进行,否则可能会有权限问题)
现备份文件/etc/fstab,然后编辑该文件。观察样例形式,找到了

 <file system> <mount point>   <type>  <options>       <dump>  <pass>

上面这种说明形式,以及实例中关于proc的例子。


proc            /proc           proc    nodev,noexec,nosuid 0       0

于是乎试着使用自己的方式来改写。sudo fdisk -l查看硬盘信息.
  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        7572    60820168+   7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2            7572       11494    31498240    7  HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3           11494       26506   120588288+   5  Extended
Partition 3 does not end on cylinder boundary.
/dev/sda4           26507       30401    31283280    7  HPFS/NTFS
Partition 4 does not end on cylinder boundary.
/dev/sda5           11494       16715    41943040    7  HPFS/NTFS
/dev/sda6           16716       21937    41943040    7  HPFS/NTFS
/dev/sda7           21937       26506    36700160    7  HPFS/NTFS
然后在逐个挂载分区,看看哪个是对应的learn盘,fun盘,首先在/media下面新建一个文件,比如test,然后执行命令:
sudo mount /dev/sda1 /media/test

此处有错误,没有写分区格式,应写清分区格式,如此分区为ntfs,这写成:sudo -t ntfs mount /dev/sda1 /media/test

通过对挂载之后内容的判断,知道上面的分区分别是哪些盘,然后就好说了。

编辑/etc/fstab文件,在最后面加入我要开机自动挂载的盘的配置信息,如下:
/dev/sda4    /media/Code    ntfs    nodev,noexec,nosuid 0      0    
/dev/sda5     /media/Learn   ntfs    nodev,noexec,nosuid 0      0
/dev/sda6    /media/Fun     ntfs    nodev,noexec,nosuid 0     0
唯一一点需要注意的就是文件类型,这里我的盘都是ntfs类型的,所以通过查看文档知道有该类型(不知道为何开始使用hpfs也是OK的,后面就不行了),在经过几次测试之后,发现出现了类型错误。

信息错误可以有dmesg | tail来查看。

在找到类型错误后,修改位ntfs,即可正确的挂载。

然后挂载的话就直接使用sudo mount /media/Fun ......即可。
当前,注意由于配置文件中有/media/Code......文件夹,所以需要在/media文件夹下面新建相应的文件夹,否则会失败,注意还要是管理员权限。

最后,注销后再次进入,就能够看到自动挂载的盘符了,而且,此时还不能umount掉哦,提示不是root用户。至此,达到了第一个目的了,能够开机自动挂载。
如果想要使用更加个性化的选项和操作,可以查看参考资料,另外,Man文档中有很多有用的信息,看文档是最快,最直接的方式。

如果想要取消挂载的话,直接使用umount命令即可。比如取下挂载fun,则使用命令:sudo umount /media/fun即可。

因为自动挂载了,所以每次开机后ubuntu都在media下自动挂载其他分区,用samba就可以访问了,当然要在samba的配置文件里把相应的分区共享:
编辑/etc/samba/smb.conf,在最后写入:

[backup]
        path=/media/backup
        available=yes
        browseable=yes
        public=yes
        writable=yes








<think>我们正在讨论的是Windows10系统,而引用中提供的是Linux系统(如CentOS、Ubuntu挂载Samba共享的方法。在Windows系统中,实现开机自动挂载Samba共享到本地路径(无论是驱动器号还是空文件夹)的方法与Linux不同。在Windows10中,实现开机自动挂载Samba共享的常用方法有两种:1.使用“映射网络驱动器”时勾选“登录时重新连接”(图形界面方法)2.使用`netuse`命令并加上`/persistent:yes`参数(命令行方法)但是,用户特别要求“挂载到本地路径”,这通常指的是将共享挂载一个本地文件夹(而不是驱动器号)。在Windows中,这可以通过创建一个挂载点”(mountpoint)来实现,但需要注意的是:-此功能在Windows中称为“将网络驱动器映射到本地文件夹”或“创建网络位置的挂载点”。-要求目标文件夹必须是空的,且位于NTFS分区上。-通常需要专业版或企业版的Windows10。以下是具体步骤:方法一:通过图形界面创建网络位置的挂载点(适用于驱动器号映射到文件夹)1.打开“此电脑”,在左侧右键单击“此电脑”,选择“映射网络驱动器”。2.在“映射网络驱动器”窗口中,不要选择驱动器号,而是点击底部链接“连接到可用于存储文档和图片的网站”。3.在“添加网络位置”向导中,点击“下一步”,然后选择“选择自定义网络位置”。4.输入Samba共享的地址,例如:`\\192.168.1.100\share`。5.输入凭据(用户名和密码)。6.为这个网络位置命名,然后完成。7.完成后,这个网络位置会出现在“此电脑”下的“网络位置”中,而不是驱动器号列表。但是,它并不是一个本地文件夹路径。注意:此方法实际上创建的是一个网络位置快捷方式,并不是将共享挂载到本地文件系统的某个文件夹。方法二:使用命令创建挂载点(将共享映射到本地空文件夹)1.创建一个本地文件夹(例如:`D:\SambaShare`),确保该文件夹为空。2.以管理员身份打开命令提示符或PowerShell。3.使用以下命令:```net useD:\SambaShare\\192.168.1.100\share/user:username password/persistent:yes```或者,如果希望每次开机自动连接,使用:```netuse D:\SambaShare\\192.168.1.100\share/user:usernamepassword /persistent:yes```注意:这里使用的是本地文件夹路径,而不是驱动器号。4.验证:访问`D:\SambaShare`,应该能看到共享的内容。方法三:使用计划任务实现开机自动挂载(如果上述方法无法实现自动挂载)有时,由于权限或系统策略,`netuse`命令设置的持久连接可能不会在开机时自动恢复。此时,我们可以创建一个计划任务,在用户登录时运行挂载命令。步骤:1.创建一个批处理文件(如`mount_samba.bat`),内容如下:```net useD:\SambaShare\\192.168.1.100\share/user:usernamepassword```注意:密码明文存储存在安全风险。2.打开“任务计划程序”(TaskScheduler)。3.创建任务:-常规:设置任务名称,如“MountSambaShare”;选择“不管用户是否登录都要运行”并勾选“使用最高权限运行”(但这样可能无法与用户会话关联,导致挂载的驱动器对用户不可见)或者选择“只在用户登录时运行”(推荐)。-触发器:新建触发器,选择“登录时”(当前用户)。-操作:新建操作,选择“启动程序”,浏览选择上面创建的批处理文件。-条件:根据需求设置(如取消“只有在计算机使用交流电源时才启动此任务”)。-设置:根据需求设置。4.保存任务,并输入当前用户的密码(如果选择了“不管用户是否登录都要运行”则需要,否则不需要)。方法四:使用PowerShell脚本(类似方法三,但可以用更安全的方式存储密码)我们可以将密码转换为安全字符串并存储在一个文件中,然后在脚本中读取。但这种方法相对复杂,且仍然需要妥善保护凭证文件。注意:自动挂载的安全风险无论使用哪种方法,自动挂载都需要存储凭证(用户名和密码)。在批处理文件中明文存储密码是不安全的。为了安全,可以考虑:-使用Windows凭据管理器存储密码,然后通过脚本调用(但凭据管理器通常用于交互式登录,自动调用需要额外配置)。-使用方法二(`netuse`)的持久连接,其凭证由Windows凭据管理器自动管理(相对安全)。总结:推荐使用方法二(`netuse`命令)将共享挂载到本地文件夹,并设置`/persistent:yes`。如果遇到自动挂载失效,再考虑使用计划任务(方法三)并注意安全。引用说明:由于用户提供的引用都是关于Linux的,因此我们的回答不直接引用这些内容。但我们可以参考Linux中通过`fstab`实现自动挂载的思路,在Windows中对应的就是`netuse`的持久连接或计划任务。因此,针对用户的问题,给出如下步骤:步骤1:创建本地空文件夹(如`D:\SambaShare`)步骤2:使用管理员权限打开命令提示符步骤3:执行挂载命令(并设置持久化):net useD:\SambaShare \\192.168.1.100\share /user:username password/persistent:yes这样,每次开机时,Windows会自动尝试重新连接这个共享。如果遇到问题,检查:-本地文件夹是否为空且位于NTFS分区?-是否以管理员身份运行?-网络是否通畅?Samba服务器是否开机?-如果开机时网络未就绪导致挂载失败,可以尝试使用计划任务并设置延迟触发(如登录后延迟30秒执行)。另外,如果用户希望使用非管理员账户实现自动挂载,可以不用管理员权限运行命令提示符,但挂载的共享仅对当前用户可见。生成的相关问题:1.如何安全地存储自动挂载Samba共享所需的密码?2.如何在Windows10中创建延迟启动的计划任务?3.Windows10开机自动挂载网络驱动器失败的可能原因及解决方法?4.如何将Samba共享映射为Windows的本地驱动器号并开机自动挂载?5. Windows10家庭版是否支持将网络共享挂载到本地文件夹?</think>在 Windows 10 中实现开机自动挂载 Samba 共享到本地路径,可通过以下两种方法实现: --- ### 方法一:通过计划任务实现自动挂载(推荐) 此方法安全可靠,无需明文存储密码,且支持网络延迟重试。 1. **创建凭据文件** - 按 `Win + R` 输入 `control userpasswords2` - 切换到 **"凭据管理器"** → **"Windows 凭据"** - 点击 **"添加 Windows 凭据"**: ``` 地址:192.168.1.100(Samba服务器IP) 用户名:samba_user 密码:******** ``` 2. **创建挂载脚本** 新建 `MountSamba.bat` 文件,内容如下: ```batch @echo off net use Z: \\192.168.1.100\share /persistent:yes ``` > 将 `Z:` 替换为驱动器号,路径替换为您的 Samba 共享路径 3. **创建计划任务** - 搜索并打开 **"任务计划程序"** - 右键 **"任务计划程序库"** → **"创建任务"** - 关键配置: ``` 常规: ✔ 使用最高权限运行 ✔ 配置:Windows 10 触发器: ✔ 新建 → 登录时(所有用户) 操作: ✔ 启动程序 → 选择 MountSamba.bat 条件: ✔ 取消所有电源限制 ✔ 网络:任何连接 ``` - 保存并输入当前用户密码 --- ### 方法二:通过注册表实现自动挂载(支持本地路径) 此方法可将共享挂载到空文件夹(需 NTFS 分区)。 1. **创建挂载点** ```cmd mkdir C:\SambaMount ``` 2. **执行挂载命令** 管理员身份运行 CMD: ```cmd net use C:\SambaMount \\192.168.1.100\share /user:samba_user /persistent:yes ``` 3. **验证自动挂载** - 重启系统后访问 `C:\SambaMount` - 若失败,检查注册表路径: `HKEY_CURRENT_USER\Network\C`(驱动器号对应注册表项) > **注意**: > - 方法二要求目标文件夹为空且位于 NTFS 分区 > - 企业版/专业版支持挂载到文件夹,家庭版可能受限[^4] --- ### 常见问题解决 1. **挂载失败(错误 0x80070035)** - 启用 SMB 1.0: *控制面板 → 程序 → 启用功能 → 勾选 SMB 1.0/CIFS* - 开放防火墙端口: ```cmd netsh advfirewall firewall add rule name="SMB Port" dir=in action=allow protocol=TCP localport=445 ``` 2. **开机挂载延迟** 在计划任务中增加触发器延迟: ``` 触发器 → 编辑 → 延迟任务时间:1 分钟 ``` 3. **密码安全存储** 始终通过凭据管理器保存密码,避免脚本中明文存储[^5] --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值