前言
机器学习的套件许多都不能在Windows作业系统内顺利安装,就算能安装也要费一番手脚,因此,兴起安装Linux作业系统的念头,经过一天的努力,总算搞定,期间发生差点开不了机,惨烈的过程与大家分享一下。
Windows作业系统有内建Sub Linux子系统 -- WSL,安装很简单,本来寄望它可以拿来测试,使用之后发现几个缺点:
听说 Windows 11 WSL 可以解决第1、2项问题。
安装程序
可以参考『製作USB开机随身碟』说明,补充如下:
先準备一支USB随身碟,快速格式化。
使用Unetbootin製作Ubuntu安装软体:自Unetbootin官网下载Unetbootin档案,并开始执行。
Unetbootin可指定Linux种类与版本,不过此选向下载速度很慢,建议先自Ubuntu官网下载ISO档,我选择Desktop版本,在Unetbootin画面中选第二个选项。
插入外接硬碟,重开机:我使用SSD。
在BIOS中指定USB随身碟开机:开机后选择安装Ubuntu,以外接硬碟为目标,过程需要很久,有时候会停顿,感觉已当机,需耐心等候。安装时选择所有更新选项,会自动将网路及GPU驱动程式一併安装妥当。
安装完成后会要求重新启动,此时把USB随身碟抽出,开机就会自动进入Ubuntu作业系统。因为,安装Ubuntu时,会同时安装GRUB boot loader,接管开机程序,它提供多重开机选单。
要改变开机选单,可以参考这一篇,修改组态档,sudo gedit /boot/grub/grub.cfg,我将set default="0" 改为 "2",预设为Windows作业系统开机。
后来安装Kalid,造成系统 Crash,误以为外接硬碟过热,故改用已经在使用中的硬碟,另切割一个Parition,安装Ubuntu,安装时遇到两个问题:
“No Root File System is Defined” 错误: 我先在 Windows 中「磁碟管理」中压缩硬碟,将外接硬碟挤出 1TB 的空间,之后试图在安装时指定该Partition为安装位置,结果就出现“No Root File System is Defined” 错误,参考这一篇,採用 method 1,解决问题。再次重新安装,又碰到「partition table must reserved bios boot area」错误:参考这一篇,进入BIOS将CSM disable,变成EFI Only,解决问题。安装Kalid造成系统 Crash的详情请参阅『Ubuntu巡航记(5) -- Kaldi 安装』。
注意事项
因 Ubuntu 可能只是偶而使用,会想要把外接硬碟移除,在此状况下开机,会出现 GRUB>,无选单,这时须输入 exit,才能进入 Windows作业系统。
我选择安装Ubuntu v20.04,GPU卡只能安装CUDA Toolkit v10.1,造成TensorFlow 只能安装 v2.3.4版。
如果要移除GRUB boot loader,可参考这两篇:
Remove GRUB bootloader from Windows 10。How To Remove GRUB for Windows 10 Bootloader。不过,我还没有尝试过。
安装中文输入法
中文输入法的软体有很多种,安装说明也非常多,莫衷一是,终于找到一篇可行的方法,请参考这一篇,使用 fcitx,安装指令如下:
sudo apt-get install fcitx fcitx-chewing
按 CTRL+Space 切换中、英文输入模式,Shift可输入全形标点符号。
相关操作可参考IT事件簿-ubuntu16.04安装新酷音输入法。