Ubuntu 17.10 อัพเกรด Broke VMWare Workstation 12.5


10

สวัสดีหลังจากอัปเกรดเป็น Ubuntu 17.10 ตอนนี้ vmware ไม่เริ่มทำงาน

ฉันได้รับข้อความ:

/usr/lib/vmware/bin/vmware-modconfig: Relink `/lib/x86_64-linux-gnu/libbsd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'

ฉันรู้ว่ามีโปรแกรมแก้ไขอยู่และฉันพยายามใช้สิ่งเหล่านี้และคอมไพล์ใหม่ ฉันเรียกใช้จากโซลูชันที่https://communities.vmware.com/thread/571370 :

cd ~  
#Copy the vmmon source tar ball to your temporary location
cp /usr/lib/vmware/modules/source/vmmon.tar .   
#Extract the tar ball
tar xf vmmon.tar  

#Download the modified file that mkubecek posted and overwrite the one from the tar ball for VMware Workstation 12.5:
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c   

#Wrap up the newly modified files into a tar ball replacing the original one
sudo tar cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only  

#Rebuild the VMware kernel modules
sudo vmware-modconfig --console --install-all  
Failed to get gcc information. 
gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0 ...

โดยไม่ได้ตั้งใจ vmware-modconfig ล้มเหลวเนื่องจากการขึ้นต่อกันที่ดูเหมือนว่าในรุ่น gcc เฉพาะ ฉันกำลังติดตามใช่ไหม? ความช่วยเหลือเกี่ยวกับปัญหานี้จะได้รับการชื่นชมมาก

แก้ไข ขอบคุณ Steve ด้านล่างนี้ได้รับ vmware อีกครั้ง ฉันได้รวมการแก้ไขเล็กน้อยแล้ว ผ่านการทดสอบและยืนยันแล้วฉันสามารถใช้งานเครื่องเสมือนได้

sudo su
# do all below as root
cd /usr/lib/vmware/modules/source
tar xvf vmmon.tar 
tar xvf vmnet.tar
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
vim vmnet-only/bridge.c
cd vmmon-only/
make
cd ../vmnet-only/
make
cd ..
mkdir /lib/modules/4.13.0-16-generic/misc
cp *.o /lib/modules/4.13.0-16-generic/misc
insmod /lib/modules/4.13.0-16-generic/misc/vmmon.o
insmod /lib/modules/4.13.0-16-generic/misc/vmnet.o
rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
vmware-networks --start
exit

# run vmware as normal user
/usr/lib/vmware/bin/vmware

2
โดยทั่วไปการทำเวอร์ช่วลไลเซชั่นของบุคคลที่สามจะล่าช้าเล็กน้อยด้วยเมล็ดใหม่และรุ่นใหม่ ดูเหมือนว่าจะส่งผลกระทบต่อ vmware มากกว่า virtualbox ในฐานะที่เป็น vmware เป็นแหล่งปิดคุณจะต้องถามพวกเขา เป็นทางเลือกที่เป็นไปได้ - นี่คือเหตุผลที่ฉันพยายามใช้ KVM หรือ LXC ให้มากที่สุด (แม้ว่าฉันยังรู้สึกว่า LXC ไม่พร้อมสำหรับเซิร์ฟเวอร์ที่ใช้งานจริง) KVM + เครื่องเทศเร็วมาก (FWIW) ด้วย vmware ฉันเดาว่าจะมีการแก้ไขจาก 1-3 วันหรือ 3-4 สัปดาห์ขึ้นอยู่กับความซับซ้อนของปัญหา
Panther

ชุดข้อมูลแก้ไขที่คุณพยายามจะใช้มีไว้เพื่อแก้ไขข้อบกพร่องด้วยการจัดการหน่วยความจำไม่ใช่ปัญหาที่เกี่ยวข้องกับข้อความแสดงข้อผิดพลาดที่คุณกล่าวถึง AFAIK ยังไม่มีวิธีแก้ปัญหาสำหรับปัญหานั้น มีรายงานข้อผิดพลาดเกี่ยวกับ launchpad คือ: bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552
749720

คุณสามารถแก้ไขปัญหา "ไม่สามารถรับข้อมูล gcc" ได้หรือไม่
OğuzhanTopçu

โดยไม่คาดคิดฉันกำลังเรียกใช้สคริปต์ที่ sudo เรียกใช้insmodและvmware-networksคำสั่งจากนั้น vmware binary เป็นผู้ใช้ปกติ
user1330734

ฉันมี Lubuntu 18.04 - วิธีการจาก Stephen Wassell ไม่ทำงาน โซลูชันจาก tokam - อัพเกรดเป็น VMWare 14 ก็ใช้งานไม่ได้ด้วย - เนื่องจากนโยบายจาก VMWare เพียงเพื่อสนับสนุนฮาร์ดแวร์ใหม่ล่าสุด วิธีการจากจอห์นทำงาน - แต่ถ้าฉันเริ่ม vmplayer เป็น su มิฉะนั้นฉันจะได้รับข้อความที่เชื่อถือได้: แถว 106: 29487 ข้อผิดพลาดของหน่วยความจำ (เขียนการถ่ายโอนข้อมูลหน่วยความจำ) "$ BINDIR" / vmware-modconfig --appname = "VMWaer Player! --ivon =" vmware-player "
Tobias Trappe

คำตอบ:


12

ฉันจัดการเพื่อให้ VMWare Workstation 12.5.7 ทำงานบน Kubuntu 17.10

ใน/usr/lib/vmware/modules/source:

  1. แยกvmmon.tarและvmnet.tar

    sudo tar -xf vmmon.tar
    sudo tar -xf vmnet.tar
    

    สิ่งนี้จะสร้างvmmon-onlyและvmnet-onlyไดเรกทอรี

  2. ดึงแพตช์ hostif.c

    sudo wget -O vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
    

    (หมายเหตุ: https://communities.vmware.com/thread/571370 - ยังมีการแก้ไขที่คล้ายกันสำหรับ VMWare Workstation 14)

  3. แก้ไขvmnet-only/bridge.c:

    639c639
    <        atomic_inc(&clone->users);
    ---
    >        atomic_inc((atomic_t*)&clone->users);
    
  4. วิ่ง

    make -C vmmon-only
    make -C vmnet-only
    cp -t /lib/modules/4.13.0-16-generic/misc *.ko
    modprobe -r vmmon
    insmod /lib/modules/4.13.0-16-generic/misc/vmmon.ko
    rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
    ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1  # see https://communities.vmware.com/thread/572259
    vmware-networks --start  # see https://forum.chakralinux.org/viewtopic.php?id=8579
  5. ในฐานะผู้ใช้:

    /usr/lib/vmware/bin/vmware
    

    (เพื่อป้องกันไม่ให้ทำงานvmware-modconfig)


สตีเฟ่นดีมากงานที่ยอดเยี่ยมคำตอบของคุณง่ายมากที่จะทำตาม ฉันทำซ้ำขั้นตอนอย่างชัดเจนรวมถึงการแก้ไขเล็กน้อยสำหรับขั้นตอนที่ 8 ในการแก้ไขคำถามของฉันด้านบน ไชโย!
user1330734

ดีใจที่มันทำงานให้คุณ! ฉันแก้ไขขั้นตอนที่ 8 ด้วยขอบคุณสำหรับการแก้ไข หวังว่าทั้งหมดนี้จะยังคงมีอยู่ในการรีบูต ...
สตีเฟ่น Wassell

1
ขอขอบคุณอีกครั้งสตีเฟ่นฉันเป็นคนดีถ้าฉันเริ่มต้นด้วย/usr/lib/vmware/bin/vmwareมิฉะนั้น vmware รายงานว่าไม่สามารถหา GCC ได้
user1330734

ขอบคุณมากสำหรับการโพสต์! นี่ทำให้ฉันทำงานอีกครั้ง มีสถานที่ใดที่เราสามารถไปดูว่า VMWare ให้การแก้ไขหรือไม่
Eric

4
Workstation 14.1.0 ได้เปิดตัวแล้วซึ่งแก้ไขปัญหานี้ได้ my.vmware.com/group/vmware/…
Stephen Wassell

6

ฉันได้ลองวิธีแก้ปัญหาอื่น ๆ โดยประมาณแล้ว แต่ก็ไม่มีอะไรทำงาน แต่ขั้นตอนเหล่านี้ใช้ได้กับฉันใน Ubuntu 18.04, VMware 12.5.9

git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-12.5.9 (change it to your version. it's important)
make && sudo make install
cd /usr/lib/vmware/lib/libz.so.1
sudo mv libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 .
sudo depmod -a
sudo /etc/init.d/vmware restart

อ้างอิง:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552/comments/29


2
มันใช้งานได้ดีขอบคุณตัน! ฉันกำลังมองหาวิธีแก้ปัญหานี้สำหรับ Ubuntu 18.04 ตั้งแต่มันออกมา!
Stam Kaly

1
สามารถยืนยันว่าใช้ได้กับ Ubuntu 18.10 ด้วย VMWare Workstation Pro 12.5.9
ระบุชื่อ

วิธีนี้ใช้ได้ผลกับฉันใน Linux Mint 19.2 64 บิตกับ vmware workstation pro 12.5.9
Lexib0y

2

ข้อผิดพลาดที่อธิบายโดย: Stephen นำไปสู่ข้อบกพร่องอื่น ๆ มากมาย: "ไม่สามารถรับข้อมูล gcc"

ทางออกที่ง่ายที่สุดคือการดาวน์โหลดเล่น VMware Workstation 14.1

การติดตั้งแทนที่จะเป็นเวอร์ชั่น 12.5แก้ปัญหาที่อธิบายไว้ข้างต้น

เมื่อต้องการทำเช่นนั้นเพียงแค่เรียกใช้

chmod +x VMware-Player-14.1.1-7528167.x86_64.bundle
sudo ./VMware-Player-14.1.1-7528167.x86_64.bundle

และปฏิบัติตามคำแนะนำในตัวติดตั้งกราฟิก


2
ซึ่งต้องมีการอัปเกรดใบอนุญาต
shadowbq

เปิดใช้/usr/lib/vmware/bin/vmwareแทนเพื่อแก้ไข "ไม่สามารถรับข้อมูล gcc"
shadowbq

2
ฉันคิดว่าไม่ใช่เชิงพาณิชย์มันยังทำงานได้โดยไม่มีการอัพเกรดใบอนุญาต
tokam

2

นอกจากคำตอบของStephen Wassellหากคุณยังคงใช้งาน VM Workstation เวอร์ชัน 12.5.x คุณจะต้องรวบรวมใหม่.koสำหรับทุกเคอร์เนลแพตช์ .. ซึ่งเป็นจำนวนมาก ..

คุณอาจเห็นข้อผิดพลาดนี้: ( รูปแบบโมดูลไม่ถูกต้อง )

# insmod /lib/modules/4.13.0-31-generic/misc/vmnet.ko 
insmod: ERROR: could not insert module /lib/modules/4.13.0-31-generic/misc/vmnet.ko: Invalid module format

นี่คือเครื่องมือที่จะเก็บโมดูลเคอร์เนลสำหรับ ubuntu-flavor-distros ที่อัพเดตหลังจากเคอร์เนลแพตช์

https://gist.github.com/shadowbq/5897002b620b093ca7578b5f13c3f3a1

ฉันได้รวม wrapper แบบง่าย ๆ.shที่คุณสามารถใช้แทนการเรียกใช้ vmware เวิร์กสเตชันเพื่อให้คุณมั่นใจได้ว่ามันจะโหลดโมดูล vm-network และ vm-mon อย่างเหมาะสมทุกครั้ง

หมายเหตุ: สคริปต์นี้จะไม่ขยายไฟล์ต้นฉบับ 'tar' หรือ 'patch' สิ่งนี้ใช้สำหรับการคอมไพล์โมดูลเคอร์เนลใหม่โดยอัตโนมัติหลังจากที่แพทช์เคอร์เนลทำตามขั้นตอนดั้งเดิมโดย Stephen Wassell

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