一、情况
电脑是电脑换了新主板,主板MSIB450M MORTAR MAX 。之所以选这个主板是因为这个主板可以支持两张显卡,实验室一张显卡16G的4080显卡,一张是24G的3090显卡,并且需要装最新的ubuntu系统
二、遇到的问题
2.1 关于硬件问题
初次安装操作系统之后,进去之后安装anaconda之后。使用命令查看两张显卡情况
bash
watch -n -1 nividia-smi
此时发现只出现一张4080显卡,此时我初步判断认为可能是3090显卡出问题了。于是我将3090和4080显卡的位置对调。发现第一个卡槽可以使用,第二个卡槽没办法使用
2.1.1 解决办法
针对微星 B450M 迫击炮(Mortar)主板无法识别第二张显卡的问题,通常不是因为 BIOS 中有一个
简单的"开启/关闭"开关,而是涉及硬件通道冲突或特定的 BIOS 设置。
以下是导致第二个卡槽无法使用的最常见原因及解决办法
1、 原理 :这块主板的第二个显卡插槽(PCI E4,即底部的长插槽)与第二个M.2硬盘接口
(M2 2,即靠近底部的那个 M.2接口)是共享带宽的。
2、冲突 :如果在 M2_2插槽上安装了 SSD 固态硬盘,第二个显卡插槽(PCIE4)会自动失效
(被禁用)。
3、操作步骤:
- 首先重启电脑,按住
del键,进入BIOS,简易模式下,点击存储,发现确实显示M2_2上有一块1TB固态硬盘

- 按
F7进入高级模式,点击Settings(设置)>Advanced(高级) - 找到
PCl Subsystem Settings(PCl 子系统设置) - 将
Above 4G Decoding(大于 4G 地址空间解码)设置为[Enabled]
以上设置好之后,我就拆开电脑,将压在第二个卡槽上的显卡拔出,就在第二张显卡的边上有一个1TB固态硬盘,拆下丢掉
进入系统后,使用命令发现两张显卡都可以使用
2.2 关于电脑电脑硬盘挂载问题
首先电脑有一张额外的2TB固态,我希望这个固态挂在指定目录,这样的话大家根据指定目录就可以上传代码
2.2.1 挂载步骤
1、先查看2TB固态挂载名称,找到了/dev/sda1
bash
df -h
2、 卸载当前挂载。因为 /dev/sda1 已经被系统自动挂载了,我们需要先卸载它。
bash
sudo umount /dev/sda1
3、 创建新的挂载点
bash
sudo mkdir /student
4、 获取硬盘 UUID(重要) Linux 中使用 UUID 挂载比使用 /dev/sda1 更稳定(防止插拔设备后盘符变动)。 UUID 很可能就是那个长字符串 107fXXXX-7XX-4XX-aXX-fcfXXXXXXX
bash
sudo blkid /dev/sda1
输出 UUID="xxxx-xxxx..." 部分
5、修改 /etc/fstab 实现开机自动挂载
bash
sudo nano /etc/fstab
在文件末尾添加下面这一行(请将 UUID 替换为刚才确认的真实 UUID):
bash
UUID=107fXXXX-7XX-4XX-aXX-fcfXXXXXXX /student ext4 defaults 0 2
注意:这里按 Ctrl+O -> 写入,然后按 Ctrl+M -> 追加内容进去 最后按 Ctrl+X 退出。
6、立即挂载并测试
bash
sudo mount -a
如果没有报错,说明配置正确。你可以再次输入df -h,应该能看到 /dev/sda1 挂载到了 /student
2.2.2 关于加载问题
因为2TB固态硬盘比较大,电脑重启的时候可能会进入Emergency Mode(紧急模式)
- 主要原因可能是系统在启动过程中可能因为"硬盘响应慢"或者"UUID有细微错误",导致系统找不到那个 /student 对应的硬盘,为了保护数据,它就卡在这里不让你进系统了。
- 以上第五步步骤需要添加
nofail参数
bash
UUID=107fXXXX-7XX-4XX-aXX-fcfXXXXXXX /student ext4 defaults,nofail 0 2
- 立即激活并验证
bash
sudo mount -a
2.3 关于软链接问题
首先实验室有4个组,每组都有很多学生需要上传代码。为了保证数据安全,工整等问题,我创建4个组。每个组代码放在创建在/home/下,只是用户自己操作的时候只需要把代码放到/student中
2.3.1 创建4个账户并赋予权限
1、创建账户
bash
sudo adduser stu1
sudo adduser stu2
sudo adduser stu3
sudo adduser stu4
2、确保 /student 基础权限正确
bash
sudo chown root:root /student
sudo chmod 755 /student
3、为 stu1 配置
bash
# 1. 在大硬盘创建目录
sudo mkdir /student/stu1
# 2. 设置权限:只有 stu1 能看能写 (700)
sudo chown stu1:stu1 /student/stu1
sudo chmod 700 /student/stu1
# 3. 在用户家目录创建一个叫 "workspace" 的链接指向大硬盘
sudo ln -s /student/stu1 /home/stu1/workspace
# 4. 修正链接的归属权
sudo chown -h stu1:stu1 /home/stu1/workspace
4、为 stu2 配置
bash
sudo mkdir /student/stu2
sudo chown stu2:stu2 /student/stu2
sudo chmod 700 /student/stu2
sudo ln -s /student/stu2 /home/stu2/workspace
sudo chown -h stu2:stu2 /home/stu2/workspace
5、为 stu3 配置
bash
sudo mkdir /student/stu3
sudo chown stu3:stu3 /student/stu3
sudo chmod 700 /student/stu3
sudo ln -s /student/stu3 /home/stu3/workspace
sudo chown -h stu3:stu3 /home/stu3/workspace
6、 为 stu4 配置
bash
sudo mkdir /student/stu4
sudo chown stu4:stu4 /student/stu4
sudo chmod 700 /student/stu4
sudo ln -s /student/stu4 /home/stu4/workspace
sudo chown -h stu4:stu4 /home/stu4/workspace
7、锁定 /home 隐私(重要)
bash
sudo chmod 700 /home/stu1
sudo chmod 700 /home/stu2
sudo chmod 700 /home/stu3
sudo chmod 700 /home/stu4
2.4 配置conda环境
先使用root账户下载一个anaconda的sh安装包
1、 安装anaconda
bash
# 1. 运行安装脚本
# -b 代表 batch 模式(自动同意协议,不问问题)
# -p 代表指定安装路径
sudo bash Anaconda3-2025.06-0-Linux-x86_64.sh -b -p /opt/anaconda3
2、配置公共权限
bash
# 赋予所有用户读取和执行权限
sudo chmod -R o+rX /opt/anaconda3
3、配置环境变量
bash
sudo nano /etc/profile.d/conda.sh
4、写入内容
bash
export PATH=/opt/anaconda3/bin:$PATH
同理Ctrl + O -> Ctrl + M 追加内容。按 Ctrl + X 退出
5、验证配置
bash
source /etc/profile.d/conda.sh
6、测试conda环境
bash
conda --version
存在一个比较重要的问题
一般情况下,安装好conda之后,账户前面会出现(base)
关于没有 "(base)":是因为 Linux 的环境变量只在 "开启新终端"或"用户登录"的一瞬间加载。你当前的黑底白字窗口是配置之前打开的,它还不知道配置变了
2.4.1 没有base情况下写配置文件
bash
# 1. 覆盖写入新的配置脚本
echo '. /opt/anaconda3/etc/profile.d/conda.sh' | sudo tee /etc/profile.d/conda.sh
# 2. 追加一行自动激活 base 的命令
echo 'conda activate base' | sudo tee -a /etc/profile.d/conda.sh
2.4.2 切换用户执行命令
此时每个用户没有执行配置,所以还是没有(base)窗口
- 先切换各自用户
bash
su - stu1
su - stu2
su - stu3
su - stu4
- 强制初始化 Conda(每切换一个用户执行以下命令)
bash
/opt/anaconda3/bin/conda init bash
source ~/.bashrc