Windows Linux挂载详解
一、Windows共享目录在Linux上的挂载
在实际工作中,开发人员常常需要在Windows上编写代码,然后在Linux系统上进行编译,为了实现这一目标,可以在Linux上使用mount命令挂载Windows的共享文件夹,这相当于将Windows的共享目录当作一个U盘插入到Linux主机中,然后可以直接访问和操作这些文件,以下是具体操作步骤:
1. 在Windows上共享需要挂载的目录
右键点击需要共享的文件夹:选择“属性” > “共享” > “高级共享” > “权限”,设置好相应的权限。
测试访问:在其他机器上打开资源管理器,输入\\192.168.0.102\Share
来测试是否可以正常访问,如果出现无法访问或密码不正确的问题,可以参考以下设置:
修改网络安全设置:开始 -> 运行gpedit.msc
,打开组策略 -> 计算机配置 -> Windows设置 -> 安全设置 -> 本地策略 -> 安全选项 -> 选择“网络安全 : LAN 管理器身份验证级别”,双击打开,设置为“发送 LM 和 NTLM 响应”。
修改网络访问模型:开始 -> 运行gpedit.msc
-> 计算机配置 -> Windows设置 -> 安全设置 -> 本地策略 -> 安全选项 -> 选择“网络访问: 本地帐户的共享和安全模型”,修改为使用经典模式。
2. 在Linux上创建挂载点
mkdir /usr/local/bin/code
3. 使用mount命令进行挂载
mount -t cifs -o username=Bob,password=123456 //192.168.0.102/Share /usr/local/bin/code
参数说明:
username
: Windows系统登录用户名
password
: Windows系统登录密码
//192.168.0.102/Share
: Windows共享目录的路径
/usr/local/bin/code
: 挂载到Linux下的目录
4. 查看挂载状态
df -h
输出示例:
Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 38G 4.3G 34G 12% / devtmpfs 235M 0 235M 0% /dev tmpfs 245M 0 245M 0% /dev/shm tmpfs 245M 4.3M 241M 2% /run tmpfs 245M 0 245M 0% /sys/fs/cgroup /dev/sda2 1014M 131M 884M 13% /boot tmpfs 49M 0 49M 0% /run/user/0 //192.168.0.102/Share 245G 54G 191G 22% /usr/local/bin/code
或者使用mount
命令查看挂载信息。
5. 卸载挂载点
umount /usr/local/bin/code
如果提示错误target is busy
,可以先切换到其他目录再试一次,或者使用fuser
命令找到并终止占用该目录的进程。
fuser -m /usr/local/bin/code ps aux | grep 2806 kill -9 2806 umount /usr/local/bin/code
二、Linux磁盘在Windows上的挂载(通过WSL)
对于需要在Windows上访问Linux磁盘的情况,可以通过WSL(Windows Subsystem for Linux)来实现,以下是具体操作步骤:
1. 安装WSL
以管理员模式打开PowerShell或Windows命令提示符,输入以下命令:
wsl --install
完成后重新启动电脑。
2. 为新安装的Linux子系统创建用户账户和密码
重启后,按照提示完成用户账户和密码的创建。
3. 获取驱动器列表
以管理员模式打开PowerShell或Windows命令提示符,运行以下命令获取可用驱动器列表:
wmic diskdrive list brief
输出示例:
Caption DeviceID Model Partitions Size ===================== =============== ========================= ========= ======== PHYSICALDRIVE0 \\.\PHYSICALDRIVE0 Samsung_SSD_860 1 500105227520 PHYSICALDRIVE1 \\.\PHYSICALDRIVE1 ST1000DM003-1CH162 1 1000204886032
4. 挂载物理磁盘或分区到WSL中
假设要挂载外置硬盘,可以使用以下命令:
wsl --mount \\.\PHYSICALDRIVE1 --partition 1
参数说明:
\\.\PHYSICALDRIVE1
: 指定的物理驱动器
--partition 1
: 指定要挂载的分区编号
如果要挂载指定文件系统,可以使用以下命令:
wsl --mount \\.\PHYSICALDRIVE1 --partition 1 -t ext3
5. 访问挂载的磁盘
打开Windows文件资源管理器,导航到\\wsl$\Ubuntu\home
(假设使用的是Ubuntu发行版),即可访问已挂载的磁盘。
6. 卸载磁盘
wsl --unmount \\.\PHYSICALDRIVE1
三、常见问题及解答(FAQs)
Q1: 如何在Linux上挂载Windows共享文件夹时避免权限问题?
A1: 如果遇到权限问题,可以尝试以下几种方法:
确保Windows共享文件夹的权限设置正确,允许当前用户访问。
检查防火墙设置,确保没有阻止相关的网络连接。
在Linux上使用sudo
提升权限执行mount
命令。
确保在Windows上关闭了“简单文件共享”模式,启用高级共享设置。
Q2: 如何在Windows上通过WSL访问Linux磁盘时解决“Operation now in progress”错误?
A2: 这个错误通常是由于防火墙设置导致的,解决方法如下:
确保Windows防火墙允许文件和打印机共享的相关规则,可以通过控制面板 -> 系统和安全 -> Windows防火墙 -> 高级设置 -> 入站规则,找到关于文件和打印机共享的规则,确保其状态为“允许”。
如果问题依然存在,可以尝试暂时关闭防火墙进行测试,但请注意安全性。
各位小伙伴们,我刚刚为大家分享了有关“windows linux mount”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!