โมดูล vmhgfs ไม่สามารถทำงานร่วมกับ VMware Tools 9.9.0 (Fusion7.1) หลังจากการอัพเดตเคอร์เนล Ubuntu Linux เป็น 3.13.0-46-generic?


12

โมดูล vmhgfs ไม่สามารถทำงานร่วมกับ VMware Tools 9.9.0 (Fusion7.1) และ VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) หลังจาก Ubuntu Linux kernel เคอร์เนลเป็น 3.13.0-46-generic (Febr. 2015) (คุณสมบัติโฟลเดอร์ที่ใช้ร่วมกัน ของเครื่องมือ VMware ไม่ทำงานใน Ubuntu 14.04 LTS (แขก) บน MacOSX Yosemite (โฮสต์)) 


สวัสดีชุมชนและทีมนักพัฒนา VMware


เมื่อวันที่ 13 กุมภาพันธ์ 2015 เราสูญเสียคุณสมบัติโฟลเดอร์ที่ใช้ร่วมกันระหว่าง Ubuntu และ MacOSX อาจเป็นการอัปเดตเคอร์เนล Linux เป็น 3.13.0-46-generic ทำให้เกิดปัญหานี้ (แม้ว่าโมดูล vmhgfs ที่คอมไพล์แล้วที่มีอยู่แล้วของเครื่องมือ VMware ใน Ubuntu จะไม่ได้รับความเสียหายจากการอัพเดตเคอร์เนล Linux!) เราใช้ VMware Fusion 7.0.0 กับ Ubuntu 14.04 LTS และ MacOSX เป็นเวลาหนึ่งปีโดยไม่มีปัญหากับเคอร์เนล Linux รุ่นเก่า เราอัปเดตเป็น VMware Fusion 7.1.0 และ Fusion7.1.1 Build 2496486 ด้วย VMware Tools 9.9.2 เพื่อหวังว่าจะแก้ไขปัญหาคุณลักษณะโฟลเดอร์ที่ใช้ร่วมกันที่เกิดขึ้นเป็นอย่างแรก 7.0.0

เราสามารถสมมติว่ามีความเข้ากันไม่ได้ระหว่างโมดูล vmhgfs ที่คอมไพล์และเคอร์เนล Linux ใหม่ 3.13.0-46-generic

เราพยายามติดตั้งเครื่องมือ VMware 9.9.0 และใหม่กว่า 9.9.2 แต่โมดูล vmhgfs ไม่สามารถรวบรวมได้และคุณสมบัติโฟลเดอร์ที่ใช้ร่วมกันไม่ทำงาน คุณสมบัติเครื่องมือ VMware อื่น ๆ ทั้งหมดนั้นใช้งานได้ดี

ใน Ubuntu 14.04 LTS คำสั่งเทอร์มินัล lsmod | grep "vm." ไม่มีโมดูล vmhgfs

ในระหว่างการรวบรวมโมดูล vmhgfs มี "ข้อผิดพลาด" ใกล้ "/ vmhgfs-only /" และ "make []: หลาย"


นี่คือวารสารรายหนึ่งของเราสำหรับคุณ: 


include/linux/compiler-gcc4.h:14:34: error: ‘struct dentry’ has no member named ‘d_alias’
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
                                  ^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
                               ^
include/linux/kernel.h:794:29: note: in expansion of macro ‘offsetof’
  (type *)( (char *)__mptr - offsetof(type,member) );})
                             ^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
                                        ^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
     ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
               ^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
       pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
             ^
/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
       hlist_for_each_entry(dentry,
       ^
make[2]: *** [/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.o] Error 1
make[1]: *** [_module_/tmp/modconfig-h4Zwi0/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-46-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-h4Zwi0/vmhgfs-only'

และ / mnt / hgfs นั้นว่าง แต่เปิดใช้งานการแชร์โฟลเดอร์สำหรับไดเรกทอรี "Documents" ของ Mac หากเรารัน vmware-hgfsclient ใน terminal เราจะได้รับรายชื่อของโฟลเดอร์ที่ใช้ร่วมกัน แต่ / mnt / hgfs ว่างเปล่า 


คุณช่วยแก้ไขความเข้ากันไม่ได้ระหว่างโมดูล vmhgfs กับ Linux kernel ใหม่ 3.13.0-46-generic ได้ไหม

ขอแสดงความนับถืออย่างสูง,

โทนี



สวัสดียินดีต้อนรับสู่ถาม Ubuntu! เราต้องการช่วยคุณแก้ปัญหานี้อย่างไรก็ตามคำถามนี้ยากที่จะอ่าน โปรดลองจัดรูปแบบคำถามของคุณเพื่อให้ชัดเจนและมีโครงสร้างมากขึ้น ความช่วยเหลือในการจัดรูปแบบ: askubuntu.com/help/formatting
Merlijn Sebrechts

สวัสดีชุมชนสมาชิก "DJ" ของเราตอบไปแล้วโพสต์ของฉัน เขามีปัญหาเดียวกันกับโมดูล vmhgfs และคุณสมบัติโฟลเดอร์ที่ใช้ร่วมกันใน VMware Fusion และถือว่าไม่เข้ากันระหว่างโมดูล vmhgfs และเคอร์เนล Linux ใหม่ 3.13.0-46-generic "DJ" ยังให้คำแนะนำสำหรับรุ่นเคอร์เนล Linux ที่เข้ากันได้ เคยมีประสบการณ์กับ Linux Kernel เวอร์ชั่นล่าสุดที่เกี่ยวข้องกับโมดูล vmhgfs หรือไม่? "DJ" คุณช่วยโพสต์คำสั่งของคุณอีกครั้งได้ไหม เราสามารถทำให้โมดูล vmhgfs ทำงานกับการลดระดับเป็นรุ่นเคอร์เนล Linux ที่เข้ากันได้ล่าสุด ขอแสดงความนับถือ Toni
Ecoplacehunter

การอัพเดต VMware Fusion Pro เป็น 7.1.1 Build 2496486 บน Mac OS X Yosemite และพยายามติดตั้งเครื่องมือ Vmware ใหม่ VMwareTools-9.9.2-2496486 สำหรับ Ubuntu ไม่สามารถแก้ไขปัญหาโมดูล vmhgfs ได้ VMwareTools-9.9.2-2496486 ก็เข้ากันไม่ได้กับ Linux kernel ใหม่ 3.13.0-46-generic
Ecoplacehunter

คำตอบ:


13

เครื่องมือสามารถแก้ไขได้ด้วยตนเอง ใน vmhgfs.tar, inode.c d_aliasต้องเปลี่ยนเป็นd_u.d_alias, นำกลับไปที่ tar และจากนั้นเครื่องมือคอมไพล์ใหม่

สคริปต์ที่ทำเช่นนั้น (ทดสอบบน Ubuntu 32 บิต 14.04, vmware เวิร์กสเตชัน 11.1 บนโฮสต์ windows) อยู่ที่นี่:

#!/bin/sh -x
cd /usr/lib/vmware-tools/modules/source
tar xf vmhgfs.tar
grep -q d_u.d_alias vmhgfs-only/inode.c && echo "already patched" && exit 0
sed -i -e s/d_alias/d_u.d_alias/ vmhgfs-only/inode.c
cp -p vmhgfs.tar vmhgfs.tar.orig
tar cf vmhgfs.tar vmhgfs-only
vmware-config-tools.pl -d -m

หมายเหตุ: สิ่งนี้ทำให้เครื่องมือเข้ากันไม่ได้กับเคอร์เนลเวอร์ชันเก่าเช่น 3.13.0-45


วิธีนี้ใช้ได้ผลกับฉันกับโฮสต์ Windows 8.1 และแขก Ubuntu 14.04.2 LTS แบบ 32 บิตโดยใช้ VMware player 7.1.0 build-2496824 ขอบคุณ!
เทย์เลอร์ตันจอห์นสัน

Hyvä Viljo !!! แก้ไขแพทช์ที่สั้นที่สุดสะอาดและง่ายที่สุดเมื่อเปรียบเทียบกับคำแนะนำที่แปลกประหลาดทั้งหมด: google.fi/ …
Yordan Georgiev

ดูเหมือนว่าพวกเขาจะแก้ไขมันใน vmware-tools-9.9.3
Didar_Uranov

ฉันสามารถยืนยันได้ว่าแพทช์นี้ทำงานบน Ubuntu 14.04.2 LTS เคอร์เนล 3.13.0-48-generic, กำหนดเป้าหมาย VMwareTools-9.6.5-2700074 มาพร้อมกับ VMWare Workstation 10.0.7
Ryan M

1

ฉันมีประสบการณ์เดียวกันหลังจากอัปเดตเป็นเคอร์เนล 3.13.0-46 ตามvmware-tools-patchesไม่มีแพตช์ที่พร้อมใช้งาน

แพตช์ยังใช้ไม่ได้กับเคอร์เนล Linux ต่อไปนี้:

3.13.x

ฉันแก้ไขvmhgfsโดย:

  1. ย้อนไปรุ่นเคอร์เนล 3.13.0-45 ทั้งโดยการบูตเข้ารุ่นเก่าหรือย้อนกลับไปอัพเกรดเคอร์เนลของคุณ แล้ว
  2. ติดตั้ง vmware-toolsใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.