重启vmware中的linux虚拟机后跟windows主机共享的文件失效解决方法
vmware共享文件,需要启动vmhgfs相关模块,应用程序为vmhgfs-fuse。在linux系统上,执行vmhgfs-fuse -h,查看用法:[root@localhost Noah-Anti-Blackmail]# vmhgfs-fuse -hUsage:vmhgfs-fuse sharedir mountpoint [options]Examples:vmhgfs-fuse .host
·
最近经常遇到,windows上用vmware安装好linux虚拟机,设置好共享文件后,也生效了。但是每次重启linux虚拟机之后,共享文件就无法访问了,每次都要手动在vmware的设置里禁用共享,然后再开启共享,操作有点麻烦而且慢,有什么方法可以比较简单快速的解决么,下面介绍一个命令就能解决的方法。
vmware共享文件,需要启动vmhgfs相关模块,应用程序为vmhgfs-fuse。
共享文件生效时,可以用ps命令看到vmhgfs-fuse进程
[root@zyg ~]# ps -ef |grep vm
root 520 1 0 16:30 ? 00:00:00 /sbin/lvmetad -f
root 821 1 0 16:30 ? 00:00:00 /usr/bin/vmtoolsd
root 6681 1 0 16:36 ? 00:00:00 /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
root 6888 6295 0 16:36 pts/2 00:00:00 grep --color=auto vm
在linux系统上,执行vmhgfs-fuse -h,查看用法:
[root@zyg ~]# vmhgfs-fuse -h
Usage: vmhgfs-fuse sharedir mountpoint [options]
Examples:
vmhgfs-fuse .host:/ /mnt/hgfs
vmhgfs-fuse .host:/foo/bar /mnt/bar
general options:
-o opt,[opt...] mount options
-h --help print help
-V --version print version
-e --enabled check if system is enabled
for the HGFS FUSE client. Exits with:
0 - system is enabled for HGFS FUSE
1 - system OS version is not supported for HGFS FUSE
2 - system needs FUSE packages for HGFS FUSE
FUSE options:
-d -o debug enable debug output (implies -f)
-f foreground operation
-s disable multi-threaded operation
-o allow_other allow access to other users
-o allow_root allow access to root
-o auto_unmount auto unmount on process termination
-o nonempty allow mounts over non-empty file/dir
-o default_permissions enable permission checking by kernel
-o fsname=NAME set filesystem name
-o subtype=NAME set filesystem type
-o large_read issue large read requests (2.4 only)
-o max_read=N set maximum size of read requests
-o numa enable numa
-o hard_remove immediate removal (don't hide files)
-o use_ino let filesystem set inode numbers
-o readdir_ino try to fill in d_ino in readdir
-o direct_io use direct I/O
-o kernel_cache cache files in kernel
-o [no]auto_cache enable caching based on modification times (off)
-o umask=M set file permissions (octal)
-o uid=N set file owner
-o gid=N set file group
-o entry_timeout=T cache timeout for names (1.0s)
-o negative_timeout=T cache timeout for deleted names (0.0s)
-o attr_timeout=T cache timeout for attributes (1.0s)
-o ac_attr_timeout=T auto cache timeout for attributes (attr_timeout)
-o noforget never forget cached inodes
-o remember=T remember cached inodes for T seconds (0s)
-o nopath don't supply path if not necessary
-o intr allow requests to be interrupted
-o intr_signal=NUM signal to send on interrupt (10)
-o modules=M1[:M2...] names of modules to push onto filesystem stack
-o max_write=N set maximum size of write requests
-o max_readahead=N set maximum readahead
-o max_background=N set number of maximum background requests
-o congestion_threshold=N set kernel's congestion threshold
-o async_read perform reads asynchronously (default)
-o sync_read perform reads synchronously
-o atomic_o_trunc enable atomic open+truncate support
-o big_writes enable larger than 4kB writes
-o no_remote_lock disable remote file locking
-o no_remote_flock disable remote file locking (BSD)
-o no_remote_posix_lock disable remove file locking (POSIX)
-o [no_]splice_write use splice to write to the fuse device
-o [no_]splice_move move data while splicing to the fuse device
-o [no_]splice_read use splice to read from the fuse device
-o [no_]auto_inval_data use automatic kernel cache invalidation logic
-o readdirplus=S control readdirplus use (yes|no|auto)
-o [no_]async_dio asynchronous direct I/O
-o [no_]writeback_cache asynchronous, buffered writes
Module options:
[iconv]
-o from_code=CHARSET original encoding of file names (default: UTF-8)
-o to_code=CHARSET new encoding of the file names (default: UTF-8)
[subdir]
-o subdir=DIR prepend this directory to all paths (mandatory)
-o [no]rellinks transform absolute symlinks to relative
临时解决的话,直接执行:
vmhgfs-fuse .host:/ /mnt/hgfs
或者用上面ps打印出的命令:
/usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
即可。
永久生效:
在/root/.bashrc 中添加命令:
vmhgfs-fuse .host:/ /mnt/hgfs
或者
/usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
然后执行source命令,让本次修改生效:
source ~/.bashrc
之后,就可以cd到/mnt/hgfs/下的共享文件目录中了。
更多推荐
已为社区贡献6条内容
所有评论(0)