在Windows系统中,使用Hyper-V虚拟Android环境的方法(RemixOS)

         最近一直想用Hyper-V虚拟一个Android环境,来做一些事情。可苦于翻遍了BAIDU和GOOGLE,也没有找到很成熟的方法。无意中在国外的某链接中找到了模拟RemixOS的一个贴子,发布日期已经很老了,内容也不是很完善,就自己整理研究了一下,总结出来一篇完整的Hyper-V虚拟化经验,分享出来给大家。


1、最新版RemixOS是基于Android5.X的,官方的下载地址:https://bbs.jide.com/forum.php?m ... &extra=page%3D1


2、在Hyper-V中建立虚拟磁盘,格式使用VHD格式,空间最少需要5G大小,发贴时还没研究出如何扩大容量,所以暂时再大也没有意义。
  


3、创建好虚拟磁盘后,到计算机管理-磁盘管理中,选择:附加VHD--浏览(刚才创建的VHD虚拟磁盘),然后:确定。

 


4、对刚才所附加好的磁盘点击右键:选择初始化磁盘--分区形式:MBR--新建简单卷--然后格式化为FATA32格式,格式化完成后:分离VHD磁盘。
   


5、到Hyper-V中新建虚拟机,选择第一代,内存分配2048(自己看着办吧),去掉使用动态内存,然后再把刚才创建好的VHD虚拟硬盘添加进去。
  


6、对刚才新建好的虚拟机点击:右键--设置。先确定启动顺序:从CD启动。然后在DVD驱动器中,选择你在官网下载的RemixOS系统中的ios文件,然后确定就可以了。至于分配几个处理器核心/连接外网的虚拟网卡/是否启用检查点/自动启停的操作等等,按你自己的喜好就可以。
  


7、连接刚才建立好的虚拟机,点击启动。在出现以下启动画面后,快速点击你键盘的TAB键,进入命令行模式。将出现的字符串修改为/kernel initrd=initrd.img root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive quiet INSTALL=1 nomodeset vga=?,这段代码主要需要修改的地方,是下面第二张图中标红的部分。注意!可别把vga=?填进去,?号代表着分辨率。我再贴一张分辨率代码的示意图,可以根据个人喜好把?号替代成数字。因环境所限,我只测试了791/792/794三种分辨率,都可以通过。修改完成后,回车确认,然后慢慢等待吧。
  


8、如上述步骤没有出错,应该就会出现安装界面了。在安装界面中:选择sda1分区安装。第二个界面问你是否格式化,选不要格式化。第三个界面选择YES使用GRUB安装。再选择Skip跳过EFI GRUB2安装。选择YES使系统目录为读写属性,回车后就会出现安装界面。再在随后的界面选择YES--创建image文件。指定.img文件的大小,这里最大是2047。点击确定后会询问是否启动,选择Run。
        


9、如果上述步骤一切正常,你会进入RemixOS的安装界面。RemixOS初始化启动完成后,你会发现鼠标移动很困难,需要按住左键来移动,先不用管它,把RemixOS关机。然后再次操作一遍:计算机管理--磁盘管理--附加VHD。把刚才装好系统的虚拟硬盘再次挂载到你的计算机上,并给它分配个驱动器号。这些步骤在上面有详细的图示,就不再贴图说明了。重点来了:在你刚挂载的这个驱动器下,找到\grub\menu.lst文件,并以记事本的方式打开。



10、打开后,你会看到如下图所示的代码。把我图中标记红线的地方,改为kernel vga=?。?代表你刚才安装时所设置的分辨率。例如:你最初安装设置的是792,就应该改为kernel vga=792,以此类推。需要修改的地方一共有4处。我所用的代码放在图后做为参考,但切记不要无脑粘贴。因为版本和设置的不同,你很可能启动不了虚机。
注意!这步完成后,一定要去计算机管理--磁盘管理中,把附加的VHD硬盘分离出来。
注意!一定要到你建立好的虚拟机中,把虚拟光驱中的ISO文件去除掉。或者改变一下启动顺序,硬盘优先!

参考代码:
default=0
timeout=6
splashimage=/grub/android-x86.xpm.gz
root (hd0,0)


title Remix OS 2016-10-24
        kernel /android-2016-10-24/kernel vga=794 quiet root=/dev/ram0 androidboot.hardware=remix_cn_x86_64 androidboot.selinux=permissive nomodeset SRC=/android-2016-10-24
        initrd /android-2016-10-24/initrd.img


title Remix OS 2016-10-24 (Debug mode)
        kernel /android-2016-10-24/kernel vga=794 root=/dev/ram0 androidboot.hardware=remix_cn_x86_64 androidboot.selinux=permissive nomodeset DEBUG=2 SRC=/android-2016-10-24
        initrd /android-2016-10-24/initrd.img


title Remix OS 2016-10-24 (Debug nomodeset)
        kernel /android-2016-10-24/kernel vga=794 nomodeset root=/dev/ram0 androidboot.hardware=remix_cn_x86_64 androidboot.selinux=permissive nomodeset DEBUG=2 SRC=/android-2016-10-24
        initrd /android-2016-10-24/initrd.img


title Remix OS 2016-10-24 (Debug video=LVDS-1:d)
        kernel /android-2016-10-24/kernel vga=794 video=LVDS-1:d root=/dev/ram0 androidboot.hardware=remix_cn_x86_64 androidboot.selinux=permissive nomodeset DEBUG=2 SRC=/android-2016-10-24
        initrd /android-2016-10-24/initrd.img




11、上述步骤全部完成后,就可以启动虚拟机了。如一切正常,你会进入RemixOS界面,但鼠标移动的问题仍然需要解决。方法如下:用按住鼠标左键的方式移动鼠标,依次点击菜单--终端模拟器,就会进入命令行界面。然后输入:su(回车,获取管理员权限)。再输入:rmmod hid_hyperv(回车,移除Hyper-V鼠标)。然后两次exit,退出界面。现在你就可以自由移动鼠标了。你也可以使用组合键来释放鼠标,具体组合键看你的Hyper-V右下角会有提示。



未解决的问题:
1、还没有找到类似于Windows远程桌面之类的远程登陆方法,只能通过Hyper-V的界面来操作虚拟机。如有解决办法的坛友,请告之。
2、由于虚拟硬盘是FAT32格式的,img文件无法更大化。以至于安装完系统后,可用的存储空间只有1GB左右,正在寻找解决办法。
3、我测试用的设备没有独显/核显,所以无法测试RemoteFX 3D虚拟适配器是否对此虚机起作用,也无法测试独显直通是否有效。


PS:在发贴时,所测试的分辨率中,只有791/792/794正常通过,其它均是无法正常显示或无法正常启动,也不知是否和我的硬件环境有关。

来源:https://www.chiphell.com/thread-1923809-1-1.html

评论

此博客中的热门博文

通用系统设计之优惠卷

发育迟缓的宝宝如何进行ALP干预

蜗牛星际装LEDE化身软路由记

Matomo API 官方接口详情

关于Restful API文档和接口测试,以及easy-mock

如何为 Windows 10 UWP 应用设置代理

Java认证考试有几个等级?

将阿里云盘挂载为Webdav并使用rclone挂载到本地

和菜头:碎片化生存