Ubuntu 20.04 双系统配置文档

weaki233 2024-08-19 08:07:08 阅读 76

Ubuntu 20.04 Log

电脑配置:Y7000P 2023版 显卡:Realtek 8852ce

​ 存储1T RTX4060(8G显存)Intel核显+Nvidia独显 内存:16G


*系统设置

Disable Secure boot(for WIFI module), 开机时按F2进入,选择more setting, 找到security中的secure boot安装时选择自己手动分区如下:

在这里插入图片描述

重要分区(总共分配128G):

根目录(/):主分区primary,磁盘头开始分配空间,ext4格式 分配空间30G(类似系统盘)交换分区(swap):逻辑分区,磁盘头开始分配空间,swap area格式 分配空间16G(以便休眠时能保存内存信息,一般要求大于等于电脑内存)启动分区(/boot):逻辑分区,磁盘头开始分配空间,ext4格式 分配空间1Ghome分区(/home):逻辑分区,磁盘头开始分配空间,ext4格式 分配空间:剩下80多G(类似D盘存数据文件)

注意安装时,<code>不要安装第三方驱动等(Third Party), 否则可能因显卡驱动不兼容导致黑屏、光标闪烁无法进入

*显卡驱动安装

一、使用图形化界面安装

①Show applications

在这里插入图片描述

②找到附加驱动并打开,按照如下点击(具体的驱动版本可以到Nvidia官网确认:https://www.nvidia.com/Download/index.aspx?lang=en-us,我这里为535,尽量不要找带open的,可能没这么稳定,非服务器也不要选server的):

在这里插入图片描述

③如果没有立即生效那么请重启

二、命令行安装

①更新软件源:<code>sudo apt update

安装相应的驱动(官网查看版本): sudo apt install nvidia-driver-535

安装完成后,通过nvidia-smi查看是否有显卡信息,有则安装成功。

*安装缺失的WIFI模块

该电脑配置由于驱动不兼容问题通常会有这个问题

在安装驱动前通过网线给电脑联网

注意:全程都要关闭BIOS安全启动 以后每次启动Ubuntu都要关闭 不然就没wifi图标

关闭步骤:

按下开机键后,快速点击F2(不用按Fn),然后进入到bios界面,然后点击更多设置,在里面找到secure boot,将enabled设置为disabled,然后保存,重启电脑。

一、首先更新并安装依赖库

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install make gcc linux-headers-generic build-essential git

通常教程为:sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git,但是会发现找不到相关文件

二、下载驱动软件

git clone https://github.com/lwfinger/rtw89.git

如果能够顺利 clone下来可以在“下载(Download)”中看到一个"rtw89"的文件夹

​ 如果无法 clone 可以尝试在git clone前加sudo再执行一次代码

​ 还是无法 clone 下来的可以直接进链接下载压缩包:https://github.com/lwfinger/rtw89

​ 不需要sudo,否则下载的rtw89文件夹需要权限打开和更改

注:压缩包最好解压在主目录或者下载里面,否则可能编译失败

三、安装驱动

$ cd rtw89

$ make

$ sudo make install

四、安装firmware files

下载链接:https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtw89

下载文件:http://rtw8852c_fw.bin

将下载文件拷贝到第 3步下载的 rtw89 文件夹中(这一步是为了下一步输入命令的地方是对的,不这样做也可以cd到rtw8852c_fw.bin所在的目录下敲下面的命令)

下载的文件rtw8852c_fw.bin需要移动到/lib/firmware/rtw89目录下,可以用u盘下载完拷贝过去,这里可能需要更改文件权限(之前使用了chmod命令修改了整个文件权限,后来发现很危险,千万不要这么做,推荐使用sudo cp命令):

$ sudo cp rtw8852c_fw.bin /lib/firmware/rtw89

五、启动驱动

(在rtw89文件夹下启动终端输入下方命令):

$ sudo modprobe -v rtw_8852ce

可能需要多重启几次电脑才能出现WIFI图标

六、禁止更新

Linux的内核更新有可能导致驱动不可用,若出现了更新,需要用合适的内核版本进入系统,可以在进入系统时的Grub界面选择Ubuntu 高级选项,找到合适的内核并点击,下次默认会是进入这个内核。目前可用内核版本为5.15.0-97-generic,更新为5.15.0-100-generic后WIFI不可用且暂未找到解决办法。

因此这里先禁止内核的更新:

# 查看当前内核版本

~$ sudo dpkg --get-selections | grep linux

~$ uname -a

# 禁止更新内核

~$ sudo apt-mark hold linux-image-5.15.0-97-generic

~$ sudo apt-mark hold linux-headers-5.15.0-97-generic

~$ sudo apt-mark hold linux-modules-5.15.0-97-generic

~$ sudo apt-mark hold linux-modules-extra-5.15.0-97-generic

# 如果要重新允许更新,将上面的禁止命令的hold改为unhold即可

检查:

~$ sudo dpkg --get-selections | grep hold

输出:

linux-headers-5.15.0-97-generichold

linux-image-5.15.0-97-generichold

linux-modules-5.15.0-97-generichold

linux-modules-extra-5.15.0-97-generichold

不必要的软件更新也可以禁止,以保证系统稳定性:

打开Software & Updates,将自动检查更新改为从不。

检查是否都关闭了更新:

~$ sudo gedit /etc/apt/apt.conf.d/10periodic

若全部更新关闭:

APT::Periodic::Update-Package-Lists "0";

APT::Periodic::Download-Upgradeable-Packages "0";

APT::Periodic::AutocleanInterval "0";

APT::Periodic::Unattended-Upgrade "0";

若要恢复更新:

APT::Periodic::Update-Package-Lists "2";

APT::Periodic::Download-Upgradeable-Packages "1";

APT::Periodic::AutocleanInterval "0";

APT::Periodic::Unattended-Upgrade "1";

*中文搜狗输入法安装

官网的教程已经过时!不要用那个!

一、添加中文语言支持

1、系统设置—>区域和语言—>管理已安装的语言—>在“语言”tab下—>点击“添加或删除语言”。

在这里插入图片描述

2、弹出“已安装语言”窗口,勾选中文(简体),点击应用。

在这里插入图片描述

3、回到“语言支持”窗口,在键盘输入法系统中,选择“fcitx"。

如果没有“fcitx”选项,先打开终端手动安装fcitx,等安装成功之后再执行上述步骤:

<code>$ sudo apt-get install fcitx

在这里插入图片描述

4、点击“应用到整个系统”,会输入密码进行验证,然后关闭窗口,重启电脑。

5、然后设置fcitx为开机自启动

<code>$ sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/

二、下载安装

1、打开终端输入uname -a 查看系统架构,我的是x86_64。

Linux dzh-Lenovo-Legion-Y7000 5.4.0-105-generic

#119~18.04.1-Ubuntu SMP Tue Mar 8 11:21:24 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

2、进入搜狗输入法linux下载页面,选择适合你ubuntu架构的版本download。

在这里插入图片描述

三、安装输入法和依赖

1、cd到安装包的目录,然后<code>sudo dpkg -i sogoupinyin_4.2.1.145_amd64.deb 进行安装

2、安装所需依赖,完成后重启电脑。

$ sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2

$ sudo apt install libgsettings-qt1

四、配置输入法

1、查看桌面右上角的键盘图标,看到列表中出现了搜狗,需要配置一下才能使用。

在这里插入图片描述

2、点击配置当前输入法,进入输入法配置界面,我的是直接自动添加好了(这是个大坑,后面会说),正常来说这里是没有添加搜狗输入法的。

在这里插入图片描述

如果你点配置,出现以下报错,就是缺少图形界面的依赖,需要安装一下fcitx-config-gtk:

<code>您正在图形界面下运行 fcitx,但是 fcitx-configtool 未被找到,软件包名通常为fcitx-config-gtk,fcitx-config-gtk3,或者fcitx-configtool。现在将用默认文本编辑器打开配置文件。

sudo apt install fcitx-config-gtk

3、点击+号,然后弹出“添加输入法”的窗口,这里一定要把下面的“仅显示当前语言”取消勾选,然后在下面的搜索框中输入sogou(搜不到就直接找),再选择搜狗输入法,点击确认添加进来。

在这里插入图片描述

4、如果你和我一样在第2步是自动添加好的,选中搜狗输入法,点击-号取消掉,然后再执行第3步,不然你永远也调不出来搜狗输入法或者输入中文。这里我光尝试解决方法就尝试了1个小时,因为步骤上没有任何问题,唯独这里与官网教程不同。IBUS框架不需要卸载,对搜狗输入法没有影响。到这里,你应该可以成功使用搜狗输入法输入了。

5、输入法设置

设置输入法的快捷键,你既可以在系统提供的配置窗口设置,显示高级选项会有更多的设置

在这里插入图片描述

也可以点击搜狗输入法的悬浮窗上的设置按钮,进行直接设置。

在这里插入图片描述

*微信安装

第一种方法(指安装基于ukylin-wine环境的微信),可以用上述方法,也可以用fishros.com中的一键安装包来安装,但是该方法可能会与系统Nvidia驱动冲突,报以下错误(可以通过<code>tail -f /var/log/syslog实时查看系统日志)并且无法正常打开:

is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.

目前没有很好的解决办法,只有切换为系统自带的Nouveau驱动,设置下显卡显示LLVMpipe时才能正常打开。

fishros下的桌面版测试可用,但是功能较少。

目前我使用的是deepin移植过来的deepin-wine下的微信。

一、基于Ukylin-wine版本的微信

①环境说明

首先,在ubuntu20.04LTS上安装微信,网上包括直接安装wechat,安装deepin版本的wechat,要么是不能运行,要么是很不好用。最后,找到了好用的微信。

补充:现在微信只发布了ukylin(优麒麟)上的版本,其他linux发行版都不是腾讯官方。因此,安装腾讯支持的微信版本,肯定好用。

②安装过程

(1)下载Wine环境包

wget http://archive.ubuntukylin.com/software/pool/partner/ukylin-wine_70.6.3.25_amd64.deb

(2)下载微信(wine)包

wget http://archive.ubuntukylin.com/software/pool/partner/ukylin-wechat_3.0.0_amd64.deb

(3)安装Wine环境包

sudo dpkg -i ./ukylin-wine_70.6.3.25_amd64.deb

(4)安装 wechat 包

sudo dpkg -i ./ukylin-wechat_3.0.0_amd64.deb

运行此命令可能会报错,说缺少依赖包xdotool,运行sudo apt-get install xdotool之前

还需先执行sudo apt --fix-broken install,代码如下:

$ sudo apt --fix-broken install

$ sudo apt-get install xdotool

(5)启动wechat

cd /opt/ukylin-wine/apps/wine-wechat/ && ./run.sh

③分辨率调整(1080p屏幕请忽略)

env WINEPREFIX="$HOME/.ukylin-wine/wechat" /usr/bin/ukylin-wine winecfgcode>

打开后在选择界面修改相应dpi即可适配高分屏: 2k屏幕配置 200

在这里插入图片描述

<code>需要重启后生效

二、基于Deepin-wine版本的微信

①下载并安装Deepin Wine包

命令行输入以下指令以克隆仓库:

git clone https://github.com/xiongweixp/Deepin-Wine-for-Ubuntu.git

(或者我将其压缩包存在了机械硬盘,可以直接取用)

cd 进入Deepin-Wine-for-Ubuntu文件夹下的目录,并执行sh install.sh进行安装

②安装微信

安装包网址:http://packages.deepin.com/deepin/pool/non-free/d/deepin.com.wechat/

(或者我将其安装包存在了机械硬盘,可以直接取用)

下载deepin.com.wechat_2.6.8.65deepin0_i386.deb 版本

cd Downloads

sudo dpkg -i deepin.com.wechat_2.6.8.65deepin0_i386.deb

注意:这里的Deep-wine版本为2.18-19,如果版本为2.18-12可能会不兼容2.6.8.65版本的微信,deepin-wine2.18-12时微信可以下deepin.com.wechat_2.6.2.31deepin0_i386.deb 的版本,不会报版本的错误,但是在登录时会遇到微信版本过低的提示无法登陆,尚且不知道如何解决。

③卸载微信

要卸载通过 dpkg 安装的软件包,需要知道安装包的名称。在该例子中,安装包的名称是 deepin.com.wechat。可以使用 dpkg --list 命令来列出所有已安装的软件包,并从中找到相应的软件包名。然后,你可以使用 dpkg --removedpkg --purge 命令来卸载该软件包,具体取决于你是否想要同时移除配置文件。

此处安装包的名称为 deepin.com.wechat,卸载它的命令可以是:

sudo dpkg --remove deepin.com.wechat

或者,如果你想要同时移除配置文件,可以使用:

sudo dpkg --purge deepin.com.wechat

这将卸载已安装的微信应用。确保使用正确的软件包名称,以免意外卸载其他软件包。

④Debug

下载后会有较多小问题,解决方式如下:

中文不能正常显示,会有许多黑色方框

以下方法解决乱码+修改字体(微软雅黑)

1、在https://fontinstall.com/downloads/?act=view&id=272222中下载微软雅黑字体,msyh.ttc

(或者我保存到了机械硬盘上,可以直接取用)

2、

#1.添加字体(在下载的包目录下执行命令)

cp msyh.ttc ~/.deepinwine/Deepin-WeChat/drive_c/windows/Fonts

#2.修改系统注册表

gedit ~/.deepinwine/Deepin-WeChat/system.reg

#修改以下两行

"MS Shell Dlg"="msyh"

"MS Shell Dlg 2"="msyh"

#3.字体注册

gedit msyh_config.reg

#内容添加

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]

"Lucida Sans Unicode"="msyh.ttc"

"Microsoft Sans Serif"="msyh.ttc"

"MS Sans Serif"="msyh.ttc"

"Tahoma"="msyh.ttc"

"Tahoma Bold"="msyhbd.ttc"

"msyh"="msyh.ttc"

"Arial"="msyh.ttc"

"Arial Black"="msyh.ttc"

#注册

WINEPREFIX=~/.deepinwine/Deepin-WeChat deepin-wine regedit msyh_config.reg

#4.reboot

界面以及字体太小

WINEPREFIX=~/.deepinwine/Deepin-WeChat/ deepin-wine winecfg

在这里插入图片描述

调整dpi即可。

若遇到微信图片无法打开

因为deepin包是32位的用的是i386架构,尝试执行<code>sudo apt-get install libjpeg62-dev:i386

如果已经安装过ROS Noetic,可能会报依赖问题,尝试以下:

sudo apt install aptitude

sudo aptitude install libjpeg62:i386

*双系统时间同步问题

解决双系统下时间不同步问题

进入Ubuntu系统执行以下命令

sudo apt-get install ntpdate//在Ubuntu下更新本地时间

sudo ntpdate time.windows.com

sudo hwclock --localtime --systohc//将本地时间更新到硬件上

然后重启进入Windows,初次重启可能时间依然不同,但是在Windows自动调整一遍后,时间就同步了。

*禁用挂起功能

Ubuntu中挂起可能导致黑屏无法唤醒,因此禁用该功能。

要在Ubuntu中禁用挂起功能,您可以执行以下步骤:

打开终端: 您可以通过按下Ctrl + Alt + T组合键来打开终端,或者在应用程序菜单中搜索并打开终端。

编辑系统配置文件: 运行以下命令来编辑系统配置文件:

sudo nano /etc/systemd/logind.conf

找到挂起配置行: 在打开的文件中,查找名为HandleSuspendKey的配置行。如果找不到,请手动添加它。如果该行存在但注释掉了(以#开头),请删除注释

禁用挂起:HandleSuspendKey的值设置为ignore,以禁用挂起功能。确保行类似于以下内容:

#HandleSuspendKey=suspend(原来的)

改为

HandleSuspendKey=ignore

保存更改并退出编辑器: 按下Ctrl + X,然后按Y键确认更改,最后按Enter键保存文件并退出编辑器。

重新加载系统服务: 运行以下命令重新加载 systemd 的配置:(可能会卡住,建议还是重启电脑)

sudo systemctl restart systemd-logind.service

这样做应该会禁用系统中的挂起功能。请注意,这将影响通过系统设置或电源按钮触发的挂起操作。

*系统界面美化

双系统引导界面美化+修改默认启动项

效果如下:

在这里插入图片描述

此主题下载地址:https://www.gnome-look.org/p/1009236/

下载速度慢或打不开(一般是打不开的)

可以用下载好的

百度网盘链接:https://pan.baidu.com/s/1-mOl3_mHZZVh_PVMq9oQ1w 提取码:2pbn

启动Ubuntu系统进行操作

<code>解压

$ tar xvJf Vimix-1080p.tar.xz

进入解压后的文件夹

$ cd Vimix-1080p

安装

$ sudo ./install.sh

修改启动设置

$ sudo gedit /etc/default/grub

在这里插入图片描述

一般我们需要更改其中的

GRUB_DEFAULT(默认启动项:这个编号是你开机时看到的若干个启动项从上到下的依次编号,记住!编号是从0开始的,意思是,第一项是0,第二项是1,以此类推)GRUB_TIMEOUT_STYLE(是否显示倒计时,hidden的属性表示不会显示倒计时,注释掉该行则显示倒计时)GRUB_TIMEOUT(等待时间,单位是秒)按自身需求更改后,保存即可。

修改完成之后一定要对更改进行更新

在命令行输入

<code>$ sudo update-grub

然后重启即可看到设置生效

*Typora安装

在https://fishros.com/中有Typora最后的一版免费版。(或者我存在了机械硬盘中,可以直接取用)偏好设置为如下图所示,以方便其中的图片管理,以免以md形式传给其他人后图片无法查看:

在这里插入图片描述

更改主题:软件中点击help中的Custom themes,跳到文档中,有安装指南以及主题链接http://theme.typora.io,将新主题文件中的文件夹与.css文件复制到自己的主题文件夹即可。如下所示打开自己的主题文件夹:

在这里插入图片描述

*右键新建文档

1、找到主目录(~)下的模板文件夹

2、在该目录下打开终端,输入<code>sudo gedit 新建文本文档.txt,然后保存关闭文件

3、会在模板文件夹中出现一个我们创建的文本文件,这就是系统中文本文件的模板

*使用clash

1、下载Clash.for.Windows-0.20.39-x64-linux.tar.gz压缩包(已备份,版本不同也行)

2、解压后,转到该文件夹目录下,在终端执行./cfw

3、按照常规方式导入节点

4、电脑设置代理如下:

在这里插入图片描述

5、如果使用firefox, 记得在网络设置中勾选使用网络代理

在这里插入图片描述

*Ubuntu系统彻底删除

一、把开机启动项设为默认Windows启动

我们安装双系统后,一般会在开机后显示Ubuntu、Ubuntu高级选项、win11这样的启动项选择界面,如果不选择,默认进入Ubuntu。现在我们要把win11移动到最上面实现开机默认启动。

开机之后出现图标,立马按F2进入BIOS界面(不同电脑进入BIOS的快捷键不同,具体可以搜索),然后进入【BOOT】选项,发现EFI中Ubuntu在win11前面,调整顺序后按F10保存后退出。

二、删除分区相应文件

在Windows下,右键Windows图标打开<code>磁盘管理,删除当时分配给Ubuntu的分区,删除所有相关卷,这里对应/、/home、/boot、swap共有四个分区。

三、删除Ubuntu启动项引导

删除了Ubuntu系统所有分区后,Windows的EFI分区里仍然会有Ubuntu系统的引导项,我们第一步是将它隐藏了,是为了后面重启不会跳出检测磁盘的蓝色信息,但是还没有删除。不删除它的话开机更改启动顺序时Ubuntu系统将仍然存在。

在删除前建议先在开机时按F2进入Bios设置,将Windows系统排在Ubuntu前,否则可能会导致无限重启(System Reset)。

1、win+R打开命令行,输入以下命令

diskpart

list disk

2、选择Windows的安装磁盘,我这里是磁盘0,然后查看该磁盘的分区信息

select disk 0

list partition

3、确定Windows的EFI分区,一般是200多M(我的为260M),我这里是分区1,然后为它分配盘符。

盘符不可与已有盘符重复,比如你电脑已有CDE盘,那么就分配26个字母中排在E后面的字母F、G、H等等,最好隔几个字母,防止你插上U盘和驱动器。

select partition 1

assign letter=J

4、此时,Win+E 打开此电脑,就会有刚刚分配的盘符J

5、由于权限不够,不能直接打开该磁盘,可通过记事本间接打开。在Windows附件中,用管理员权限运行记事本。

6、打开记事本后,左上角【文件】——>【打开】,选择刚刚新增的J盘,会看到里面有个EFI文件夹

7、进入EFI文件夹,删除Ubuntu文件夹

在这里插入图片描述

8、返回刚刚的命令行,删除刚刚分配的盘符。可以看到又回归原来状态

<code>remove letter=J

至此,Ubuntu卸载完成,大家可以开机享受Windows的快乐了!


Debug

命令行输入nvidia-settings打开英伟达显卡管理器时,报错如下:

(nvidia-settings:4044): GLib-GObject-CRITICAL **: 14:45:19.634: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

ERROR: nvidia-settings could not find the registry key file or the X server is

​ not accessible. This file should have been installed along with this

​ driver at /usr/share/nvidia/nvidia-application-profiles-key-documentation.

​ The application profiles will continue to work, but values cannot be

​ prepopulated or validated, and will not be listed in the help text.

​ Please see the README for possible values and descriptions.

** Message: 14:45:19.678: PRIME: Requires offloading

** Message: 14:45:19.678: PRIME: is it supported? yes

** Message: 14:45:19.696: PRIME: Usage: /usr/bin/prime-select nvidia|intel|on-demand|query

** Message: 14:45:19.696: PRIME: on-demand mode: "1"

** Message: 14:45:19.696: PRIME: is "on-demand" mode supported? yes

以下解决办法只能解决ERROR后的部分,上面的failed错误暂时没法解决。

①查看下载了英伟达哪个版本的文件

weaki@weaki-Legion-Y7000P-IRH8:~$ cd /usr/share/nvidia

weaki@weaki-Legion-Y7000P-IRH8:/usr/share/nvidia$ ls -la

total 131480

drwxr-xr-x 2 root root 4096 Feb 14 18:45 .

drwxr-xr-x 264 root root 12288 Feb 14 21:06 ..

-rw-r--r-- 1 root root 7321 Dec 28 23:48 nvidia-application-profiles-535.154.05-key-documentation

-rw-r--r-- 1 root root 16566 Dec 28 23:48 nvidia-application-profiles-535.154.05-rc

lrwxrwxrwx 1 root root 56 Feb 14 14:58 nvidia-application-profiles-key-documentation -> nvidia-application-profiles-535.154.05-key-documentation

-rw-r--r-- 1 root root 134586888 Dec 28 23:25 nvoptix.bin

②注意安装的注册表键文件。它的名称将以一些数字结尾,后跟"key-documentation"

③创建一个到实际键的符号链接。命令格式为 ln -s 。例如,在我的系统上,可以这样做:

$ sudo ln -s nvidia-application-profiles-535.154.05-key-documentation nvidia-application-profiles-key-documentation


Shortcut Command

实时查看syslog日志:tail -f /var/log/syslog

显示关于 NVIDIA 显卡的信息:lspci|grep Nvidia & nvidia-smi

Ctrl + Shift + C/V :在命令行中复制粘贴

Alt + PrtSc : 截屏当前活动窗口(截屏时记得检查Esc上的灯是否已关闭,按Esc+Fn切换)

Shift + PrtSc : 自定义区域截屏(截屏后的图均保存在Pictures目录中)

Ctrl+Alt+T : 打开命令行

鸣谢

本文章引用了如下作者的图片或教程:

CSDN @振华OPPO @Meruz @赖涤生



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。