在Virtualbox下為Ubuntu16.04開(kāi)機(jī)自動(dòng)掛載共享目錄的最佳方法
玩虛擬機(jī)的一般都會(huì)給虛擬機(jī)設(shè)置共享目錄,便于操作和使用。比如我在64位win10系統(tǒng)下,用Virtualbox安裝了Ubuntu 16.04虛擬機(jī),那么我一般都會(huì)將win10系統(tǒng)下的一些目錄映射到Ubuntu里面去。以前,我都是通過(guò)將共享目錄的信息直接寫(xiě)入到/etc/fstab文件中來(lái)實(shí)現(xiàn)自動(dòng)掛載(關(guān)于這一點(diǎn)如何操作,此處不做詳解,大家自行百度一下就知道了,很簡(jiǎn)單)。但是,用久了發(fā)現(xiàn)幾個(gè)問(wèn)題:
第一,我需要掛載到虛擬機(jī)的目錄位置有好幾個(gè)(比如有一個(gè)臨時(shí)文件的存放目錄tmp,有一個(gè)工作項(xiàng)目代碼區(qū)的目錄wrk,還有一個(gè)學(xué)習(xí)資料整理區(qū)的目錄mit等),而且其中有些目錄在不同的分區(qū)下,有的目錄甚至在很深的位置,想要通過(guò)單個(gè)共享目錄來(lái)掛載是不可能的。
第二,用這個(gè)辦法自動(dòng)掛載的所有共享目錄中,一旦有一個(gè)或者多個(gè)失效(比如改了名字或者移動(dòng)了位置等),就會(huì)導(dǎo)致ubuntu無(wú)法啟動(dòng),無(wú)法進(jìn)入桌面。對(duì)于我這種完美主義者,經(jīng)常會(huì)整理電腦里的文件、目錄、層級(jí)等,動(dòng)到共享目錄那也是經(jīng)常的事。有幾次遇到這種情況時(shí),一時(shí)之間沒(méi)反應(yīng)過(guò)來(lái),還以為是虛擬機(jī)掛了,差點(diǎn)直接刪掉重裝。
第三,我有好幾臺(tái)電腦都要用到虛擬機(jī),為了方便起見(jiàn),我就復(fù)用了同一個(gè)虛擬機(jī)的鏡像文件,有需要時(shí)直接把整個(gè)VDI文件拷來(lái)拷去的。而且,我在不同的電腦上所要映射的目錄也不完全一樣(比如在家里的虛擬機(jī)我就不需要映射工作項(xiàng)目代碼區(qū)的目錄wrk)。這個(gè)時(shí)候就很麻煩了,每次一拷貝,就得記得先改好虛擬機(jī)的/etc/fstab文件,否則就會(huì)導(dǎo)致虛擬機(jī)無(wú)法啟動(dòng),實(shí)在是有些麻煩。
為了解決這些問(wèn)題,我摸索了一套更便捷、更自動(dòng)化的共享目錄掛載方法,特記錄在此處,便于后續(xù)查閱,并與同道中人分享。這個(gè)方法說(shuō)起來(lái)其實(shí)也很簡(jiǎn)單,就兩個(gè)步驟,第一步是實(shí)現(xiàn)物理機(jī)整個(gè)分區(qū)的掛載,第二步是創(chuàng)建出分區(qū)中指定的目錄的軟鏈接。
步驟一、實(shí)現(xiàn)物理機(jī)整個(gè)分區(qū)的掛載
首先,在Virtualbox的設(shè)置中添加你索要掛載的物理機(jī)分區(qū)為共享目錄,如下圖所示,我添加了【D盤(pán)根目錄、E盤(pán)根目錄和Onedrive根目錄】這3個(gè)目錄作為共享目錄,并將其分別命名為【drv_d/drv_e/drv_o】,你可以自己隨意修改:
這里要注意,設(shè)置共享目錄時(shí),有一個(gè)自動(dòng)掛載的選項(xiàng)【切記不要選中】(如下圖),否則Ubuntu系統(tǒng)啟動(dòng)時(shí)就自動(dòng)將該目錄掛載到/media目錄下去了,而它掛載時(shí)使用的是超級(jí)用戶的權(quán)限,會(huì)造成其他的普通用戶無(wú)法訪問(wèn),到時(shí)還要去折騰用戶權(quán)限等一堆的事,很麻煩,還不如自己手動(dòng)寫(xiě)兩個(gè)命令搞定來(lái)的干脆!
然后,在虛擬機(jī)的/mnt目錄下新建一個(gè)共享文件的掛載目錄,到時(shí)外部的驅(qū)動(dòng)器根目錄就直接掛載到這個(gè)目錄下。我這里將其命名為win10(完整地址就是/mnt/win10,當(dāng)然,這個(gè)目錄的位置隨你自己而定,不做強(qiáng)求的),你自己可以隨便設(shè)置【注意,新建目錄時(shí)有可能會(huì)提示用戶權(quán)限不足,需要sudo一下】。并在該目錄下再次新建3個(gè)目錄,用于掛載實(shí)際的3個(gè)共享目錄,我這里同樣分別命名為drv_d/drv_e/drv_o,同樣你也可以自己隨意設(shè)置。
leon@Ubuntu:~$ cd /mnt/ leon@Ubuntu:/mnt$ sudo mkdir win10 share leon@Ubuntu:/mnt$ sudo chown leon * leon@Ubuntu:/mnt$ sudo chgrp leon * leon@Ubuntu:/mnt$ cd win10/ leon@Ubuntu:/mnt/win10$ mkdir drv_d drv_e drv_o
接下來(lái),在虛擬機(jī)里修改/etc/fstab文件,增加如下的語(yǔ)句:
drv_d /mnt/win10/drv_d vboxsf rw,auto 0 0 drv_e /mnt/win10/drv_e vboxsf rw,auto 0 0 drv_o /mnt/win10/drv_o vboxsf rw,auto 0 0
上面的腳本中,第一個(gè)項(xiàng)目是外部物理機(jī)共享目錄的名稱,就是圖1中設(shè)置的目錄的名稱。第二個(gè)項(xiàng)目中的/mnt/win10/drv_d
是你想要將其掛載到ubuntu虛擬機(jī)中的掛載地址。后面的其他項(xiàng)目就不做解釋了,具體可以百度。
至此已經(jīng)完成了外部物理機(jī)的根目錄自動(dòng)掛載。重啟之后,ubuntu便會(huì)自動(dòng)將你所選定的所有目錄自動(dòng)掛載到你指定的地址下,如下圖:
步驟二、創(chuàng)建軟鏈接文件
上面的步驟完成了根目錄的自動(dòng)掛載,也就是說(shuō),ubuntu一啟動(dòng)之后,便可以在/mnt/win10目錄下訪問(wèn)win10系統(tǒng)下的D盤(pán)、E盤(pán)等根目錄了。
但是,各個(gè)實(shí)際的共享目錄卻還藏在根目錄底下的某個(gè)位置,如果要訪問(wèn)的話,還得一層層往下找,每次都要輸入一大堆的路徑,挺麻煩的。于是,我們就要?jiǎng)?chuàng)建一些快捷方式來(lái)實(shí)現(xiàn)便捷的訪問(wèn)。
做法其實(shí)也很簡(jiǎn)單,在/mnt/share目錄下(同樣,這個(gè)目錄的位置隨你自己而定,不做強(qiáng)求的),根據(jù)你自己的需要,為各個(gè)實(shí)際的目錄創(chuàng)建軟鏈接文件(ln命令)即可。具體的語(yǔ)法如下:
ln -s /mnt/win10/drv_d/A_Download /mnt/share/tmp ln -s /mnt/win10/drv_d/B_WorkItem/A_YXProjects/C_HUD_Code/imx6ul /mnt/share/wrk ln -s /mnt/win10/drv_d/M_MyInstitute /mnt/share/mit ln -s /mnt/win10/drv_d/S_StudyProject/G_GitArea /mnt/share/git
最后創(chuàng)建出來(lái)的效果如下:
leon@Ubuntu:/mnt/share$ ls -l 總用量 0 lrwxrwxrwx 1 leon leon 42 5月 28 10:48 git -> /mnt/win10/drv_d/S_StudyProject/ lrwxrwxrwx 1 leon leon 31 5月 28 10:47 mit -> /mnt/win10/drv_d/M_MyInstitute/ lrwxrwxrwx 1 leon leon 28 5月 28 10:41 tmp -> /mnt/win10/drv_e/A_Download/ lrwxrwxrwx 1 leon leon 59 5月 28 10:47 wrk -> /mnt/win10/drv_e/B_WorkItem/A_Projects/C_Code/imx6ul/
按照上面的方法創(chuàng)建出來(lái)的共享目錄及其鏈接文件,存在以下的好處:
1、在虛擬機(jī)外部映射的是win10系統(tǒng)的根目錄,就算對(duì)于我這種強(qiáng)迫整理癥的患者而言,只要有空隨時(shí)都會(huì)有整理目錄和文件的欲望,但是想要去整理根目錄卻沒(méi)那么容易。所以,從此不用再擔(dān)心我某次整理win10系統(tǒng)的目錄會(huì)導(dǎo)致虛擬機(jī)的共享目錄映射異常。
2、最后創(chuàng)建的訪問(wèn)通道,是基于/mnt/win10目錄下的根目錄而臨時(shí)創(chuàng)建的鏈接文件,一旦有任何需要隨時(shí)可以更改,完全不用動(dòng)到外面的物理機(jī),也不用擔(dān)心多個(gè)物理機(jī)之間的沖突,實(shí)在是極其便捷!
總結(jié)
以上所述是小編給大家介紹的在Virtualbox下為Ubuntu16.04開(kāi)機(jī)自動(dòng)掛載共享目錄的最佳方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Virtual Box的host-only網(wǎng)絡(luò),文件共享
這篇文章主要介紹了Virtual Box使用Host-only建立一個(gè)內(nèi)部局域網(wǎng),以及VirtualBox文件共享功能的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06VirtualBox安裝CentOS7虛擬機(jī)以及增強(qiáng)工具(圖文)
這篇文章主要介紹了VirtualBox安裝CentOS7虛擬機(jī)以及增強(qiáng)工具,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2020-03-03virtualbox win7 iis 由于擴(kuò)展配置問(wèn)題而無(wú)法提供您請(qǐng)求的頁(yè)面
這篇文章主要介紹了virtualbox win7 iis 由于擴(kuò)展配置問(wèn)題而無(wú)法提供您請(qǐng)求的頁(yè)面,需要的朋友可以參考下2017-06-06VirtualBox+Ubuntu16搭建Kubernetes集群的實(shí)現(xiàn)
這篇文章記錄了我在一臺(tái)機(jī)器使用 VirtualBox + Ubuntu 16 搭建 Kubernetes 的整個(gè)過(guò)程,包括其中遇到的一些問(wèn)題以及解決辦法。感興趣的可以了解一下2021-06-06Windows7 64位 旗艦版下VirtualBox 4.3.12安裝教程
這篇文章主要為大家詳細(xì)介紹了Windows7 64位 旗艦版下VirtualBox 4.3.12的安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11windows中VirtualBox如何調(diào)整擴(kuò)大VMDK格式的磁盤(pán)空間
這篇文章主要介紹了windows中VirtualBox調(diào)整擴(kuò)大VMDK格式的磁盤(pán)空間,需要的朋友可以參考下2017-12-12使用虛擬機(jī)在VirtualBox+openEuler上安裝部署openGauss數(shù)據(jù)庫(kù)
這篇文章主要介紹了使用虛擬機(jī)在VirtualBox+openEuler上安裝部署openGauss數(shù)據(jù)庫(kù)的超詳細(xì)過(guò)程,本文圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01