1. 程式人生 > >實現VirtualBox中的(Guest OS)Mac和主機(Host OS)Win7之間的檔案和資料夾共享

實現VirtualBox中的(Guest OS)Mac和主機(Host OS)Win7之間的檔案和資料夾共享

已經可以在VirtualBox中正常的使用Mac進行開發了,但是現在想要把一些檔案從WIn7下共享到VirtualBox中的Mac中去,所以需要去折騰一些,VirtualBox中的Mac,如何和Win7之間實現共享。

1.打算先去試試VirtualBox本身自帶的資料夾共享功能:

選擇虛擬機器,然後點選設定,找到共享資料夾,點選那個帶加號的資料夾:

設定 共享資料夾

然後設定對應的路徑:

設定共享資料夾路徑

確定後,就建立好了:

該功能需要在虛擬電腦中安裝增強包

但是注意到了上面提示了“該功能需要在虛擬電腦中安裝增強包”。

而之前就在VirtualBox官網的手冊中看到“VirtualBox does not provide Guest Additions for Mac OS X Server at this time.”,即暫時不提供這個增強功能包,所以,暫時也就無法使用此方式實現Win7和VirtualBox中的Mac共享了。

而且後來也找到其他很多人,比如這個,提到此問題,因為本身Mac OS X作業系統就不允許裝在非Mac的機子(硬體上),所以有很多限制的。

總之,此法失效。

2.看到這裡提到說可以通過共享上網,然後利用Mac中的SMB和主機Win7之間實現資料夾共享。

這個也是我之前就在別的地方看到的,所以就繼續折騰SMB的方法。

3.網上找到的一些資料,都沒有解決辦法: 1

找到個教程,卻還是說的是主機是Mac,虛擬機器是WinXP的。

4.先去關閉Mac虛擬機器,看了下,預設的共享上網方式是 網路地址轉換(NAT):

預設的NAT

而列表中所提供的選項有:

多種網路方式

未指定

網路地址轉換(NAT)

橋接網絡卡

內部網路

僅主機(Host-Only)介面卡

通用驅動

這些方式之間的區別,後來找到了很好的解釋:

所以去設定為 橋接網絡卡:

橋接網絡卡

然後再去啟動Mac看看是否可以正常上網。

結果證明是可以正常用Safari上網的。

不過,另外,看到Win7中的網絡卡,有個Host-Only,不知道是剛出來的還是之前用NAT時就有的:

VirtualBox Host-Only Network

對應IP為 196.254.54.175:

virtualbox host-only ip

而本身的Local Area Network的IP是 192.168.3.75:

LAN IP

看起來好像不是橋接網路弄出來的。

先不管,先去按照:

介紹的試試,看看能否通過Mac的SMB直接訪問Win7。

Finder

前往 連線伺服器

輸入smb加上win7的ip

正在連線 smb

輸入Mac的使用者名稱和密碼

結果連線不成功,視窗閃動了幾下,還是保持在當前視窗。

另外,也去試了試,使用"客人"去連線,結果也顯示沒有“對伺服器 xxx上您的賬戶的訪問已被拒絕”:

對伺服器 上您賬戶的訪問已被拒絕

又折騰了一下,點選瀏覽:

點選 瀏覽

從Finder中找到的局域網裡面的PC:

pc-cli-1

連線失敗

點選 連線失敗:

點選 連線失敗

結果又是那個對話方塊,然後最後還是上面同樣的錯誤,都是無法連線。

5. 最後,參考:

去一步步操作:

(1)在win7中共享一個資料夾

share with

select everyone

click add

choose read write

click share

share done

(2)再關閉Mac虛擬機器,重新把網路方式改回NAT

change back to NAT

(3)重新開啟Mac虛擬機器

結果卻很悲催的啟動不了了,出現錯誤Sound assertion in AppleHDAEngine at line 7160:

Sound assertion in AppleHDAEngine at line 7160

不過更改一下網絡卡設定,還是設定為NAT,然後再重啟一下,就又好了,可以進入Mac了。

然後 Finder->前往->連線伺服器,輸入smb加上win7的ip地址,點選連線:

smb connect

input win7 usr pwd

結果,還是連線不上,然後試了試,把使用者名稱換為我這裡的大寫的CLI,結果就可以成功連線上了:

select shared folder

選擇對應的所共享出來的資料夾,即可看到對應資料夾的內容了:

mac in virtualbox can access win7

注意,此處所看到的tmp,是我剛才就共享出來的資料夾,倒是上面共享出來的tmp下面的music,沒有獨立顯示出來的。無論如何,反正操作是一樣的,知道如何操作就好了。

【總結】

對於主機是Win7,在VirtualBox中安裝了虛擬機器Mac來說,首先要明白的邏輯關係是:

主機 = Host OS = Win7

客戶機 =  虛擬機器中的系統 = Guest OS = (VirtualBox中的)Mac

想要做的事情是:

從VirtualBox中的Mac虛擬機器,可以訪問到主機Win7中的資料夾。

具體操作步驟是:

1.在主機Win7中共享出來一個資料夾

注:

A。可根據需要自己設定相應許可權。我一般都設定為Everyone + Read/Write

B。自己確保的確已經共享成功了,確保可以在網路鄰居 -> 自己的計算機中能檢視到該共享出來的資料夾。

2.將VirtualBox的Mac的網路連線方式設定為 網路地址轉換(NAT)

注:

A。一般預設都是此設定,所以其實不需要做任何改動即可。

B。經過後來的折騰而驗證,不論是使用預設的NAT還是橋接網絡卡,後面的smh都是可以找到Win7中共享出來的資料夾的,當前前提是使用者名稱和密碼要正確。。。

3.從VirtualBox中執行Mac

4.開啟Finder -> 前往 -> 連線伺服器

5. 輸入 smb://192.168.3.75

注:其中192.1683.75是Win7的IP。可以在 控制面板 -> 網路 -> 區域網地址 中找到對應的值。

6. 在跳出的對話方塊中,預設選擇的 連線身份 是 註冊使用者,然後輸入你Win7主機中的管理員的使用者名稱和密碼

注:其實,如果你Win7中有多個註冊使用者,且有對應的許可權,按理來說,每個使用者都可以登入的。

注:在Win7下新增的共享資料夾,即使設定了Everyone,且是Read/Write,但此處如果“連線方式”選擇“客人”的話,還是會遇到“對伺服器 xxx 上您的賬戶的訪問已被拒絕。 請聯絡您的系統管理員以獲得更多資訊”

7.然後smb中就可以幫你列出來Win7中所共享出來的那些檔案夾了,比如此處的tmp資料夾,然後點選開啟,就可以看到共享的內容了。

注:後來發現,VirtualBox中的Mac訪問Win7共享資料夾後,會生成一個.DS_Store檔案的。

提示:

1. 我此處,在Win7中共享出來的資料夾,有的可以在Mac的smb中找到,有的卻找不到。很是奇怪。

相應的,在Mac的smb中找不到的資料夾,在Win7中的全部共享中,也找不到。

注:在win7中檢視當前所有的共享,辦法是:網路鄰居中,點開你自己的計算機,就可以看到所有的共享了。

或者在共享某個資料夾操作完畢後,有個Show me all the network shares on this computer,也是開啟對應的地址而已。

比如我這裡的就是:\\PC-CLI-1,其中PC-CLI-1是我的計算機名。而當前ip是192.168.3.75,所以和:\\192.168.3.75,的效果是一樣的。

【後記】

後來還是根據該帖子,但是是另外別人的回覆:

然後再去試試,使用橋接,是否真的可行。

1. 然後就再去設定為 橋接網絡卡,但是卻又出現上述的錯誤:

Sound assertion in AppleHDAEngine at line 7160

然後網上找了一堆,也還是沒解決。

不過,關於這句話,倒是有點明白了,好像就是所謂的,Mac對硬體的型號會去掃描匹配度,如果發現不是自己的硬體,會報錯的,就是指的這裡的,發現不是Mac自己的音效卡,所以才報錯的。

不過由後續的可以執行Mac系統來說,好像不是嚴重的錯誤,或者說可以被VirtualBox繞過去?所以才可以繼續執行Mac的?但是之前看到VirtualBox官網說不會幫你繞過這些東西的啊。。。所以,還是不是很清楚。。。

先不管,再去嘗試把音效卡從 Intel HD音訊,換為ICH AC97:

ICH AC97

結果卻又死在了:

SMC smcReadKeyAction ERROR BEMB

SMC smcReadKeyAction ERROR BEMB

2. 再去把音效卡改為SoundBlaster 16:

SoundBlaster 16

結果竟然是可以進入Mac系統了。。。

然後再去試了試smb,結果也是可以正常找到Win7中共享出來的資料夾的:

橋接網絡卡 同樣smb可用

到此,也更加深入的明白了VirtualBox中的網路連線方式:

網路地址轉換NAT

虛擬機器Mac沒有自己獨立的IP的。

虛擬機器是虛的,不存在與真實的網路中的。

虛擬機器可以訪問主機Win7而已,但是Win7無法訪問到(虛的)Mac。

橋接網絡卡

虛擬機器有獨立的IP,就像同處一個區域網中的其他的計算機一樣。

因此,可以在Mac的smb中找到類似於Win7中看到的 網路上的芳鄰一樣的效果,可以看到其他各個同區域網內的計算機,當然也包括此臺Host的Win7所對應的計算機了。

所以,只要本身Win7共享出來了檔案夾了,那麼此時在Mac中肯定也是可以訪問到該共享資料夾的。

不過,目前看來,好像如果使用橋接網絡卡,則偶爾會導致Mac虛擬機器無法啟動,而之前一直使用預設的NAT方式,則很少出現此類問題。


相關推薦

實現VirtualBoxGuest OSMac主機Host OSWin7之間檔案資料共享

已經可以在VirtualBox中正常的使用Mac進行開發了,但是現在想要把一些檔案從WIn7下共享到VirtualBox中的Mac中去,所以需要去折騰一些,VirtualBox中的Mac,如何和Win7之間實現共享。 1.打算先去試試VirtualBox本身自帶的資料夾共享

Pythonos.pathos.makedirs的運用判斷檔案資料是否存在,建立資料

import os import numpy as np data = np.array([1, 2, 3]) if not os.path.exists("./data/"): print("# path not exists") os.makedirs("./data/")

Java實現zip檔案壓縮單個檔案資料以及檔案資料的組合壓縮

Java實現zip檔案壓縮(單個檔案、資料夾以及檔案和資料夾的組合壓縮) 2016年10月04日 23:22:24 ljheee 閱讀數:13215 標籤: 壓縮javazip 更多 個人分類: Java應用 版權宣告:本文為博

python實現將某程式碼檔案複製/移動到指定路徑下 檔案資料的移動、複製、刪除、重新命名

    用python實現將某程式碼檔案複製/移動到指定路徑下。 場景例如:mv ./xxx/git/project1/test.sh ./xxx/tmp/tmp/1/test.sh (相對路徑./xxx/tmp/tmp/1/不一定存在)   # -

VirtualBox設定主機與虛擬機器資料共享以及“安裝增強功能”詳細

要設定資料夾共享之前,需要確保已安裝VirtualBox的“安裝增強功能” 。 步驟1: 步驟2: 如果沒有報錯請跳過步驟2!!!如果報錯如下,請按本步驟做: 把ubuntu的光碟機彈出 然後再重複步驟1,重複完後,進入步驟3 步驟3: 輸入當前管理員的密

Ubuntu VirtualBox實現資料共享

有些時候,我們可能需要在Ubuntu中虛擬一個Windows作業系統,如下是我的環境配置:    母作業系統:Ubuntu 9.04 + VirtualBox 2.1.4_OSE    子作業系統:Window XP    至於如何安裝VirtualBox及虛擬Windows

【解決方案】Windows10區域網內配置資料共享附網路沒有找到的情況解決方案

第一步,找到對應的資料夾 選擇“特定的使用者” 這裡不好截圖,我就不展示圖片了。 這裡選擇下拉框!!! 如果在這裡發現有EveryOne的話,就直接點 |||| |||| |||| 如果發現沒有EveryOne的話,就選擇建立(但是一般都是有的! 所以看看

Python3 直譯器 PyCharm 破解、漢化適用所有系統 Mac、Linux、Windows等

PyCharm 啟用 將下列啟用碼(不是網址)直接複製貼上在啟用介面的 server 即可 http://idea.imsxm.com/ 或者 http://15.idea.lanyus.com/ 都

IDEA版本控制Git、SVN忽略特定檔案資料

1、Git,在專案跟目錄下增加.gitignore檔案,內容如下:target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .set

兩步實現virtualboxubuntu12.0.4開機自動掛載

我想實現主機和virtualbox中的虛擬機器共享資料夾,網上的很多資料顯示是修改/etc/fstab來實現,但是我按照這個方法來做的話,開機會提示An error ocurred while mou

Python實現FTP上傳檔案資料遞迴

__author__ = 'dacxu' __mail__ = 'xudacheng06.com' __date__ = '2013-10-29' __version = 1.0 import sys import os import json from ftplib i

CentOS7設定資料共享基於VMWare Workstation 14 Pro

1、開啟VMWare Workstation 14 Pro,選單欄找到“虛擬機器(M)”,點選,下拉選單依次選擇“設定”、“選項”,點選“共享資料夾”,在“資料夾共享”下選擇“總是啟用”,“資料夾(F)”可選擇任意路徑下的資料夾; 2、不能建立共享資料夾的解決辦法: 1)選單欄找到“

File-用遞迴刪除某資料資料下可能有檔案資料

利用遞迴演算法刪除某資料夾(包括其所有的子檔案及資料夾) import java.io.File; public class Dem01 { public static void main(String[] args) { File file = new F

Vmvare虛擬機器資料共享win7 & 虛擬機器ubuntu

環境 Windows 7 Ubuntu 16.04 Vmvare Workstation 14 Player Windows訪問虛擬機器 通過ssh訪問,之前已經有博文: 虛擬機器訪問windows windows中共享的檔案最中會在/mnt/hgfs資料夾

IntelliJ IDEA 如何重新命名變數、檔案資料。--說高階點就是【重構】

我表示,我在剛剛使用這個編輯器的時候,還真不知道怎麼去重新命名一個變數,重新命名一個檔案,或者一個資料夾。 理論上講,你要是改動一個地方,那麼,其他所有引用的地方,應該跟著都給自動的改了的。 不然,你一個個的改,要是引用的地方多了去了,那不改死你啊。 所以,這肯定有個方

我能用Windows PowerShell做什麼:刪除一個檔案資料或其它輸入的目標

注:本篇文章,未在聯絡作者以及得到許可的情況下, 禁止以任何形式進行轉載。 刪除一個檔案或資料夾(或其它輸入的目標) Remove-Item cmdlet 正好顧名思義:它能使你清除一個東西和所有東西。清除檔案C:/Script/test.txt ?那就刪除它: Remo

如何在兩個伺服器之間傳輸檔案或者資料埠相同與不同的情況

1、從本機傳輸檔案到另外一個伺服器: scp  -P 8122 /home/helpteach/project/mallupload/1509681299449.png [email protected]:/home/test ps:-P 8122指的是接受檔案

嵌入式學習28linux系統函式之檔案資料管理相關函式

步入linux系統函式的學習了,隨時隨地都要man一下,忌死記。 linux系統呼叫:即linux作業系統提供的函式,只能用於linux。 命令就是一些函式 1)檔案系統管理相關的系統呼叫 檔

VirtualBox的增強功能外掛實現資料共享的功能。

當我使用的時候,想從本機(WindowXP)電腦將檔案共享到虛擬(CentOS)電腦。通過查詢資料,發現可以通過VirtualBox的增強功能外掛實現資料夾共享的功能。 以下是我自己摸索的記錄,供以後學習。 1.使用環境虛擬機器:VirtualBox 4.3.18系統:

[ahk]右鍵選單開啟檔案所在資料快捷方式也適用

功能:能開啟檔案所在路徑 並定位到檔案上,能正確解析lnk所指檔案的目錄。 copypath.ahk  檔案如下: #NoTrayIcon Clipboard=%1% openpath.ahk檔案如下: #NoTrayIcon Clipboard=%1% Run,