歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux基礎知識 >> 讓虛擬機Linux與宿主機Windows資源共享

讓虛擬機Linux與宿主機Windows資源共享

日期:2017/3/2 14:47:11   编辑:Linux基礎知識
虛擬機的使用的確給Linux的學習者提供了很大的方便。不過在Linux學習過程中,當涉及到應用軟件的使用時,雖然可以直接從網上下載程序包或源碼,但用慣了迅雷,對Linux中的下載速度簡直無法忍受,且原有的很多資源本應該可以直接使用,沒有必要重新下載。因而在兩個系統中共享信息成為亟待解決的問題。

  在網上搜索了大量相關信息,介紹兩個系統間信息共享的不少,但是提供虛擬機host-guest機不同系統之間資源共享解決方案的不多。在朋友的幫助下,經過多次嘗試和摸索,終於有了一些搜獲。現提供一套包括局域網配置在內的較為詳細的解決方案,供初學者參考。

  環境介紹:
  虛擬機:VMware Workstation 5.5
  Host機系統:Windows 2000 Server
  Guest機系統:Red Hat Enterprise Linux 4

  其實作為兩個系統而言,要進行資源的共享,方法很多,最初我嘗試了使用mount命令掛載文件系統。從命令本身來看,想要掛載一個Windows下的文件系統或驅動盤似乎沒有什麼問題。

  首先在Linux系統/mnt空目錄下,建立掛載點:#mkdir /mnt/mystudy

  /mnt目錄是專門用來當作掛載點的目錄。mystudy是自定義的專用掛載點名稱。

  然後我們看一下mount命令的使用方法:
  命令格式:  mount [-t vfstype] [-o options] device dir

  主要參數:
  ① -t vfstype 指定文件系統的類型,通常不必指定。mount 會自動選擇正確的類型,Windows NT ntfs文件系統:ntfs

  ② -o options 主要用來描述設備或檔案的掛接方式。

  ③ device:要掛接(mount)的設備。Linux中,設備名通常存放在/dev中,設備名遵循一些規則,如:/dev/hda1中,hd指Hard Disk,a代表第一個硬盤設備,1代表第一個硬盤的第一主分區。

  ④ dir:設備在系統上的掛接點(mount point)。如,我們剛剛建立的掛載點:/mnt/mystudy

  遵循此規則,希望掛載硬盤的第二個主分區
  鍵入命令: #mount -t ntfs /dev/hda2 /mnt/mystudy
  返回信息: Mount:fs type ntfs not supported by kernel

  竟然無法找到ntfs格式的分區?那麼我的Windows系統跑到哪裡去了?查看一下查看一下分區情況:#fdisk –L

  得到如下結果發現根本沒有找到Windows的分區。

  我的Linux裝在虛擬機裡,虛擬機分配給Linux系統的設備僅僅是8G大小的虛擬硬盤分區,所以根本沒有辦法掛載Windows系統所在的分區以及其他的硬盤分區。那麼在虛擬機環境下,想要共享資源,mount命令基本上派不上用場了,只能從聯機的方式來考慮了。

  提供最常用的兩種方案:
  1. FTP訪問
  2. Samba服務

  不管是FTP還是Samba,首先都需要分析虛擬機環境下的Host-Guest網絡連接。基本上我們可以把Host機與Guest機之間當作局域網中的兩台機器來實現互聯。那麼現在需要重新考慮關於《虛擬機的網絡配置》一文中提到過的網絡連接方式。

  當時我們選擇以NAT模式進行網絡連接,這是一種使用DHCP服務進行網絡連接的方式,也就是說,Guest機並沒有自己的固定IP地址,這個地址是在啟動 了系統之後,從Host機上取得的、一個暫時提供給Guest機使用的IP地址。在這種網絡連接方式下,設置Guest機中系統的IP獲取方式為自動獲 取,不管Host機聯網的方式如何,只要Host能上網,Guest機也可以上網。

  雖然選擇這種方式,外網連接是很方便,可是在Host-Guest之間的局域網連接真的讓人傷透了腦筋,虛擬網卡VMnet8的IP與Host機的IP不 在同一網段,折騰了一個晚上也沒有找到好的解決辦法,最後捨棄了NAT模式。將Linux虛擬機的網連方式改為了Bridge。

  Bridge模式將虛擬主機的虛擬網卡橋接到一個Host主機的物理網卡上,可以理解為Guest機和Host主機處於對等的地位,在網絡關系上是平等的,對於我這種對路由的事情比較白癡的人來說,這是最易理解的一種局域網互聯方式。

  我的使用網絡服務是小區LAN網,IP自然是自動獲取的,不用花心思改動它,將Guest機的網絡也設置成為自動獲取IP:

  應用程序-->系統設置-->網絡-->編輯eth0設備

  Host和Guest在同一網段,基本上就像局域網裡面的兩台機器。Host設置一下FTP, FTP算是實現對Host機資源的訪問了,可文件的管理似乎不那麼方便。

  另一種共享Windows資源的方法是很多Linux用戶都非常青睐的Samba。Samba 是一套讓UNIX系統能夠應用Microshoft網絡通訊協議的軟件。它使執行UNIX系統的計算機能與執行Windows系統的計算機分享驅動器與打 印機。非常適用於Windows和Linux系統並存的網絡。Red Hat AS 4.0內附Samba Server,但默認並不是在系統啟動時自動運行的。可通過service命令查看和控制Samba服務:

  查看Samba服務運行狀態:# service smb status
  啟動Samba服務:# service smb start
  停止Samba服務:# service smb stop

  也可設置系統重啟時,自動啟動Samba服務:# chkconfig --level 345 smb on

  首先我們在Windows系統中設置文件夾或驅動器Web共享,並對其設置別名,如:/study

  然後在Linux中,以用戶身份登錄smb服務:

  常見的錯誤提示:
  1.防火牆問題
  使用Samba服務時,Host和Guest都應關閉防火牆。Linux系統下關閉防火牆的方法:系統設置-->服務器設置-->服務-->iptable-->停止

  2.登錄用戶名或密碼錯誤
  驗證用戶名密碼即可。
  成功登錄smb
  可用LS命令查看當前目錄下的共享文件

  用get命令可從服務器上下載某文件:
  Smb:\> get file1 file2(從服務器上下載file1,以file2為名保存在本地——默認為root主目錄)

  Exit命令可退出smb服務器

  如果仍然覺得文件的管理不方便,可以使用smbmount 命令,掛載Windows的共享文件夾或驅動器:

  # smbmount //192.168.0.162/study /mnt/mystudy –o username=admin

  其中,192.168.0.162為Host機IP;study為共享文件夾別名;/mnt/mystudy為掛載點,可由#mkdir /mnt/mystudy創建;admin為Host機登錄用戶名。

  打開掛載目錄。

  這樣看起來習慣多了吧?跟Windows裡面的文件管理界面幾乎相同了。

  至此,虛擬機Linux共享宿主機Windows資源基本實現,完成時候覺得很簡單,但是一路摸索過來的確遇到了不少問題。

Copyright © Linux教程網 All Rights Reserved