为了体验UbuntuKylin(优麒麟系统),我的老本子ACER ASPIRE 4710G经历了各种折腾。先是升级CPU在无电池情况下冒死刷bios;终于用上UbuntuKylin了,又体验了一把用gparted扩大根目录空间 ;又遇到了新问题:麒麟移动运行环境(KMRE)一直无法连接软件源,无法使用,Android APP还是体验不了!
既然是折腾,那就再安装一个Android操作系统!
首先声明:以下操作是我这一小白参考网上大神的教程边学习边折腾,难免有冗余的、甚至错误的操作,还请大神指教!但成功安装是目的。
【一段插曲:折腾安装Android x86-64】
下载Android x86-64位最新版本,按照大神们的教程一步步安装,启动。。。然后各种错误,先是黑屏。。。最多的是
Intel rapl driver does not support cpu family 2 model 15
====意思是:驱动不支持这个型号的CPU,我专门升级了Intel core2 T7200(64位)。
后来查了资料才知道,Android x86-64位版本需要CPU有SSE 4.2指令集,而我的T7200只到SSE 4(蓝瘦香菇)
那就用32位系统试试。。。各种折腾
最后卡在了detecting android-x86 found at /dev/sda1
有人说这是正常,要耐心等待
更多人说是显卡问题,要在启动文件中加参数:有的说加nomodeset;有的说加nomodeset xforcevesa;也有的说加vga=xxx
反正我各种实验,成功解决(但不知道具体是哪一步发挥了作用)
我最终的启动文件中的参数vga=833 (1024*768*32)
进入界面,完全不是想象中的样子:貌似不支持显卡驱动,有线、无线都无法上网,鼠标飘忽不定,谷歌服务让人头疼,不知道是不是我选择版本的问题,操作偏于触摸式,那体验简直无语了。。。有了放弃的想法。
再后来看到凤凰系统 (Phoenix OS) ,也是一款专为 PC 平台定制优化的 Android 桌面操作系统,支持 x86 CPU,可以在电脑上运行大量优秀的 Android 应用和游戏,而且是原生运行,性能比虚拟机当然要强得多!
看到老铁:Ubuntu下安装Remix OS双系统_孙强 Jimmy 的博客-CSDN博客(https://blog.csdn.net/u013541140/article/details/75479142 )这个分享很受益!在此表示敬意!
Phoenix OS既然与Remix OS都是基于Android的系统,镜像文件结构也相同,借鉴前文的思路,用直接复制文件的方法进行安装。
一、安装前准备
下载Phoenix OS标准版ISO镜像, 官网地址:凤凰系统 - Phoenix OS 凤凰系统 - Phoenix OS 最新版本为64位系统v3.6.1 (基于 Android7.1),由于我的老笔记本素质不高,我下载的是32位系统v1.6.1 (基于 Android5.1)。
二、用ISO镜像提取文件的方法详细步骤
此次的目标是把Phoenix OS安装在独立的分区
1、把Phoenix OS.iso镜像拷贝到Ubuntu系统中,我这里在/home/aspire/下载 这个文件夹下(个人目录下文件操作不需要权限),为了后面输入命令方便,将镜像重命名为PhoenixOSx86.iso
2、打开终端,用sudo su取得root权限,在Ubuntu 的 /media目录下新建一个文件夹Phoenix OS 作为安装系统的分区的挂载点:
# mkdir /media/Phoenix OS
(关于挂载点我的理解就像Windows里你在C盘建了一个D盘的快捷方式,在Ubuntu下的挂载点就是为Phoenix OS分区指定完整的路径;而 /media用于存放Ubuntu系统自动挂载的设备文件)
3、在Ubuntu系统下准备一个独立分区,我这里是 /dev/sda3 格式化为EX4格式,挂载点设置到 电脑 /media/Phoenix OS
设置完成后重启电脑,然后是这样的:
4、准备复制文件,挂载镜像文件到 /cdrom 文件夹以便读取文件(如果没有这个文件夹就新建一个 # mkdir /cdrom )
# sudo mount -o loop /home/aspire/下载/PhoenixOSx86.iso /cdrom
如果你的路径和文件名都正确的话,会提示:mount: /media/iso: 电脑 WARNING: device write-protected, mounted read-only.===意思是写保护、为只读模式
这里给大家分享一个小窍门:右键单击ISO文件查看属性,就会得到完整的路径,直接复制粘贴到终端命令行,很方便!
5、开始复制文件
我们需要把镜像中initrd.img install.img ramidsk.img system.img(有的镜像里面是system.sfs 请参照第6步)和kernel 这5个文件复制到Phoenix OS分区(/dev/sda3),完整路径是 /media/Phoenix OS
# cp /media/cdrom/*.img /media/Phoenix OS
===复制所有img文件到Phoenix OS分区
# cp /media/cdrom/kernel /media/Phoenix OS
===复制kernel文件到Phoenix OS分区
这5个文件复制完成后,要新建一个data文件夹,用于用于存放数据
#mkdir /media/Phoenix OS/data
完成之后电脑是这样的:
6、关于到底用system.img还是system.sfs 没有明确的答案。.sfs也是一种镜像格式,它里面就一个文件那就是system.img
如果你的镜像中是system.sfs 那我们可以再用挂载镜像的方法,得到system.img
# mkdir /img
====在根目录下新建一个img临时文件夹
# sudo mount -o loop /cdrom/system.sfs /img
====挂载system.sfs到img文件夹
# cp /img/system.img /media/Phoenix OS
====复制system.img到 /media/Phoenix OS (也就是Phoenix系统分区),这个文件有点大,可能需要几十秒,而后卸载镜像
# sudo umount /img
====卸载system.sfs镜像
电脑# sudo umount /media/cdrom
====卸载PhoenixOSx86.iso镜像
# rm –f /img
====使命完成,删除img文件夹
7、完成了文件复制,接下来修改启动引导文件
Ubuntu的启动引导文件为grub.cfg (在/boot/grub目录下)
# sudo pluma /boot/grub/grub.cfg
====pluma为Ubuntu的文本编辑器
这时会用pluma打开grub.cfg进入编辑状态
在Ubuntu高级选项前面添加以下代码:
menuentry 'Phoenix OS' --class android-x86 {
set root=(hd0,3)
linux /kernel vga=889 root=/dev/sda3 androidboot.hardware=android_x86 androidboot.selinux=permissive quiet
DATA=/data SRC=/
initrd 电脑 /initrd.img
}
注:1、'Phoenix OS' 根据自己喜欢随便起名,'凤凰系统'也可以
2、set root=(hd0,3) 其中hd0为第一块硬盘;3为第3个分区,要根据你的Phoenix OS分区所在位置修改
3、root=/dev/sda3 也是指定Phoenix OS所在分区的位置,这两项都可以用Ubuntu下的磁盘软件查看
4、vga=889 指定显示分辨率,当然进入系统后也可以调整
下图中分辨率前面的代码为十六进制的,要转换为十进制
889对应的是379 1280*768*32
至此,安装结束,重启电脑。Bios自检时按住shift键,进入启动选择菜单,选择Phoenix OS确认,进入第一次启动设置。。。。。。
现在装了Ubuntu和Phoenix OS双系统,总不能每次启动都按shift啊,怎么设置启动后进入启动选择菜单?
显示启动菜单:
一、启动时按住shift键
二、修改grub.cfg引导文件
# sudo pluma /boot/grub/grub.cfg
2、在引导文件里找到grub_timeout_style=hidden 把这句给注释掉(前面加#号),把下面对应的timeout等待时间改为自己想要的秒数。
3、如果没有上一句,就找GRUB_HIDDEN_TIMEOUT=0 把0改成自己想要的秒数。当然也可以把这句注释掉,把GRUB_TIMEOUT=设置成自己想要的时间。
三、有老铁说修改完引导文件后要执行sudo updtae-grub 我试了,执行后会返回到最原始的启动引导文件,连凤凰os的启动项都没有了,幸亏我提前备份了,建议不执行;也有人说不执行这句,以后系统升级更新后会返回原样,今天就遇到了。
大概了解了一下原理:grub.cfg是由诸多文件生成的,所以修改grub.cfg只是临时办法,要从 /ect/default/grbu 和 /etc/grub.d/40_custom 等底层文件入手,才能解决根本问题,下次再折腾,赶快体验一下Phoenix OS吧!
电脑