安装Linux和Windows双系统,以及N卡驱动

一、操作系统环境

  • 电脑型号:拯救者Y9000P

  • 操作系统:Windows11

    • win11关闭快速启动

      控制面板 => 硬件与声音 =>电源选项 => 系统设置

      点击更改当前不可用的设置,取消勾选启用快速启动

  • 安全启动状态(security boot):disabled

    • 开机过程中长按F2,进入BIOS,点击more settings,修改启动状态
  • Linux系统安装在一个新的固态硬盘上,大小2TB

    • windows中搜索计算机系统,点击磁盘管理,可以查看

二、制作启动盘

  • Linux镜像:ubuntu22.04
  • U盘启动工具rufus
    • 分区类型:GPT
    • 目标系统类型:UEFI

三、设置U盘为启动项

同样开机过程中进入BIOS,将U盘的优先级设置高于Windows

四、安装Ubuntu

一些需要注意的关键点

  • 更新和其他软件:选择正常安装,其他都不用选

  • 安装类型:选择第三个其他选项

  • 创建分区

    其中的空间大小是根据我自己的磁盘空间设置的,因为一共有2T,所以设置的偏大

    新分区 空间大小 分区类型 分区位置 用于 挂载点 作用
    根目录 500G 主分区 空间起始位置 ext4日志文件系统 / 根分区 (/): 根分区通常包含操作系统的核心文件和程序,以及用户安装的软件。如果需要按照较多软件,建议分大一点,例如各种IDE,QQ这种软件默认按照到/opt
    系统引导 2G 主分区 空间起始位置 ext4日志文件系统 /boot /boot 分区包含了用于系统引导的文件,在系统启动时被加载到内存中,以启动 Linux 操作系统。
    虚拟内存 8G 逻辑分区 空间起始位置 交换空间 交换空间(也称为交换分区)是用于虚拟内存的一部分,用于当系统内存不足时,将内存中不常用的数据写入交换空间以释放内存
    用户分区 剩余所有空间 主分区 空间起始位置 ext4日志文件系统 /home /home 分区是用于存储用户个人文件和配置文件的地方,如代码,文档等。
  • 选择启动引导器的设备(在分区界面的下方,有一个下拉框)

    选择刚才分出来的系统引导分区,及/boot对应的设备/dev/xxxxx

  • 一直点击下一步

五、ubuntu的一些必要的设置

  • 换源,清华源,参考链接(https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/)

    Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份sudo cp sources.list sources.list.bak,将该文件替换为下面内容,即可使用选择的软件源镜像。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

    deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
    # deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

    # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
    # # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

    因镜像站同步有延迟,可能会导致生产环境系统不能及时检查、安装上最新的安全更新,不建议替换 security 源。

  • 更新

    1
    2
    sudo apt update
    sudo apt upgrade
  • 中文输入法

    试了Googlepinying和搜狗输入法,Linux还是搜狗输入法最好用

    需要安装fcitx,参考搜狗输入法官方提供的安装指南(https://shurufa.sogou.com/linux/guide)

六、安装Nvidia驱动

坑很多

  • 禁用Nouveau驱动

    nouveau驱动是第三方开源驱动,不是NVIDIA官方驱动(NVIDIA不开源)

    编辑文件:

    1
    vim /etc/modprobe.d/blacklist.conf 

    在末尾输入:

    1
    blacklist nouveau
  • 重启电脑

    通过快捷键Ctrl + Alt + F3(或F2,F4)切换到终端

    输入:

    1
    lsmod |grep nouveau

    如果没有任何输出,说明成功禁用了nouveau

  • 下载NVIDIA驱动

    https://www.nvidia.cn/geforce/drivers/

    坑很多,如果安装驱动后重启或关机有问题,多半是驱动问题,只能换一个版本的驱动

    我试了550,535,545,最后550问题最少

  • 安装驱动

    在命令行运行

    1
    sudo bash ./NVIDIA-Linux-x86_64-xxx.xx.run

    报错:

    ERROR: You appear to be running an X server; please exit X before installing. For >further details, please see the section INSTALLING THE NVIDIA DRIVER in the README >available on the Linux driver download page at www.nvidia.com.
    ERROR: Installation has failed. Please see the file ‘/var/log/nvidia-installer.log’ >for details. You may find suggestions on fixing installation problems in the README >available on the Linux driver download page at www.nvidia.com.

    报错提示没有关闭X server

    解决方法(参考链接https://askubuntu.com/questions/149206/how-to-install-nvidia-run)

    概括来说就是:

    • Ctrl + ALT + F3进入命令行

    • 关闭图形界面

      查看gdm状态(在linux中,gdm是图形界面,是管理图形显示服务器并处理图形用户登录的程序;gdm用来替代原来的“X Display Manager”,是完全重写的)

      1
      sudo service gdm status

      关闭gdm

      1
      sudo service gdm stop
    • 重新运行nvidia驱动安装程序

    报错:

    The CC version check failed.

    系统安装的gcc版本和驱动安装需要的gcc版本不匹配

    在ubuntu22.04,默认gcc版本为gcc11,但是,需要gcc12,需要更新gcc版本:

    1. 确认当前 GCC 版本:使用以下命令检查系统上安装的 GCC 版本:

      1
      gcc --version
    2. 添加 Ubuntu 官方仓库:GCC 12 已经在 Ubuntu 21.10 中可用,如果您的系统版本是 21.10 或更高版本,可以跳过这一步。如果您的系统版本低于 21.10,需要添加 Ubuntu 官方仓库。使用以下命令打开 /etc/apt/sources.list 文件:

      由于我的ubuntu版本为22.04,可以省略步骤2

      1
      sudo nano /etc/apt/sources.list

      在文件末尾添加以下行:

      1
      deb http://security.ubuntu.com/ubuntu hirsute-security main universe

      保存并关闭文件。

    3. 更新软件包列表:使用以下命令更新软件包列表:

      1
      2
      sudo apt update
      sudo apt upgrade
    4. 安装 GCC 12:使用以下命令安装 GCC 12:

      1
      sudo apt-get install gcc-12 g++-12
    5. 配置默认 GCC 版本:GCC 12 安装完成后,使用以下命令将其配置为默认编译器:

      1
      sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12

      如果您之前已经安装过其他版本的 GCC,可以使用以下命令切换默认版本:

      1
      sudo update-alternatives --config gcc

      然后输入对应的编号即可切换默认版本。

    6. 确认 GCC 版本:使用以下命令确认 GCC 版本:

      1
      gcc --version

    如果以上步骤顺利完成,您的系统上的 GCC 编译器版本应该已经成功升级到 12 版本。

    完成上述操作后,可以成功安装驱动

  • 命令行输入nvidia -smi,看是否输出相应显卡信息

    如果没有输出,重启电脑

  • 安装驱动后,开机没问题,关机时出现问题:

    左上角一个光标一直闪烁,过了接近2min还不关机

    或者
    ACPI BIOS ERROR(bug):Could not resolve symbol [_TZ.ETMD]

​ 解决:

​ 拯救者有混合输入(Optimus)模式和独显直连模式两种方式,需要切换为独显直连模式

​ 方法:开机过程中按F2进入BIOS,切换为独显模式(在windows系统中切换为独显模式好像没用,要在bios中切换)