00 前言
最近闲来无事,突然想到我的陈年老爷机,目前运行在Win7, 有点慢,搞多点东西更扯淡。换一个新的成本有点高,人穷钱少不敢随便掏,要不换个Linux用用?在虚拟机上玩,也还是太慢了,直接装双系统吧,Win7+Ubuntu。
于是乎,老夫聊发少年狂,换个系统大胆装。纵使虐我千千遍,敢教日月换新天。
本文旨在讲解安装Windows和Ubuntu双系统遇到问题与解决方法。
例如我遇到的:
- 无法从U盘启动
- 安装好后,无法引导启动Linux
- Ubuntu设置界面无法显示
- Ubuntu挂死了怎么处理
- Ubuntu中文输入法无法切换
- 怎么更改Grub启动引导
- ……
01 下载镜像并制作安装盘
我装个很多次Linux系统,套路也忘了七七八八了。记得好像很久以前还有个叫wubi的傻瓜式软件,直接一键式就可以安装ubuntu系统,不过后来取消这个软件了。
装ubuntu有好几种方法,光盘(暴露年龄了)、U盘引导,好像还有个用EasyBCD软件搞的。我这里用U盘引导方法,即做个ubuntu的U盘启动盘。
下载ubuntu系统文件
在ubuntu官网下载最新版ubuntu系统,我下载的是Ubuntu 20.04.3 LTS,这个LTS的意思是Long-Term Support的意思。
Download the latest LTS version of Ubuntu, for desktop PCs and laptops. LTS stands for long-term support — which means five years, until April 2025, of free security and maintenance updates, guaranteed.
这里还有个系统要求:
- 2 GHz dual core processor or better
- 4 GB system memory
- 25 GB of free hard drive space
- Internet access is helpful
- Either a DVD drive or a USB port for the installer media
这些要求随便很普通的电脑都支持,我的老爷机也支持。
制作U盘启动盘
首先会用到UltraIso软件制作镜像,这个软件是要收费的,还好有个试用功能,即下图的“继续试用”按钮。
1 打开下载的镜像
通过“文件”菜单打开下载的ubuntu 20.04镜像
2 写入硬盘映像
点击菜单“启动”,选择“写入硬盘映像”
即弹出下面窗口,写入方式,选“USB-HDD+”或者“USB-ZIP+”都可以,网上教程很多选前者,我选后者。
然后,点击窗口下面的“写入”,慢慢等……
02 为Linux预留分区
做好引导盘后是不是就可以直接安装了,最好别。
建议先给Linux分个家,不然它无家可归,跑到windows的底盘就不知道会干出啥事了。
ubuntu 20.04是要求25GB的硬盘空间,我个人的情况就给它挪了个50GB。
右键“我的电脑”,选择“管理”
接着在弹出的“计算机管理”对话框,点击“磁盘管理”就可以做磁盘管理了。
如果你没有一个这样空闲的磁盘或分区,你可以找一个余量比较大的盘,然后右键选择“压缩卷”,即可将当前选择的盘压缩,比如我这个D盘有200G,那就压缩成150G,剩下的50G就会变成空闲分区(或者叫做“卷”),注意这个卷不要给它分配盘符,保持其未分区状态。
好了,再提一句:做好你的重要资料备份,防止意外!
03 安装过程
万事俱备了,那就插入U盘开搞吧。
1 选择从U盘启动
重启电脑,进入BIOS,选择从U盘启动,这样看你的是什么电脑,一般是重启时按F2、F5、F10或F12之类的。
我忘记截图了,网上找个凑合着看
然而,我的电脑出情况了,怎么都无法从U盘启动,试了好几次,还以为U盘出问题了还是没做好Linux引导。
后来找了还就才发现我电脑插了两个USB磁盘设备,导致BISO不知道从哪个开始,有可能默认选择从我那个不是Linux启动盘的那个启动了,怎么也进入不了安装流程。
后来,我把多余的U盘拔了,重新启动就好了。
2 准备安装
接着,进入了安装的第一步
这里你可以做两件事:选择个语言(我保持默认的English),以及选择“Install Ubuntu”
继续,以下这个界面选择“Normal installation”,另外一个“Download updates while installing Ubuntu”,建议不要选,因为选这个它会下载更新,还挺耗时间的。可以安装完后再更新。
3 选择磁盘分区
到这一步,系统会检测到我这个电脑已经安装了个系统(Windows),让你选择一个位置安装Ubuntu。(由于当时没截图,网上找个中文界面的)
注意,这一步很重要。我当时是选择了上图的“安装Ubuntu,与其他系统共存”,然后其自动识别到了空闲分区。建议小伙伴不要选这个,万一真的搞错了,把你的其他盘资料搞没了就不好了。
建议,选“其他选项”,英文界面的选项叫“Something else”,然后选择那个之前划分出来的空闲盘。
然后,接着继续搞,选择“continue”
4 选择区域位置等
以下比较简单,自己看着来就行。例如选择location,这就不细讲了
选择完后,创建个个人账户
这些搞完后,选择重启就行。
04 修复启动引导问题
你以为,全部都搞好了?
谁知,不管你怎么启动,都是进入了Windows?我的Ubuntu呢?没装好?
其实不是,是引导没搞好。
这里有几种方法,可以在Windows上配,例如安装个EasyBCD,这个我没搞过,我就不讲了。
我选择在Ubuntu系统上搞。
没办法进入Ubuntu就通过U盘引导进入,即从U盘启动。就这个界面,选择“Try Ubuntu”
进入Terminal终端,通过下面命令解决,另见Ubuntu官方说明“Boot-Repair”
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
过程中会出现这样的界面,按推荐默认方式进行即可
搞完之后重启,可以看到以下启动界面
此时,默认启动的是Ubuntu。
如果要默认启动Windows呢,要怎么设置?下文会有详细讲解。
05 配置环境
我本来是想打算用Ubuntu替代Windows使用的,一些基本软件是要有的,例如输入法,office文档编辑等等。
首先,把source更新下,毕竟用国内的镜像比原始的会快点。
我在网上找了好几个,还是这个好用。
先备份原始的
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
打开原来的文件
sudo vim /etc/apt/sources.list
接着把以下内容替换到原来的文件中
默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
然后更新
sudo apt update
sudo apt upgrade
06 解决设置界面不显示问题
网上提到ubuntu的setting节目无法显示问题可以用下面方法解决
sudo apt-get install ubuntu-desktop
但是,对我的来说,没毛用
后来找了很久发现是NVIDA显卡驱动问题,及ubuntu 20.04的原始取得对我老爷机的NVIDA显卡支持并不那么友善。
可以通过下面方法解决
先更新源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
然后查看当前机器显卡推荐安装的驱动
ubuntu-drivers devices
从以上命令反馈可以找到系统推荐安装的NVIDA驱动是哪个,例如我的是nvidia-390,可以安装
sudo aptitude install nvidia-390
或者自动选择安装
sudo ubuntu-drivers autoinstall
搞完了直接重启即可
07 解决挂死问题
Setting界面搞定后,就可以设置你想要的效果或配置了。例如中文输入法是迫切需要的。
原来我是安装搜狗拼音,系统选了fcitx,呵呵,玩了下setting界面,突然系统卡死了,只剩下个鼠标在动,什么都干不了。
Linux系统都会挂死?不给我上网查找解决办法就算了,连正常关机的机会都不给我。
我一怒之下,按下了强制关机。重启后,进入我这个账户,继续卡死,都快把我折腾崩溃了。
实际上,不需要强制关机,可以进入tty命令行窗口
CTRL+ALT+F1
如果这个无效,可以按CTRL+ALT+F2
,从F1到F6逐个试试,总有个可以的。
实在不行就出绝招:
使用“魔法键”:Alt+SysRq + r,e,i,s,u,b
操作步骤是
- 伸出你的左手,同时按住
<Ctrl>
+<Alt>
键,别松开 - 右手先按一下
<SysRq>
,左手别松开,等1秒 - 右手按一下
R
,左手别松开,等1秒 - 右手按一下
E
,左手别松开。 - 右手依次按下
I
,S
,U
,B
,左手别松开。
以下解释下这几个字母啥意思:
r
: unRaw 将键盘控制从 X Server 那里抢回来e
: tErminate 给所有进程发送 SIGTERM 信号,让它们自己解决善后i
: kIll 给所有进程发送 SIGKILL 信号,强制他们马上关闭s
: Sync 将所有数据同步至磁盘u
: Unmount 将所有分区挂载为只读模式b
: reBoot 重启
反正,想尽一切办法进入命令行界面.
在我放大招重装系统之前,从几次摸索,好像跟那个账户有关系,难道我要创造另外一个账户把之前的账户删掉?
但是这样没找到问题原因啊,想想,之前好像没做过什么操作,也没装特殊软件,难道跟setting的设置有关?语言设置,输入法设置?
后来我还真从网上找到了类似的博文。
于是乎,进入命令行窗口
sudo apt-get purge sogoupinyin # 干掉搜狗拼音
sudo apt-get purge fcitx # 干掉搜狗寄居的fcitx框架
sudo apt-get autoremove # 干掉fcitx的其他配置
然后,重启,奶奶的熊,好的很,就这输入法问题。
08 解决输入法问题
没有中文输入法不行啊,至少上网查个东西得输入中文吧。
于是还是小心翼翼地配置了几次输入法,然而怎么也切换不到中文输入。
无法输入中文,跟没有这个输入法有啥区别!
好了,放最终答案吧,中间过程太折腾了就不说了。
以下是我语言和区域设置,即默认英文,添加了个中文输入(Chinese(Intelligent Pinyin),即智能拼音)
点击“Manage Installed Languages”,注意这里的“Keyboard Input Method system”选择“IBus”,不要选那个fcitx那个烂货!
平时切换输入法可以按Shift即可(这个跟你配置的快捷键有关),或者在桌面右上角用鼠标选择。
总之,简单的东西不要搞那么复杂。
然后就可以愉快玩耍了。
09 设置GNU Grub启动引导顺序
不过,我还是想调整下,Ubuntu和Windows的启动顺序,默认启动Windows可好?毕竟短时间还是放不下Windows啊。
搞得我研究了一番GNU Grub
GNU GRUB的前身为Grand Unified Bootloader。它主要用于类Unix系统;同大多Linux发行版一样,GNU系统也采用GNU GRUB作为它的启动器。
**注意:**目前 GRUB 分成 GRUB legacy 和 GRUB 2。版本号是 0.9x 以及之前的版本都称为 GRUB Legacy,从 1.x 开始的就称为 GRUB 2。
通过grub-install -v
可以查看Grub版本,注意Grub2和Grub是有区别的
- GRUB2引导菜单启动项是从/boot自动生成的,不是有menu.lst配置的
- 执行grub-update之后会自动更新启动项列表,自动添加有效的操作系统项目
- 分区编号发生变化:第一个分区现在是1而不是0,但第一个设备仍然以0开始计数,如hd0
- 配置文件的不同更为明显:
配置文件
- /boot/grub/menu.lst - 已经被/boot/grub/grub.cfg代替
- /boot/grub.cfg - 即使是root也不要编辑它,它在每次update-grub后自动生成
- /etc/default/grub - 改变引导菜单外观的主要配置文件
- /etc/grub.d/ - 各种用于生成grub.cfg的脚本文件,每次update-grub时会执行里面的文件
回到文章前面提到的Ubuntu引导界面,有好几个选项,这几个东西在哪的呢。
在/boot/grub/grub.cfg
里面,但是不能更改这个文件
可以修改/etc/default/grub
文件,例如我将GRUB_DEFAULT=0
改为GRUB_DEFAULT=5
因为,5就是我的Windows的序号,在/boot/grub/grub.cfg
可以找到
GRUB_DEFAULT=5 #0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
好了,该折腾的已经折腾完了。
可以翱翔Ubuntu Linux了。