[TOC]
很多人会在安装的阶段出现各种问题,为了节约时间,本文将解决问题的方案罗列出来。
排除是iso、u盘、usb插口问题后:
在引导阶段,出现菜单,按e进入编辑引导菜单,在linux
开始的一行后面,如果没有“--” ,就输入空格,nomodeset
。这种方法叫做修改内核引导参数,每个参数是前后有空格的字符串。其中“--”代表参数输入完毕,因此必须在“--”之前输入参数。
nomodeset参数是修改显卡显示模式的,提高兼容性。还有一组参数:acpi_osi=! acpi_osi="Windows 2009" acpi_os_name="Windows 2009"
是修改bios兼容性,让deepin仿冒windows的代码。也可以试一下。
修改完毕按f10执行引导菜单。注意这个修改不会保存,下次重启就复原了。一般这样修改之后就能正常安装了。
可能有用的参数组合:
nomodeset
改变显示模式acpi_osi=! acpi_osi="Windows 2009" acpi_os_name="Windows 2009"
仿冒win7acpi=off
关闭acpi,解决部分acpi报错acpi_backlight=vendor
修改屏幕背光模式noresume
关闭休眠启动3
进入命令行rdblacklist=nouveau
禁用nouveau内核模块(nvidia显卡的第三方开源驱动)linux的硬盘分区知识点:
linux没有c、d盘这种称呼,磁盘设备本身是一个文件,如/dev/sda 这种形式,分区1是/dev/sda1,分区2是/dev/sda2这种形式。而设备是通过挂载到一个目录来实现读写的。linux的目录根是唯一的,即/ 。在/之下的boot文件夹路径就是/boot。但是有一部分文件夹的名字是约定俗成的,它负责特定的任务。
如果将分区1挂载到/,就表示将系统整体安装到分区1。 把分区2挂载到/home,就是表示/home目录的内容就是分区2的内容。比如分区2里面有 a ,b,c目录,那么访问他们的路径就是/home/a ,/home/b, /home/c 。通过挂载这种手段,linux的目录结构可以变得很灵活,也不需要c:,d:,e:这种表示方式,因为分区挂载在哪个目录就是那个目录下的内容呗。
分区的文件是通过文件系统来管理的,ext4一般是默认的文件系统,也支持windows下的fat和ntfs文件系统。文件系统对用户来说是隐藏在背后的数据组织形式,而用户看到的一样是目录或者文件,没有太大分别。当然不同文件系统特性会有差别。
linux安装建议如下分区:
挂载点 | 建议大小 | 说明 |
---|---|---|
/ | 30~50G | 根,不指定挂载点的数据都安装在这个目录的挂载分区 |
/home | 剩余全部 | 家目录,即用户数据存放的位置 |
交换分区(无) | 和内存一样大 | 交换分区是休眠和内存数据交换的地方,不需要挂载点 |
/boot/efi | 100M以上 | efi是uefi引导分区,deepin的安装程序显示efi,不要设置挂载点,会自动设置 |
有些主板bios设置ssd默认接口为raid,若安装deepin检测不到硬盘,需自行修改bios的raid切换为achi。切换后win10无法正常进入,需要启动安全模式进入系统,系统会自动修复更换模式,重启正常。这样之后可以安装deepin了。
linux的兼容性问题由三个组件构成,内核,固件,驱动,如果这三个的组合不适配你的电脑硬件,就会有兼容性问题。
兼容性问题要解决是没有明确的组合的,如果有,官方为何不直接构建了呢?但是思路是有的,那就是尝试不同的组合,升级内核,升级固件,升级驱动。一般推荐比较新,但不是最新的版本,这时候兼容性是最广的。
固件firmware,是硬件执行的一段固有代码,位于/lib/firmware目录下,这个东西也是可以更新的。https://mirrors.tuna.tsinghua.edu.cn/kernel/firmware/ 下载最新日期,解压然后进入目录make install
即可。
wget https://mirrors.tuna.tsinghua.edu.cn/kernel/firmware/linux-firmware-20190815.tar.xz #下载
tar -xavf linux-firmware-20190815.tar.xz #解压
cd linux-firmware-20190815 #进入目录
make check #检查固件情况
sudo make install #安装
#安装完毕顺便更新一下内核启动映像
sudo update-initramfs -uk all
内核推荐5.1.x版本。deepin天天用群(7343311)里面可以下载,或者下载ubuntu提供的编译好的内核也行。自己编译要半天,比较耗时间,操作也有一定难度。
驱动问题一般出在显卡驱动上。
笔记本用户一般情况是一个intel集成显卡,一个nvidia独立显卡。其中nvidia显卡的linux驱动是不开源的,所以默认使用的是第三方开发的开源驱动nouveau 。因为是第三方,自然不太了解nvidia硬件,导致各种各样的问题,性能也很差。第二个问题是:nvidia 的linux官方驱动也是不完美的,它不支持Optimus 双显卡切换技术,导致独立显卡一直使用状态,因而发热耗电。
大黄蜂驱动bumblebee 就试图解决这个问题(它基于官方驱动)。
因此摆在用户面前的选择就有三款nvidia显卡驱动:
加上intel自身的官方开源驱动:
amd 的官方开源驱动:
注意这些并不是全部,只是常见的而已。可见显卡驱动是挺麻烦的问题。不过幸运的是,一般出问题只会出现在nvidia显卡。如果是intel和amd的驱动,只要升级好内核和固件,一般都没有问题,因为开源驱动是已经集成在内核里面的。
如果你问,我都进不去系统,怎么升级内核?如果你能提出这个问题,说明还是很认真思考的。事实上,驱动会有一个安全模式,让你以最低限度使用显卡,保证可以进入系统。
一般显卡驱动会支持kernel mode setting内核模式设置(KMS)。这个模式保证内核在引导阶段就充分利用显卡资源。因为我们现在驱动都是有问题的,引导阶段就启用强大的功能,那么自然就无法正常进入系统了。所以要关闭这个模式。
也就是安装阶段提到的nomodeset
参数的作用。也可以分别针对不同驱动关闭:
如果情况非常糟糕,可以考虑进入命令行模式,同时把驱动禁用了: 3 rdblacklist=nouveau
。不过进入这个模式必须要对linux命令有一定了解,否则也无法进一步更新驱动。新手到这局面一般可以选择退坑,或者用虚拟机使用deepin。
进入系统后,开始菜单有个”显卡驱动管理器“的应用,可以使用一下,上面就会列出各种驱动组合让你切换选择。但是deepin对这个强大的功能并没有做得太完美。往往是切换失败的。
可以考虑更换仓库源来提高切换成功率,可优先考虑清华大学镜像源。(自行百度,因为文章已经太长)
注意:大黄蜂方案是intel 核显 + nvidia独立显卡的
# 安装过程如果提示nouveau正在运行,需要重启
# 重启完毕进不去就设置内核参数nomodeset进去
# 或者nvidia.modeset=0 (如果可以,优先这个)
sudo apt install bumblebee-nvidia primus #安装大黄蜂驱动
sudo apt install nvidia-driver #安装nvidia官方驱动包
#有问题可以先删除再次安装
sudo apt purge nvidia. #删除官方驱动包,注意后面的.号。
#如果你安装的是另外下载的.run文件驱动包,用以下命令卸载
sudo nvidia-uninstall
#有人表示,安装过程卡住,重启再次安装就成功
sudo apt purge bumblebee-nvidia primus #删除大黄蜂
#如果你不知道自己是什么显卡,现在用的是什么驱动
lspci -nnk |egrep -i "vga | 3d | display" -A3
#或者
lspci -nnk #这个会列出所有设备,自己找关键字判断
#大黄蜂安装完毕,默认使用集成显卡,通过命令使用独立显卡:
primusrun xxx #调用独立显卡运行xxx程序
#安装测试工具
sudo apt install mesa-utils
#显示当前使用的显卡信息
glxinfo #集成显卡
primusrun glxinfo #独立显卡
#测试性能,按esc退出
vblank_mode=0 glxgears -geometry 1920x1080 #集成显卡,对比数据:amd 最低端集成显卡730帧
vblank_mode=0 primusrun glxgears -geometry 1920x1080 #独立显卡
最新nvidia官方驱动支持双显卡切换技术,高端玩家可以参考:
如果你有很必要的理由要用某个win app,最简单有效的方案还是虚拟机。只要你不嫌麻烦。记住wine不是万能的。很多时候的结论是:要么学习linux中的替代品,要么放弃。
linux比win更加推荐cli程序(相当于win中的命令行),因为linux这种小工具很多,而且很实用并且很通用。学过一次就可以在任意linux发行版中重复运用这些知识,哪怕图形界面完全不一样。不要试图去避开这些工具,虽然不那么直观,但使用起来其实很简单而且有效率。当你系统有问题的时候,图形界面往往是无法完成修复任务的。
linux是自由的,体现在你可以定制它,但自由是有门槛的,你需要掌握相关知识。大部分设置都可以通过配置文件来修改,也就是需要的技能只是文本编辑即可,不需要你拥有太高的技能,不需要你学会黑客手段,但也是要求你拥有相关的知识点才行。总的来说,linux的自由取决于你的知识积累,取决于你是否热衷于使用搜索引擎,取决于你是否热爱学习。
不同发行版之间的区别:很多刚入门的人会很热衷于尝试不同的发行版,这是可以理解并且是有益的。但发行版不同点主要体现在它采用了怎样的包管理(应用管理)方案,而共通点在于它采用类似的linux内核,固件,驱动,文件系统,文件组织,甚至配置方法。因此大部分的linux知识和技能都是通用的。只要你越深入越能发现不同发行版之间的共通之处。如果有些人很固执的认为某个发行版天下第一,如果不是开玩笑,那么可能就是偏激了点。linux的开源性,导致了不可能出现一个特别优秀的版本,因为如果某个方案很好,其他发行版自然会学习。如果不采用,说明发行版认为自己的方案也有独到之处。况且,你甚至可以自己定制一个让自己满意的发行版。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。