最近尝试在昂达V975w平板电脑和intel stick中安装ubuntu,经过分析,发现存在一个非常大的坑。但因为这个坑,此教程适合大部分平板电脑、电脑棒、intel nuc设备安装Ubuntu。
本教程适合以下读者:
- 希望给自己的x86架构设备安装Ubuntu操作系统;
- 希望使用32位的GRUB安装64位Ubuntu操作系统;
- 想折腾Ubuntu系统在平板电脑或intel stick(intel电脑棒)中的使用;
抱歉,本教程以下读者可能不适合:
- 纯粹不懂Linux命令的爱好者;
- 不想折腾的人;
- 非专业程序员。
2016年04月08日12:53:08特别提示:如果是在x86架构设备安装Ubuntu,安装版本是16.04,由于高版本系统做了优化处理,只需要下载bootia32.efi到'EFI\BOOT'安装即可,安装完毕可以自动启动,其它操作均可省略。
由于部分平板电脑CPU不支持64位的GRUB引导程序,故而导致Ubuntu系统安装失败,而官网的Ubuntu系统只有64位支持UEFI引导。除了WIFI、蓝牙等驱动需要自己上网搜索安装之外,系统主要的安装和引导的具体方法如下:
一、制作安装U盘
- 获取IOS镜像文件
方法一:如果你的CPU是Z3735D/F,参考可以这个第三方镜像,在官方的基础上增加了驱动:https://www.linuxium.com.au。
方法二:如果你的CPU不支持64位引导程序,或者说你想自己手动修改官方的IOS镜像用于在平板电脑中安装系统,请到官网下载镜像文件,需要注意,请勿下载国产修改版,不保证能够支持平板使用。请务必下载64位版本,32位不支持UEFI引导。
- 制作安装U盘
下载完成后下载U盘制作工具:'Rufus' on Windows or 'dd' on Linux,制作一个UEFI引导的U盘。
- 修改UEFI引导文件
如果使用方法一获取的IOS镜像文件,此步忽略。
下载bootia32.efi文件并解压复制到'EFI\BOOT'目录下。
二、安装Ubuntu操作系统
请先链接USB键鼠,使用快捷键进入BIOS(Z3735通常是DEL/ESC),修改BOOT顺序为UEFI引导的U盘。进入GRUE菜单后选择(Try Ubuntu With Install),如果之前配置的32位引导文件正确,此时你将直接进入Live CD模式的Ubuntu系统。在这个临时系统中的大部分操作都是无效的,不会被保存记录。
此时我们会看到桌面有安装Ubuntu操作系统的快捷方式,先别忙安装,看完这部分内容。点击左上角第一个应用(搜索),搜索"Disks",进入硬盘管理软件,查看你的本地硬盘。特别提示,在平板电脑或intel stick等小型设备中,通常是SD卡模式,但绝非USB磁盘。通常显示在列表第一项。
由上图我们看到主硬盘所在路径为/dev/mmcblk0。由于我已经安装好了Ubuntu系统,所以看到其中有三个分区,第一个是存储EFI文件的FAT分区,第二个是存储文件的Ext4分区。如果你的平板设备还是win系统,这里应该是NTFS分区+FAT分区。这都不是重点,重点在于需要记录你的主硬盘所在路径“/dev/mmcblk0”还是“/dev/sda1”。
记录后点击桌面的快捷方式安装ubuntu到本地硬盘。
安装完毕进入下一步。
三、手动引导GRUB2进入本地Ubuntu操作系统
安装完毕重启我们将发现无法进入到操作系统,而是进入了EFI SHELL模式,早在意料之中,因为这类平板的CPU不支持64位的UEFI引导,但并不意味着不支持64位操作系统。
此时我们还是进入BIOS使用之前的U盘引导启动,进入GRUB菜单后不要选择,点击键盘中的"c"按钮,进入GRUB2命令行模式。
进入该模式后,输入“ls”列出硬盘分区。
此时会看到类似(hd0,gtp1)或(hd1,msdos1)之类的项。这是你的硬盘分区。其中hd0为根目录所在的磁盘,IDE硬盘用hd开始,SCSI硬盘用sd开头。软盘用fd开头。命名和linux不大一样。是从0算起。
我们需要找出linux内核所在分区。
使用"ls (hdX,gtpX)/boot",其中的“X”请手动替换为上一步出现过的数字,这里肯定要有逗号","的,如果出现一大串结果,显示了你的linux内核文件,说明就是这个分区。记录X的值。
假设你在执行"ls (hd0,gtp2)/boot"的时候出现值,那么下一步执行:
set root=(hd0,gtp2)
然后输入需要输入内核路径,“linux /boot/vmlinuz* root=/dev/mmcblk0p2”其中*号为内核版本,输入/boot/vmlinuz后按tab键可以进行自动补全。mmcblk0p2为根目录所在的分区,其中“mmcblk0”是第二步查看分区记录的值,后面的"p2"是我猜的,你顺着p1\p2\p3猜测一下,能执行就对了。完整的命令例子如下:
linux (hd0,gpt2)/boot/vmlinuz-3.13-xxxx root=/dev/mmcblk0p5
initrd /initrd.img
boot
最后成功进入本地Ubuntu系统,这一步如果不成功的话就多尝试一下,修改上面涉及的各个值,祝你好运。
四、最后一步
到这步已经成功了一半了,但是没人愿意每次启动都使用USB的GRUB引导并手动输入引导命令,这会很麻烦。进入本地Ubuntu后,调出终端,继续输入如下命令:
sudo apt-get update
sudo apt-get -y purge grub-efi-amd64 grub-efi-amd64-bin grub-efi-amd64-signed
sudo apt-get -y install grub-efi-ia32-bin grub-efi-ia32 grub-common grub2-common
sudo grub-install --target=i386-efi /dev/mmcblk0p2 --efi-directory=/boot/efi/ --boot-directory=/boot/ # 这里的“mmcblk0p2 ”就是上一步你执行成功的那个值
sudo grub-mkconfig -o /boot/grub/grub.cfg
执行完毕后重启,发现Ubuntu引导正常,不需要USB引导也可以进入系统。恭喜!安装成功!
当然了,执行第四步的前提条件是连接了网络,这里需要先安装好网络相关的驱动。如果遇到问题,可以给我留言,我会帮助你的。
高分屏幕在win下很鸡肋,因为windows对高分辨显示屏的支持是在太差了。而Ubuntu不同,使用Ubuntu的显示设置可以像Mac一样进行缩放,有类似Ritina的显示效果,执行各种命令管理远程Linux服务器很赞。
2017年05月03日17:17:53更新: 据说最新的Ubuntu版本优化了对平板的支持,或许可以直接安装成功哦!建议先尝试直接安装最新版。
2020年08月28日12:27:12更新:
====================
以下内容为网友Beta
分享的解决方案(如遇到如图 “正在等待报头” 的问题的解决方案):
【问题已解决】 个人解决方案: 首先点击左侧(文件),然后点击(其他位置),找到(计算机),打开目录/etc/apt/ 然后找到sources.list 复制到桌面 然后将该文件的后缀名改为.txt 打开 把里面所有内容删除 改成
deb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free
然后点左上角的小红叉 关闭 并且 保存
接下来把刚才的sources.txt重新命名成sources.list 然后打开终端 输sudo cp (这里把桌面的sources.list拖进来) '/etc/apt' 然后再输入 sudo apt-get update就OK了。 (参考:https://www.jianshu.com/p/5fb01cf2966e)
【特殊情况】:如果在执行sudo apt-get update的时候中途退出 后续在执行该命令发现无法继续下载。
解决方案: 依次执行下面的命令:
sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update
继续执行sudo apt-get update
,OK。
(参考:https://www.jianshu.com/p/5fb01cf2966e)
【特殊情况2】如果执行完上述操作 下载资源的过程中突然出现:GPG 错误...由于没有公钥,无法验证下列签名: NO_PUBKEY XXXXXXXXXX 而无法现在的情况。
解决方案:输入sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXX
(“XXXXXXXXXX”此处换成错误的签名)
(参考:https://blog.csdn.net/suyunzzz/article/details/96717770)
终于搞定了 上面是我解决问题的总结。
====================
感谢Beta!如果使用的是最新版的Ubuntu,则不会有上述问题。
linux (hd0,gpt2)/boot/vmlinuz-3.13-xxxx root=/dev/mmcblk0p5
这一句好难懂啊...总是提示版本号错误,按TAB只会补充3.13- 但是-后面是什么啊... 顺便问下V975W装linux用起来流畅吗?
后面照着ls出来的内容输入就可以了。保证文件名完整即可。 用起来挺流畅的!如果看视频就不一定了!
我的z3740显卡无法驱动3.16内核
z3740就不太清楚了。可以试试重新编译内核。
楼主,975v3版本z3735f处理器,选择try ubuntu后就黑屏了,怎么解决
谢谢告知~
你好,我安装后启动黑屏,我需要添加nomodeset或者i915.modeset才能看到图形,我想这是由于i915的kms的问题未能正常启动xorg,希望能得到你的帮助,十分感谢
您好,你遇到的这个问题可以在手工进行GRUB2的时候修改分辨率,或者进入命令行修改/etc/default/grub文件。如果这个方式无法正常驱动,那我也爱莫能助,这已经超出的能力范围了。
kernel /boot/vmlinuz boot=casper iso-scan/filename=/ubuntu-11.04-desktop-amd64+mac.iso ro quiet splash locale=zh_CN.UTF-8
initrd /boot/initrd.lz
请问如何 不解开ISO,试用ubuntu,在EFI模式,用grub2 参数iso-scan/filename 不识别EFI硬盘,MBR的U盘是识别的
这个要先解IOS,然后重新用工具弄成MBR模式的。网上还是很多工具的,搜一些U盘制作一类的。
Error fsyncing/closing /dev/mmcblk0rpmb:Input/output error 我是酷比魔方的i10w,双系统的,disks看有个4.2MB的分区只读。 在 运行“grub-install/dev/mmcblk0"... 这一步弹出 安装程序崩溃。。。。。。
这个应该是mmcblk0的问题,修改这个值再试试
博主你好,我试用surface pro4安装Ubuntu15,但是遇到了很多问题,第一个是触摸屏不支持啊,第二个是typecover无法输入,而且安装到创建ext2文件系统的时候进度条完全不走了,这是怎么回事?
触屏不支持是驱动问题,网上肯定有surface的驱动,找一下make && make install 。typecover无法输入的话,应该与驱动也有关系的,我猜网上有驱动。这两个的驱动可以考虑到github上面找。最后那个进度条的问题我就不太清楚了,先看一下硬盘空间是否充足吧。
你好,我的平板是surface pro 4乞丐版,酷睿M3,不知道可不可以按照你的这个教程安装Ubuntu?我的意思是双系统,win10+Ubuntu的那种
可以安装ubuntu,但是不能单纯用我这个文章的方法,可以直接用windows自带的启动器启动。在ubuntu安装的时候选择双系统即可,非常简单!
博主,我按照你的方法安装了,但是在grub引导进入本地系统时命令全正确到boot时接下来就没反应两千,一直停在那里
这种情况我没有遇到过,你的芯片和型号具体是什么呢?
搜到了楼主的文章,好文章。 有几件事想向楼主确认一下。 我是从树莓派2B玩起的,开始了微型节能电脑之旅行。 但我不需要gpio等控制硬件的接口,需要一个小巧的、节能的,能24小时开着的linux服务器。 主要跑ss客户端,上传下载,owncloud、lamp的个人网站。 树莓派性能有点弱了。 我马云家搜电脑棒,z3735的也要近500了,反面是一些平板,几乎是同样的配置,也有500以下的。 看了楼主这篇文章,如果能用ubuntu的话,是否能实现一些server的功能?主要跑ss客户端,上传下载,owncloud、lamp的个人网站,跑wordpress?
你的想法和我的差不多,我也一直在寻找这样的设备。但是Z3735的棒性能比树莓派强不了多少。建议使用intel nuc(只是有点贵)。此外的话,树莓派3值得关注。不建议用电脑棒。我正在找一款10寸左右的平板来做这个事情,我的需求和你的差不多。如果我找到合适的解决方案,会在博客放出。
我目前搞了台z8300的笔记本obook11来解决这个问题。体验还不错。就是充电速度慢点。
楼主我按照你说的方法安装系统,系统可以正常跑起来。可是没有声音。是我安装方法不对吗?还是我要做什么其他的设置。
我的机器是z3735f 酷比魔方的机器
哥!你是我亲哥!!!我是java程序员。刷ubuntu 和 linuxmint 我都成功了。可wifi驱动不了愁死我了。。。我是昂达v919 coreM版。。。。求驱动方法,或者线索,,,,大哥 我求你了!!!
coreM直接用原版ubuntu就好了啊。驱动的话你查一下具体wifi芯片型号我给你找。
装TF卡上是不是速度会比较慢?对TF卡的寿命影响也很大呢?
速度肯定有影响的。寿命就不一定了。有些TF卡用料做工挺好的。
iwork8上livecd引导不进去。一个是MP-BIOS BUG:8254 timer out connected to IO-APIC,这个在kernel后面加acpi=off noapic nolapic解决了。还有一个就是i8042: No controller found。这个目前还没能找到解决方法
Try Ubuntu With Install模式下怎么进不去 ?点击之后,就黑屏了 然后出来了一段代码 再后就什么也没有了,一直黑屏
这种情况我还没有遇到过,理论上说try ubuntu这个菜单已经说明引导进去了啊。
在用 c 命令编辑的时候, 在 “linux" 那一行(有 quiet splash 这两个词的那一行)后面多加一个词: nomodeset ,别忘了空格,然后 ctrl + x boot 就行
这应该是因为显卡问题导致的。
这一步执行完还是黑屏 ,还是进不去系统啊 怎么办?
然后输入需要输入内核路径,“linux /boot/vmlinuz* root=/dev/mmcblk0p2”其中*号为内核版本,输入/boot/vmlinuz后按tab键可以进行自动补全。mmcblk0p2为根目录所在的分区,其中“mmcblk0”是第二步查看分区记录的值,后面的"p2"是我猜的,你顺着p1\p2\p3猜测一下,能执行就对了。完整的命令例子如下:
linux (hd0,gpt2)/boot/vmlinuz-3.13-xxxx root=/dev/mmcblk0p5
initrd /initrd.img
boot
最后成功进入本地Ubuntu系统,这一步如果不成功的话就多尝试一下,修改上面涉及的各个值,祝你好运
感谢!
请问天敏的d9i能否安装此类系统,我想安装openmediavault此类的nas系统,不知能否?谢谢。 产品类别网络播放机,智能电视盒 处理器CPU:Intel Bay-trail Z3735D GPU:Intel HD Graphic for Baytrail(ValleyView Gen7) 内存2GB 闪存16GB 纠错 存储介质移动存储 操作系统Android 4.2.2,Windows 8.1
可以的,这个没问题,镜像制作方法参考我发的文章内容即可。
博主你好,我的CPU是Z3735F的,板子不明型号,在Ubuntu安装过程中安装到Grub2时出现无法安装,安装程序崩溃的形况,无法执行grub-install /dev/mmcblk0,自己试了几种方法都失败了,请问有什么解决办法吗?
可以进入LiveCD后执行安装的。记得安装的时候加上sudo。
可以参考我刚刚写的博文:https://wyr.me/442.html
感谢博主!自己又折腾了好长时间,结果睡了一觉起来发现神TM好使了,后面按照博主的操作都成功了,感谢!
博主你好,问下CPU是Z3736F的支持吗
方法是一样的,支持的!建议直接安装16.04版本。
这个3735电池信息无法识别,在顶上没有电池电量信息,这个如何解决呢?
电池无法识别需要安装Intel电池相关驱动的,暂时没有好的解决方案。可以参考Android版本的驱动,你找一下你的板子有没有安卓版本。
博主您好!我的z3735f安装Ubuntu17的时候wifi 蓝牙驱动全无 还有触摸驱动虽然有 但是触摸会错位 你能给我提供一份吗?非常需要 谢谢!
请尝试安装更新一点的ubuntu系统,或许内核自带驱动。估计触摸错位问题能通过升级系统解决。另外wifi和蓝牙的驱动,不同设备型号不一样,我没有办法直接发驱动给您,可以参考《Linux安装无线网卡驱动通用方法》进行安装。
更新到最新版本ubuntu 20 (包括17以上的版本:18,19)虽然声音和网卡驱动都有了。但是会导致触摸错位 鼠标光标错位 无法进行正常操作...
触摸和光标的驱动异常。可以按上述文章的地方法获取到设备ID,然后找到相关驱动,修改配置文件参数。
我有个七彩虹i818w,买回来是32位的Win8.1,后来一直在升级,现在是最新的Windows10。我之前想换成Android系统,打开过Bios设置,发现Security boot项是锁定的,不能修改,搞的我到现在都还没能成功从U盘启动过。有啥办法解决么?
是七彩虹i818w 3G
假设你在执行"ls (hd0,gtp2)/boot"的时候出现值
求救,这一步卡住了,输入了列出的所有盘符,都没有boot
感谢回复! Clang 在生成时沿用了 GCC 的版本号标识,我是不是可以理解为Clang 18.1.4生成时使用的就是GCC4.8,所以我后续使用gcc 9.4
gcov
就会有不兼容的问题抱歉,这块我也不太清楚,尝试寻求AI的帮助吧。
我在这个过程中遇到了各种问题- -,现在在UDC core: g_serial: couldn't find an available UDC卡住了,请问大佬有什么解决方案吗,还是说我前置的设置就错了呢,> 这个需求很特殊。是可以的,但是比较困难,需要修改驱动配置。
好思路呀!!
关于hex编辑器,网上没找到特别好用的(小白没办法),最后在vscode上扩展一搜hex,第一个安装一下就可以用vscode进行hex编译了