为了开发linux下的软件,花了半天的时间安装了双系统,记录一下过程方便以后重装/帮同学装。
安装尽量使用官网教程。
一、提前准备
1.确保硬盘有足够空余空间
2.关闭windows快速启动(会影响开机进入多系统引导) windows 10如何关闭快速启动-百度经验
3.查好自己的电脑品牌怎么进入BIOS界面(一般是重启时F12),然后重启进入BIOS界面,关闭secure boot(安全启动)
二、准备启动U盘&安装ubuntu
(基于ubuntu官网教程Install Ubuntu desktop | Ubuntu的建议)
1.空U盘,大小正常就行。
2.进入ubuntu官网,下载desktop版(LTS更稳定),建议点“其他下载” ,比如torrent迅雷链接,不然很慢。
3. balenaEtcher 下载,用于烧录U盘(别的据说不好用)
4. 烧录U盘,重启后会自动通过U盘启动 (若没有,则在BIOS中把启动优先级最高项设置为U盘启动)
5. 安装过程,基本跟着ubuntu官网的教程走下去就行。其中:
语言选English;
Installation Setup: 按官网说的 勾选other options;
Drive Management:官网是装纯ubuntu 而我们是装双系统,会提示“检测到已经有Windows”(如果已经是双系统,在重装/升级linux,则是“检测到windows和ubuntu”),选择“并存”的那项(重装选覆盖原linux)。之后会有磁盘分配,选自动分配就行(不影响windows,它会自动选择一段空的磁盘区间。我的硬盘空余空间足够分配100G给Ubuntu,不用管网上那些磁盘分区教程,自动就完事了)
4. 安装完重启,会让拔掉U盘,然后进入grub界面,选ubuntu。(如果要进windows就选带windows那个)
三、新ubuntu的“装修”
1. 更新
Ctrl+Alt+T 打开终端,先做基本更新(必须),下三行命令以后时不时可以做一下。
sudo apt update
sudo apt upgrade
sudo apt autoremove
2. 语言设置
打开settings,region&language,选汉语,然后重启。重启后会询问“是否要把目录改名为中文”,当然选“No”。再点开区域与语言,点击管理已安装的语言,这时会自动补全语言包。
3. 取消sudo密码
sudo visudo
找到 %sudo ALL=(ALL:ALL) ALL 这⼀⾏修改为 %sudo ALL=(ALL:ALL) NOPASSWD:ALL
Ctrl+O写入,回车以确认,Ctrl+X离开。之后执行sudo就不用密码了。
4. 安装gedit(代替垃圾vim)
sudo apt-get install gedit
5.换源+配置源
备份sources.list,并添加国内源(如清华源)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
sudo gedit /etc/apt/sources.list
在清华大学开源软件镜像站中选择对应ubuntu版本(jammy对应22.04),复制时不用预发布那部分:
# 默认注释了源码镜像以提高 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 https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
(可看到,每行末尾都已经启用了main、restricted、universe、multiverse库)
如有需要,可以将universe和multiverse仓库加上:
sudo add-apt-repository universe
sudo add-apt-repository multiverse
保存退出后,更新软件包缓存:
sudo apt update
sudo apt upgrade
sudo apt autoremove
如果update时,出现了密钥问题(用阿里源时遇到过),如:
由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
则复制后面的密钥,执行:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 3B4FE6ACC0B21F32
注:有的教程通过“软件与更新”界面选择最优源,但似乎它只是一次性针对包缓存进行更新,而不改变sources.list,所以不如上述方法。
6. 安装小企鹅输入法Fcitx5
参考自:Ubuntu22.04安装配置Fcitx5中文输入法(详细)_fcitx5 ubuntu_muzing_的博客-CSDN博客
sudo apt install fcitx5 \
fcitx5-chinese-addons \
fcitx5-frontend-gtk3 fcitx5-frontend-gtk2 \
fcitx5-frontend-qt5 kde-config-fcitx5
在 GitHub 打开维基百科中文拼音词库的 Releases 界面,下载最新版的 .dict
文件
wget https://github.com/felixonmars/fcitx5-pinyin-zhwiki/releases/download/0.2.4/zhwiki-20220416.dict
sudo mv zhwiki-20220416.dict /usr/share/fcitx5/pinyin/
配置默认输入法
im-config
设置环境变量,将以下配置项写入配置文件中(对所有用户生效):
sudo gedit /etc/profile
在文件末尾写入:
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
保存退出。这时可在应用程序中找到小企鹅Fcitx5,启动,就可以输入拼音了。基本不用再设置,默认Ctrl+空格切换出输入法。
为了开机自动启动Fcitx5:
sudo apt install gnome-tweaks
在应用程序中找到“启动应用程序”,点+号添加Fcitx5,执行程序位于/usr/bin/fcitx5
7. 双系统时间问题
如果切回windows,会发现windows的时间不对了,解决方法是:
管理员身份打开power shell,执行:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
8. 安装nvidia驱动和cuda(个人需求)
nvidia驱动安装成功的目标:终端输入nvidia-smi,输出正常。
cuda安装成功的目标:终端输入nvcc -V,输出正常。
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0
8.1 nvidia driver
参考:IT little white的博文
nvidia官网下载,找到对应驱动版本,下载.run文件,记住下载位置。其中,可能需要查看显卡型号的命令:
lspci | grep -i vga
这里看nvidia相关的。有的人看到nvidia corporation XXXX,看不出是什么型号,可以去PCI devices输入后面的编号查询。
卸载已有的nvidia驱动(没有就无所谓),装依赖,禁用nouveau驱动,
sudo apt-get purge nvidia*
sudo apt-get install gcc g++ make
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在打开的文件末尾加上:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
保存,更新,重启:
sudo update-initramfs -u
sudo reboot
重启后验证下(若该命令无输出则成功禁用):
lsmod | grep nouveau
安装lightdm,然后关闭图形界面:(安装lightdm时 点确定,选择时选lightdm)
sudo apt-get install lightdm
sudo telinit 3
此时进入命令行模式,安装nvidia驱动(目录和.run文件名 自己改):
cd Downloads/
sudo chmod +x NVIDIA-Linux-x86_64-430.26.run
sudo bash NVIDIA-Linux-x86_64-430.26.run -no-opengl-files -no-x-check
之后的弹窗选择:不安装32位兼容,不更新X配置。成功后输入reboot重启。
此时,终端输入 nvidia-smi 应生效。
8.2 cuda
官网下载
挺慢的,下载好以后,配置环境变量:
sudo gedit ~/.bashrc
末尾加上:
export CUDA_HOME=/usr/local/cuda
export PATH=${CUDA_HOME}/bin:${PATH}
export CPATH=${CUDA_HOME}/targets/x86_64-linux/include:$CPATH
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:$LD_LIBRARY_PATH
更新环境变量:
source ~/.bashrc
此时,终端输入 nvcc -V 应生效。
9. 调整开机引导的优先级(以及设置grub)
目的:默认启动windows,而不是默认ubuntu。
首先得明白,在BIOS界面已经将ubuntu的引导设为优先了(装好双系统后,从ubuntu的引导启动,才能进入选择“ubuntu”、“windows”、“ubuntu高级选项”的界面,如果BIOS里优先是启动windows的引导,那就直接进windows了,不会有选择界面)
现在进入ubuntu系统:
sudo gedit /etc/default/grub
修改其中GRUB_DEFAULT,值是0指默认选第一行,改成选择界面windows对应的行就好。(我看到的是windows在第3行,所以改为2)然后保存、更新:
sudo update-grub
重启。