关于uefi引导efi shell,在平板cpu上安装linux64位的一些疯狂吐槽
众所周知,linux目前是多数人作为辅助os,用来学习或运行一些专用程序或研究的。
比如我就是用来学习和搭建实机linux环境来刷机用的。所以我们不可能用主力台机,而是捡到手边哪些能用的设备就用起来,但是坑就开始了……
首先我们要知道,bios(在启动选项里一般称legacy)对应的是uefi(或后面是efi),而硬盘格式对应的是mbr或gpt,那么约等于32位cpu和64位cpu 约等于32位系统和64位系统……吗?
关于启动逻辑和硬盘的,看这个会比较明白https://zhuanlan.zhihu.com/p/56499124
我们先要搞明白,安装盘并不需要遵守上述规则,mbr或gpt格式的启动盘都可以安装,规定是给被安装的盘的。
其次的事实是,64位的cpu,有很多只搭载着32位的efi(标准的做法应该是同时搭配64和32位的shell),这么坑爸的设定是为什么呢,那就是微软的史上巨妖windows8了
微软在win8时代,和atom是大大的作了一次妖,微软高举免费平板os的大旗,intel把64位的一些处理器阉割降功耗做移动平台。然后国内寨板出品了大量的廉价平板。
你会看到一个次世代的系统却是32位的,cpu是64位的却运行着32位系统,然后最重要的,微软的鸡贼Secure Boot,此事的恶心甚至引起了自由软件界的集资反对,详见:
http://www.ruanyifeng.com/blog/2013/01/secure_boot.html
资本之恶,莫过于此,这事的后果是导致,Secure Boot打开才能装win8,而打开就装不上win7或其它任何系统,但如果关闭,那原配的win8就打不开了……
最终的结局是微软自已也放弃了,留下了这批硬件和32位win8的坑。拿我这台zf
那么在uefi下,能否按装32位的win7呢,其实是可以的参见这:
http://www.0451nkw.com/jiaocheng/354607.html
那么在uefi 32位下,能不能装64位的win呢?理论可以,但目前为止我没成功过……
BayTrail的平板可能性不大,因为intel没搞过,一般来说CherryTrail的平板有配置超过2g内存的,所以如果你的平板为这两平台,初始的系统是win8,那么你很可能需要本文。
当然我在当年三位数就能随便玩x86平板的鼓动下,入手过这种垃圾硬件,现在到了要还的时候了。这台z3735f有着奇怪的bios,里面的选项连bom都有,唯独没有legacy。
我曾在这机上安装过arch linux,因为上篇帖子的原因,我不得不重新搞ubuntu,我强调过,linux其实并不轻,对复古来说也并不是个好选择,linux正常按装都在8G以上,而且它们抛弃旧硬件的速度不亚于微软。你看ubuntu已经不出32位了。
言归正传,我用arch引导盘来安装archlinux没有麻烦,在多次安装很有心得的Xubuntu上,却反复失败,连安装盘都不认是为什么?直接进入了EFI Shell version 2.31
我查了很多资源才明白过来……原来我这台就是32位的efi,我需要去找一个bootia32.efi的文件,地址在此:https://github.com/hirotakaster/baytail-bootia32.efi/raw/master/bootia32.efi
一般来说你做的盘是直接能在win下读出的,把文件放进efi/boot/ 你会看到这里面一堆x64的文件,这就是导致你无法引导的罪首。
待出现”shell”提示符时即表明你已进入efi shell环境中,同时会列出现在的硬盘。
一般UEFI启动分区是硬盘最前端的分区。因此首先我们要找到存放启动文件的分区
依次输入下列命令fs0: ufeshell使用fs:x方式表示驱动器;序号从0开始fs_:(记得冒号)
ls查看文件结构,确保其中有EFI目录,cd进入引导目录 查看引导文件直接运行bootia32.efi可执行程序,这样你就能开始安装了。
后续的办法也并非那么简单,我会慢慢折腾回复在后
也请各位在32位efi的设备和平板中折腾有心得的高手不吝赐教一起讨论