最近在 PD 中安裝了新版的 Mint Linux,死活裝不上 PD,很多功能無法正常使用。
看了一下日誌,是因為核心的原因造成的問題,Google 一波之後,找到了解決辦法,整理一下分享給大家,下文是以 Ubuntu 18.04 作為實驗物件,應該是新版本的核心都適用。
本文介紹方法出處:
https://gist.github.com/rudolfratusinski/a4d9e3caff11a4d9d81d2e84abc9afbf
準備
- 選中虛擬機器,點選 Parallels Action -> "Install Parallels Tools"
- 包含" Parallels Tools" 的CD 被插入 Ubuntu 虛擬機器中。
- 雙擊開啟 CD,拷貝所有的內容到一個新資料夾,起個有識別度的名字,比如"parallels_fixed"
- 開啟終端,cd 到該目錄
- 給 install 增加執行許可權(chmod +x install)
- cd 到 "installer" 目錄
- 給一些指令碼檔案增加可執行許可權:
chmod +x installer.* *.sh prl_*
必須修改一些檔案
- 到 kmods 目錄(cd ~/Desktop/parallels_fixed/kmods),解壓縮檔案(tar -xzf prl_mod.tar.gz)
- 刪除
prl_mod.tar.gz
(rm prl_mod.tar.gz)
修改檔案1/3
- 開啟 "prl_eth/pvmnet/" 目錄(cd ~/Desktop/parallels_fixed/kmods/prl_eth/pvmnet)
- 使用文字編輯器開啟"pvmnet.c"檔案
- 編輯438行:
MODULE_LICENSE("Parallels");
複製程式碼
修改為:
MODULE_LICENSE("GPL");
複製程式碼
- 儲存
修改檔案2/3
- 開啟 "prl_tg/Toolgate/Guest/Linux/prl_tg/" 目錄 (cd ~/Desktop/parallels_fixed/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg)
- 使用文字編輯器開啟"prltg.c"
- 編輯1535行:
MODULE_LICENSE("Parallels");
複製程式碼
修改為:
MODULE_LICENSE("GPL");
複製程式碼
- 儲存
修改檔案3/3
- 開啟"prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/" 目錄(cd ~/Desktop/parallels_fixed/kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze)
- 使用文字編輯器開啟"prl_fs_freeze.c"檔案
- 在212行,你將找到"thaw_timer_fn"函式
void thaw_timer_fn(unsigned long data)
{
struct work_struct *work = (struct work_struct *)data;
schedule_work(work);
}
複製程式碼
修改為:
void thaw_timer_fn(unsigned long data)
{
struct work_struct *work = (struct work_struct *)data;
schedule_work(work);
}
void thaw_timer_fn_new_kernel(struct timer_list *data)
{
struct work_struct *work = data->expires;
schedule_work(work);
}
複製程式碼
然後找到220行:
DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
複製程式碼
修改為:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
DEFINE_TIMER(thaw_timer, thaw_timer_fn_new_kernel);
#else
DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
#endif
複製程式碼
打包
- 回到
kmods
目錄(cd ~/Desktop/parallels_fixed/kmods),執行:tar -zcvf prl_mod.tar.gz . dkms.conf Makefile.kmods
- 目錄中將會生成 "prl_mod.tar.gz" 檔案
安裝
- 回到頂級目錄(cd ../ 或者 cd ~/Desktop/parallels_fixed),然後執行
sudo ./install
進行安裝。
這時應該正常了。