天天看点

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

一、前提条件

宿主机:win7

虚拟机版本:VMware-8.0.2 build-591240 (也可采用其它版本)

虚拟机系统:本次采用系统镜像为 ubuntu-18.04.1-live-server-amd64.iso(不建议使老版本的,因为老版本apt支持不好)。

网络条件:apt 能正常使用。

注意:这一步的作用也有试一下是否能连上apt服务器(某些网络会有限制,如果真的不能连上,就不用继续看下去了)。

命令:sudo apt install gcc

可选条件:因为虚拟机上的显示不能复制出来,所以,可以使用远程连接的方法连接到虚拟机里,比如sesutiryCRT。

1.用secureCRT(绿色版)登陆。

作用:直接在虚拟机窗口登陆时,很难把窗口的命令等复制下来,但有此法就可以完美解决此问题。

下载地址推荐:http://www.pc141.com/html/wangluoruanjian/371.html    

用法:填上IP地址和用户名即可轻松连接。

二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器

1.windows电脑上开通ext4-NFS服务器。

(完成这一步之后,虚拟机上的ubuntu实际上就相当于一个编译器而已,这正是我们所需要达到的预期效果。)

之所以在windows上大费周章地建一个ext4分区,是因为编译uboot时要创建软链接,而只有ext4系统,才能创建软链接。

1.建立一个ext4分区。

见附录一:建立一个ext4分区。如果不使用ext4也是可以的,只是不能编译boot,内核等。

2.架设NFS服务器。

1.下载安装 haneWin 下载链接 https://www.hanewin.net/nfs-e.htm 下载时有中文补丁,一起下载下来(补丁的安装方法就是直接复制进C:\Program Files\nfsd\languages)。

2.注册handwin。(新安装有30天的试用期)

haneWIN可用注册码及注册机获得方法如下:

https://download.csdn.net/download/zhuohui307317684/10628226

3.配置 haneWin。

大部分默认设定,需要改动的地方如下:

a.在“输出”菜单栏,修改共享目录:如果直接点击“编辑输出表文件”,也可以直接修改安装目录下export文件。

内容修改:把原来的内容全部注释掉,然后加入一句 

F:\nfs -name:nfs -alldirs -exec

(注:要有确保有F:\nfs这个目录)。另外,参数很重要,否则共享出来的文件无法获取+x权限,比如,如果加上-public,则无法生成bin。

全部编辑好后,保存,重启服务,至此,NFS服务器已架好。

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

(可选)最好也配置一下“重启e服务器时重置节点表”,(这样,重启服务器就会把“挂载设备”清空)如下图:

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

b.windows 上的防火墙关掉,不然得配置。

2、虚拟机挂载nfs网络盘

上面的步骤,已经建立了一个nfs服务器,接下来的动作,就上让虚拟机里的linux系统挂载这个nfs网络盘。

1在Linux中输入以下命令:

先在ubuntu里输入ipconfig去查询虚拟机的IP网段,再在win7里输入ifconfig查找下,看哪个IP网段与之一致,最好就选该IP(通常是VMware虚拟IP地址)。不过,估计用win7的真实IP应该也是可以的吧。

同时确保 /nfs /mnt/nfs 这两个目录是存在的。

mount -t nfs 192.168.1.101:/nfs /mnt/nfs

(对应配置信息:L:\nfs -name:nfs -alldirs)(改的时候不要改 -name:nfs 而是改L:\nfs 即可, 当win7共享路径变了的时候)

umount /mnt/nfs

错误1:在虚拟机下linux系统挂载台式机下的linux系统出现以下错误:(或类似的提示。)

mount: /mnt/nfs: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount. <type> helper program.

解决方法:

在终端下输入apt install nfs-common解决问题, 如果提示出错,则可在前面先输入 sudo apt upgrade。

错误2:Stale file handle

解决方法:“ 当我们已mount 上的file or directory ,在server上突然被remove or unexport ,就会出现此讯息“。

a.办法很简单,在client上umount掉(强制umount命令:umount -f /mnt/nfs)。但可能会 is busy的错误。

b.这时,可以先登出再登入,或干脆重启,到这里,umount就不会有 is busy 的提示了。(其实,很多情况下,退出nfs目录,就不会提示 is busy 了)。

c.但可能还会担示stale file handle,这时,可以重启nfs服务器,或是把nfs服务器里的全部内容删掉即可。

2.最后验证一下,

从这边创建一个文件夹,看另外一边能不能看到。至此,所有工作完成了。

这时,可在/home/xxx 目录下建一个nfs_server_ip:192.186.1.1.txt 的文件,以方便每次开机时输入命令连接服务器。

附录一:建立一个ext4分区。

之所以在windows上大费周章地建一个ext4分区,是因为编译uboot时要创建软链接,而只有ext4系统,才能创建软链接。

1..空出一块磁盘空间。

a.右键点击计算机→管理。

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

b.计算机管理→磁盘管理。

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

c.接下来的步骤自由发挥。本次最终压缩出8G空白空间出来,如图:

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

2.在windows环境下,使用Mini tool 把空出来的空白空间转化为ext4格式。

到官网 https://www.minitool.com/download-center/ 下载一个免费版本即可。

易错点:磁盘类型设置为"逻辑"。

配置:

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

最终的样子:

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

别忘了点击

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

3.下载安装Ext2Fsd-0.62.exe。(https://download.csdn.net/download/lxsndsc/8848005 )

4.这时,刷新一下Ext2Fsd,就会看到多一个分区。如图:

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

5.指定盘符,就可以访问了,如下:(其中,无论盘符改为多少,都会顺延原来盘的盘符,这里无论怎么改,一退出后又变回了F盘,这应该是Ext2Fsd的一个BUG吧,记得以前也用过该软件,是可以改成任意盘符的,不过,改与不改,都不影响功能的正常使用。)

【win7环境】虚拟机当成一个纯粹的编译器 | Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器一、前提条件二、Ubuntu 虚拟机挂载 win7 Ext4 NFS 服务器附录一:建立一个ext4分区。附录二、(不推荐的方法)window共享给linux附录三、(不推荐的方法)samba服务器搭建

附录二、(不推荐的方法)window共享给linux

1. 下载个 Ext2Fsd-0.62.exe 并安装在电脑上,分配固定盘符(盘符设为L吧,linux的头一字母),并开机加载,这样,就跟用NTFS一样了。

  1. L盘设为共享(标准的window共享设置方法),右击-属性-共享-高级共享,勾选共享此文件夹,然后点击权限,点击添加,将刚刚新建的用户添加进来,然后选中用户,勾选所有权限,确定退出,.在共享文件下随意建一个文件a.txt
  2. 在linux系统终端中输入

# mkdir /mnt/L

#mount -t cifs -o username=admin,password=admin //192.168.1.2/L /mnt/L 

有时可能不能马上看到,那么,先cd .. 出来,再进去就能看到了。

PS: 然而并没有什么卵用,因为能创建软链接,故不能编译uboot,还是用win-nfs-server 的方式吧。

附录三、(不推荐的方法)samba服务器搭建

1 首先确认网络可以相互ping通。

2 终端输入:apt-get install samba

3 先备份 smb.conf 编辑配置,终端输入:

cd /etc/samba/  

ls

cp smb.conf smb.conf-201x-xx-xx

4 nano /etc/samba/smb.conf 编辑配置文件

  1. 找到[homes]下 browseable = no, 把no 改成 yes, 因为只有这样,windows下才能通 过“计算机”看到“homes”共享目录。----至此,您已经能看到samba共享的目录了。
  2. 当然,以方便调试为目的,所以我们不需要共享homes文件,而是要共享整个根目录。 所以在[homes]这一段下加入一段,不要在[homes]这一段改,否则出错,一定要在下面加,如下:

[all]

comment = /

path = /

read only = no

接着在终端输入:testparm 此命令不但能检查参数是否正确,还能使配置立即生效, 不需要重启。

5 还要创建用户,不然只能看到有共享却无法登录。在终端输入:

smbpasswd -a root 然后就会提示输入密码,其实这个名字可以任意,这里用root是为 了方便记忆,因为我会用最高权限。----到这一步,你就可以登录到samba共享文件里 了。

6 (可以不要这一步)重启samba,终端输入: /etc/init.d/samba restart