admin 管理员组

文章数量: 887019

目录

第一章 安装WIN10&Ubuntu双系统二三事


文章目录

  • 目录
  • 前言
  • 一、个人电脑上安装Linux环境
  • 二、Ubuntu的U盘引导盘制作
  • 三、Ubuntu磁盘分区
  • 四、安装Ubuntu系统
  • 五、双系统碰到的问题
  • 总结


前言

本文主要就个人电脑安装双系统碰到的问题加以总结,以及记录实践中碰到的问题和有效的解决方案,不涉及服务器相关事宜。


提示:以下是本篇文章正文内容,下面案例可供参考

一、个人电脑上安装Linux环境

一般有两种方法,一是使用虚拟机,一是安装双系统。使用虚拟机的好处是占用资源少,相对简单方便,不会碰到实装时出现的一些兼容性问题,使用户的注意力能更好地集中于使用linux本身,并且可以创建多个linux环境从而可以使用集群。而安装双系统属于实装,会消耗更多硬件资源,会碰到很多兼容性方面的问题,锻炼使用者在实践中发现问题和解决问题的能力,美中不足的是,这种方法无法创建更多linux环境,因而不能使用集群操作。

我的选择是,先采用安装双系统的方式搭建linux环境,因工作原因,对linux系统本身相对熟悉,但对安装和维护linux系统尚无经验,安装双系统正好可以弥补该项不足。以后再安装虚拟机,仅仅为了玩转虚拟机。

参考文章:https://blog.csdn/Lee_01/article/details/82973662?spm=1001.2014.3001.5506

二、Ubuntu的U盘引导盘制作

最开始采用以下方式做了引导盘,第一次进入系统是没问题的。 该处使用的url网络请求的数据。

参考文章:Windows + Linux 双系统的安装_linux windows双系统_—叶丶知秋的博客-CSDN博客

后面WIN10系统更新之后Ubuntu出现了不兼容的问题,主要是和NVadia的显卡不兼容,直接导致系统进不去,使用引导盘重装都不好使。查阅资料,网上有人说可能是引导盘的问题,于是尝试不换Ubuntu官网上下载的ISO镜像文件,仅仅修改制作引导盘配置来解决问题,顺便排除是否是镜像文件的问题,成功解决系统重装的问题。

 参考文章:https://blog.csdn/inthat/article/details/128270661?spm=1001.2014.3001.5506

三、Ubuntu磁盘分区

家用电脑只需要分根目录、/home、/boot和/swap,其中根目录和/home目录一定要大,第一次装只给根目录开了10G,随便装两个软件就报空间不足,休眠之后无法进系统,报ACPI错误(可能是根目录和swap空间不够导致的),网上的装机教程要看发布时间,比较早的电脑内存少,磁盘空间也少,已经不适合目前的情况了,磁盘空间要根据自己电脑的实际情况酌情扩大。

第二次装Ubuntu,开辟空间容量如下:

根目录:30G;/home:30G;/boot:1G;/swap:20G(内存16G,ubuntu官方推荐)

参考文章:安装Ubuntu Linux系统时硬盘分区最合理的方法_ubuntu磁盘分配_最小森林的博客-CSDN博客

 

实践结果:

安装完整个系统(典型安装),装了输入法和杀毒软件,系统自带python、浏览器和一些小软件,根目录下的文件(除了/home和/media这些)有18G大小。/swap相当于虚拟内存不可见,/media下面可以看到外接的盘,比如双系统的WINDOWS下挂的几个盘以及插入的U盘。后面Ubuntu系统产生的log这些也会放到根目录下,所以根目录开30G还是有道理的。Tar之后,11G左右,除去不该tar的几个目录。

Swap这次还是开的20G,怕出幺蛾子,下次再重装ubuntu系统,改成4G试试。

Swap开20G后,Ubuntu休眠之后依然无法唤醒,该问题还没有解决。

四、安装Ubuntu系统

磁盘分区结束,就可以装Ubuntu系统了。

参考文章:Windows + Linux 双系统的安装_linux windows双系统_—叶丶知秋的博客-CSDN博客

由于之前的磁盘分区不合理,根目录只给了10G导致系统用过几次之后就进不去了。重新装系统的时候碰到了ACPI BIOS ERROR(bug):Could not resolve symbo的问题,U盘启动卡在此处黑屏,无法重装系统。规避方案如下参考文章:

U盘启动装Ubuntu系统时启动不了,出现黑屏问题_ubuntu启动盘无法启动_奕星星奕的博客-CSDN博客

系统装好后发现,ACPI BIOS ERROR依然存在,只是规避之后不影响开机了。继续寻找解决方案,有人说是BIOS不能很好支持ACPI功能导致的,解决办法是在BIOS中关闭ACPI功能,但进入BIOS之后发现该功能没有开放给用户,如果要关闭该功能要刷BIOS,刷BIOS有风险,且该问题暂未造成实质性影响,所以暂时挂起该问题。

五、双系统碰到的问题

  • 问题一:Ubuntu登录界面变色 

和显示相关的一般是显卡的问题,问题解决方案基本如下面的文章所示。

参考文章:Ubuntu 14.04安装Nvidia显卡驱动以及查看显卡驱动_ubuntu 14 设备驱动 位置_John9ML的博客-CSDN博客

我安装的Ubuntu是最新版本20.4.1,并且各人的电脑配置不太一样,所以碰到的问题也不太一样。我的方法和碰到的问题及解决方案如下:

最重要的写在最前面,关闭电脑的secure boot,这个太关键了,这个不干掉,我后面试了网上能找到的各种方法,显卡驱动一概装不上。开机F2进BIOS设置,disable掉这个选项。

  1. 下载显卡驱动

    Official Drivers | NVIDIA
    NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA
    上述两个链接,前一个是英文的,后一个是中文的,按照自己的显卡型号选择匹配的驱动下载,我的显卡驱动有400多兆,非常大。
     
  2. 修改驱动文件权限

    sudo chmod a+x xxx.run

    其中,xxx.run是下载好的显卡驱动,要修改成可执行文件。

  3. 屏蔽开源驱动
     

    sudo gedit /etc/modprobe.d/blacklist.conf

    gedit是打开linux的图形界面下自带编辑器的命令。如果自己已经安装了vim或者其图形界面形式gvim,可以用这些已安装的编辑器打开。

    在blacklist.conf文件最后加上:

    blacklist nouveau

    linux系统一般默认安装的是开源的nouveau显卡驱动,它与nvidia显卡驱动产生冲突,所以安装nvidia显卡驱动时需要先屏蔽nouveau显卡驱动。命令blacklist后面的nouveau是参数。下面这篇文章写得不错,原理讲得很清楚。

    linux中blacklist.conf解读_滴水穿石孙杰的技术博客_51CTO博客

  4. 卸载默认驱动
     

    sudo apt-get --purge remove xserver-xorg-video-nouveau

    删除nouveau相关的包,--purge表示包括其配置文件等。

    关于linux的X服务,下面会有涉及。

  5. 重启

    sudo reboot
     
  6. 清除NVidia相关软件及其配置文件
     

    sudo apt-get --purge remove nvidia-*

    事实上,我的电脑里原始状态下与nvidia相关的软件一个也没有。

  7. 关闭图形环境
     

    sudo init 3

    这一步操作完,电脑从Ubuntu的图形界面退出,进入命令行操作。

    sudo /etc/init.d/lightdm stop

    这条命令关掉了lightdm桌面,进入DOS界面。

    lightdm全称Light Display Manager,是轻量的Linux桌面显示管理器,可以理解为一个支持各种开发界面的通用性平台,通过合适的插件支持所有显示管理器,是界面无关性的,并且没有传统Ubuntu的GNOME桌面标准的GDM那样冗余,代码复杂度低,历史遗留问题少,速度快。

    再按Ctrl+Alt+F3进入tty,这时候需要用户名和密码登录。

    TTY是由虚拟控制台、串口以及伪终端设备组成的终端设备,全称TeleTYpe。

  8. 安装驱动
     

    sudo su

    cd /home/sally            每个人不一样,如果已经在工作目录下了,就不需要这一步了

    sudo ./Downloads/NVIDIA-Linux-xxxxx.run -no-x-check -no-nouveau-check -no-opengl-files

    我的驱动放在Downloads下面,所以在这里找。

    -no-x-check:安装驱动时关闭X服务,本地安装,不需要与其他机器交互
    -no-nouveau-check:安装驱动时禁用nouveau
    -no-opengl-files:只安装驱动文件,不安装OpenGL文件,否则会会出现循环登陆的问题

    安装过程中,碰到了如下问题:

    (1)没有安装gcc
    sudo apt-get update
    sudo apt-get install gcc


    (2)没有安装make
    sudo apt-get update
    sudo apt-get install make


    (3)没有关闭电脑的secure boot功能
    由于安装之前没有关闭secure boot,尝试了各种选项驱动都没有安装上,强调必须关闭该功能。
    如果没有关闭此功能,会碰到如下问题:
    a. The target kernel has CONFIG_MODULE_SIG set, which means that it supports cryptographic signatures on kernel modules. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key. This system also has UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?
    Sign the kernel module or Install without signing
    这两个选项,无论选哪个选项,最终驱动都会安装不成功。解决办法只有一个,那就是关闭电脑的secure boot功能,关闭之后再安装,就没有这个问题了。

    b. Would you like to sign the NVIDIA kernel module with an existing key pair, or would you like to generate a new one?
    这个问题也是一样,关闭secure boot功能就没有了,否则选哪个都不对。

    c. 有个依赖性安装如下,虽然我的电脑是64bit的,但还是需要安装。
    Install NVIDIA’s 32-bit compatibility libraries? 要选yes

    d. 安装后期还会遇到这个问题:
    Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you restart X? Any pre-existing X configuration file will be backed up. 这个问题要选no
    这样,驱动就能够顺利安装了。
  9. 回到图形界面
     

    安装完之后,据说可以用这行命令回到图形界面。

    sudo /etc/init.d/lightdm stop

    我当时没有尝试,直接reboot了,改天可以尝试以下。

  10. Ubuntu下查看显卡型号和驱动版本
    (1)查看自己GPU的型号

    命令随时可用,无论是否装上了驱动。

    lspci | grep -I nvidia

    lspci命令用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息。现在主流设备如网卡存储等都采用PCI总线。这条命令用于显示和NVIDIA相关的PCI总线及设备信息。

    (2)查看NVIDIA显卡驱动版本
     

    sudo dpkg --list | grep nvidia-*

    如果没有装或者没装上nvidia相关驱动,就不会反馈任何东西。正确安装之后,会反馈驱动版本。

    dpkg命令用于查看软件安装到什么地方。

    (3)查看NVIDIA显卡
     

    nvidia-smi

    如果显卡驱动没有安装好,会反馈NVIDIA-SMI has failed …的信息,就要卸载了重新装。

    解释相关参数含义:

    GPU:本机中的GPU编号

    Name:GPU 类型

    Persistence-M:

    Fan:风扇转速

    Temp:温度,单位摄氏度

    Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能

    Pwr:Usage/Cap:能耗表示

    Bus-Id:涉及GPU总线的相关信息;

    Disp.A:Display Active,表示GPU的显示是否初始化

    Memory-Usage:显存使用率

    Volatile GPU-Util:浮动的GPU利用率

    Uncorr. ECC:关于ECC的东西

    Compute M.:计算模式

    Processes 显示每块GPU上每个进程所使用的显存情况。

    参考资料:

    https://blog.csdn/C_chuxin/article/details/82993350?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167750686916800180616826%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167750686916800180616826&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-82993350-null-null.142^v73^wechat_v2,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=smi&spm=1018.2226.3001.4187

  • 问题二:Ubuntu系统安装完成后,Win10系统无法稳定连接WIFI

我尝试了以下两个帖子的办法。

(1)关掉代理服务器(我尝试后依然无法稳定连接WIFI)

安装linux系统后出现电脑无法使用wifi情况_linux安装完成后无法连接wifi_我的半个苹果的博客-CSDN博客

(2)诊断网络自动修复(只要先启动Ubuntu再重启进入WIN10就无法自动连接WIFI,只能修复之后连接WIFI)

linux刷win10后wifi用不了,win10无线网络不显示怎么办_weixin_39752157的博客-CSDN博客

上述两种方法都尝试了,目前WIN10还是无法稳定连接WIFI,先进入Ubuntu再重启进入WIN10后,总是要手动修复网络,才能连上WIFI。不稳定的问题尚未解决。

  

  • 问题三:Ubuntu系统安装完成后,Win10系统时间时好时坏,有时会慢8小时

   

参考文章:

解决Windows10与Ubuntu16.04双系统时间不一样问题!(亲测,真正的正确方案)_孤旅青山迷情人的博客-CSDN博客

处理之前,我的WIN10时间时好时坏,坏的时候比Ubuntu晚8小时,原因如上述。在WIN10下使用上述帖子的第二种解决办法,问题得以解决。注意两点:

 (1)cmd要用管理员身份打开,否则命令会提示没有权限执行;

 (2)命令里有些字母和空格要注意:字母I和L的小写要分清,根据命令本身含义确定

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

(3)命令执行完成后重启电脑才能生效

另外,我在Ubuntu下尝试了方法一,没效果,初步判断哪个系统出问题,就在哪个系统里解决,我装完双系统是WIN10时间不对,所以就在WIN10里解决。但值得注意的是,上述帖子里的命令,可能是作者在word里面敲的,--被自动更正为破折号了,在Ubuntu下man了命令自己看。正确的命令如下:

timedatectl set-local-rtc 1 --adjust-system-clock

  • 问题四:Ubuntu休眠状态无法唤醒

该问题尚未解决,swap空间已按官方推荐留了20G,有点浪费,但还是无法从休眠状态退出。不影响使用,该问题挂起。原本也不需要休眠模式,改天准备尝试在不影响系统的前提下,缩减swap空间到4G,把休眠模式禁掉。


总结

如果是新手,建议使用虚拟机的方式安装Linux系统,碰到的兼容性问题会少一些,可以更聚焦于Linux系统本身。

本文标签: 二三 双系统 amp Ubuntu