一次重装 Ubuntu 系统经验操作记录
文章目录
- [一次重装 Ubuntu 系统经验操作记录](#一次重装 Ubuntu 系统经验操作记录)
-
- [通过 U 盘 重装 Ubuntu](#通过 U 盘 重装 Ubuntu)
- [重装 Nvidia 驱动](#重装 Nvidia 驱动)
- 映射磁盘
-
- 一、环境与磁盘现状
- [二、前期排查:获取分区文件系统与 UUID](#二、前期排查:获取分区文件系统与 UUID)
-
- [1. 查看全量磁盘分区信息](#1. 查看全量磁盘分区信息)
- [2. 校验分区文件系统完整性(可选)](#2. 校验分区文件系统完整性(可选))
- 三、创建挂载目录
- 四、临时挂载验证数据完整性
- [五、配置 /etc/fstab 实现开机自动挂载](#五、配置 /etc/fstab 实现开机自动挂载)
- [六、校验 fstab 配置,防止开机故障](#六、校验 fstab 配置,防止开机故障)
- [七、挂载 /home 目录后衍生问题处理](#七、挂载 /home 目录后衍生问题处理)
-
- [问题 1:系统原生 /home 用户目录消失](#问题 1:系统原生 /home 用户目录消失)
- [问题 2:/home 内已有用户文件夹,批量创建用户复用现有目录](#问题 2:/home 内已有用户文件夹,批量创建用户复用现有目录)
- 操作红线
- [重装 Docker](#重装 Docker)
-
- [1. 安装 Docker(使用阿里云镜像源)](#1. 安装 Docker(使用阿里云镜像源))
- [2. 配置 Docker 数据目录指向 `/docker_images`](#2. 配置 Docker 数据目录指向
/docker_images) - [3. 允许普通用户免 sudo 运行 Docker](#3. 允许普通用户免 sudo 运行 Docker)
- [4. 验证 Docker 是否正常工作(可选)](#4. 验证 Docker 是否正常工作(可选))
- [5. 安装 NVIDIA Container Toolkit(GPU 支持)](#5. 安装 NVIDIA Container Toolkit(GPU 支持))
- [6. 配置 Docker 使用 NVIDIA 运行时](#6. 配置 Docker 使用 NVIDIA 运行时)
- [7. 测试 GPU 是否被 Docker 识别](#7. 测试 GPU 是否被 Docker 识别)
- 补充说明
通过 U 盘 重装 Ubuntu
以前只用 PE 系统装过 Windows,但是没有装过 Linux 发生这件事情的时候感觉慌死了,后来感觉其实也还好!
重装系统非常简单,只要几个步骤就可以讲清楚了。
- 下载 Ubuntu 系统镜像
这个直接在相应的镜像网站下载就可以了。可以提供清华源的:
网址:Index of /ubuntu-releases/24.04.4/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
网页内容:
html
Index of /ubuntu-releases/24.04.4/
Last Update: 2026-07-15 14:14
File Name ↓ File Size ↓ Date ↓
Parent directory/ - -
netboot/ - 2026-02-10 08:38
FOOTER.html 810 B 2026-02-12 22:46
HEADER.html 5.0 KiB 2026-02-12 22:46
SHA256SUMS 594 B 2026-02-12 22:46
SHA256SUMS.gpg 833 B 2026-02-12 22:46
ubuntu-24.04.3-desktop-amd64.iso 41 B 2025-08-07 18:26
ubuntu-24.04.3-desktop-amd64.iso.torrent 473.2 KiB 2025-08-07 18:28
ubuntu-24.04.3-desktop-amd64.iso.zsync 13.3 MiB 2025-08-07 18:28
ubuntu-24.04.3-desktop-amd64.list 27.6 KiB 2025-08-06 02:22
ubuntu-24.04.3-desktop-amd64.manifest 61.1 KiB 2025-08-06 01:44
ubuntu-24.04.3-live-server-amd64.iso 3.1 GiB 2025-08-06 07:54
ubuntu-24.04.3-live-server-amd64.iso.torrent 246.5 KiB 2025-08-07 18:34
ubuntu-24.04.3-live-server-amd64.iso.zsync 6.2 MiB 2025-08-07 18:34
ubuntu-24.04.3-live-server-amd64.list 19.2 KiB 2025-08-06 07:54
ubuntu-24.04.3-live-server-amd64.manifest 21.2 KiB 2025-08-06 01:19
ubuntu-24.04.3-netboot-amd64.tar.gz 88.2 MiB 2025-08-07 18:32
ubuntu-24.04.3-wsl-amd64.manifest 16.3 KiB 2025-08-06 01:00
ubuntu-24.04.3-wsl-amd64.wsl 361.5 MiB 2025-08-06 01:00
ubuntu-24.04.4-desktop-amd64.iso 6.2 GiB 2026-02-10 09:41
ubuntu-24.04.4-desktop-amd64.iso.torrent 496.2 KiB 2026-02-12 22:44
ubuntu-24.04.4-desktop-amd64.iso.zsync 13.9 MiB 2026-02-12 22:43
ubuntu-24.04.4-desktop-amd64.list 32.0 KiB 2026-02-10 09:41
ubuntu-24.04.4-desktop-amd64.manifest 61.4 KiB 2026-02-10 09:26
ubuntu-24.04.4-live-server-amd64.iso 3.2 GiB 2026-02-10 14:53
ubuntu-24.04.4-live-server-amd64.iso.torrent 254.1 KiB 2026-02-12 22:46
ubuntu-24.04.4-live-server-amd64.iso.zsync 6.3 MiB 2026-02-12 22:46
ubuntu-24.04.4-live-server-amd64.list 19.1 KiB 2026-02-10 14:53
ubuntu-24.04.4-live-server-amd64.manifest 21.4 KiB 2026-02-10 08:42
ubuntu-24.04.4-netboot-amd64.tar.gz 91.9 MiB 2026-02-12 22:45
ubuntu-24.04.4-wsl-amd64.manifest 16.3 KiB 2026-02-10 09:01
ubuntu-24.04.4-wsl-amd64.wsl 373.4 MiB 2026-02-10 09:01
我选择的是: ubuntu-24.04.4-desktop-amd64.iso 6.2 GiB 2026-02-10 09:41
Desktop 版本的话能够给你图形化界面,比较友好。
- 下载好镜像以后,就要把镜像刷入 U 盘,当然这里需要自己准备 U 盘
我使用刷镜像的软件是 Rufus , 为什么选择 Rufus 呢,我感觉:
- 轻量
- 便捷
- 简易
下载地址:Rufus - 轻松创建 USB 启动盘
html
本页下方列出了一部分 Rufus 所支持的 ISO 列表。 (1)
下载
最新版本:
链接 类型 平台 大小 日期
rufus-4.15.exe 标准 Windows x64 1.9 MB 2026.06.30
rufus-4.15p.exe 便携版 Windows x64 1.9 MB 2026.06.30
rufus-4.15_x86.exe 标准 Windows x86 1.8 MB 2026.06.30
rufus-4.15_arm64.exe 标准 Windows ARM64 5.2 MB 2026.06.30
直接点击:rufus-4.15.exe 下载即可。
下载好了以后,选择好目的驱动盘,以及镜像,然后一直 ok 就行了,等待软件出现就绪那么说明启动盘就制作好了。
- 给旧机器刷入新系统
这里刷入系统,原来和 Windows 刷机其实都一样,都是进入BIOS 选择 U 盘 启动项,然后直接启动就好了。
用这里刷的U 盘启动会让你选择:
1. try or install Ubuntu
2. Graphic Ubuntu...
...
# 这里意会一下,大概这么个模样
我直接选择的是2
然后后面就有图形化引导的界面了。
进入图形化引导界面以后,按照要求选择相应配置就好了。
不过有一个需要注意的,那就是自己选择分盘的时候,要看清楚,一不小心的话可能所有数据都没有了,我选择的时候因为只有一个。
分区会分为两个:
bash
/boot/efi ===> 用来存放系统启动相关内容
/ ===> 系统盘
一般设置了这两个也就够了。
另外就是设置用户名,以及其他的了,直接无脑装就完事儿了。
- 设计
apt镜像源
方便快速下载软件
1. 查看版本代号:lsb_release -cs
x@C621E-SAGE-Series:/home/sherry$ lsb_release -cs
No LSB modules are available.
noble
2. 备份源:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
3. 清空写入阿里源(替换下方 noble 为自己代号)
sudo cat > /etc/apt/sources.list <<EOF
deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
EOF
- 装好以后可能没有 ssh-server
需要自己手动安装:
bash
步骤 1:安装 SSH 服务端(openssh‑server)
sudo apt update
sudo apt install openssh-server -y
步骤 2:启动服务,并设置开机自启
# 启动+开机自启
sudo systemctl enable --now ssh
# 查看状态,看到 active (running) 代表启动成功
sudo systemctl status ssh
重装 Nvidia 驱动
这个竟然异常的快, Ubuntu 提供了 快速 安装通道
-
更新系统并安装工具
bashsudo apt update sudo apt install -y ubuntu-drivers-common -
禁用开源驱动 nouveau
bashsudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf" sudo update-initramfs -u -
重启系统
bashsudo reboot -
安装推荐驱动(二选一)
-
自动安装(推荐):
bashsudo ubuntu-drivers autoinstall -
或手动指定推荐版本:
bashsudo apt install nvidia-driver-595-open
-
-
再次重启
bashsudo reboot -
验证安装
bashnvidia-smi
映射磁盘
因为我以前的数据全部通过挂载的硬盘存储,所以即使出现了重装系统,该有的数据(除非在系统盘上)还是在的
Linux 已有数据硬盘更换挂载路径、配置开机自动挂载完整实操记录
一、环境与磁盘现状
工作站磁盘分区均已提前完成格式化 ext4,分区内存在业务数据,不可重新格式化销毁数据,磁盘列表:
- /dev/sda1 14.6T ext4
- /dev/sdb1 14.6T 未格式化 / 未挂载
- /dev/sdc1 9.1T ext4
- /dev/sdd1 14.6T ext4
- /dev/sde1 14.6T 未格式化 / 未挂载
- /dev/sdf1 1.8T 未格式化 / 未挂载
- /dev/sdg1 14.6T 未格式化 / 未挂载
- /dev/sdh1 14.6T 未格式化 / 未挂载
挂载规划:
-
/dev/sda1 挂载至 /docker_images
-
/dev/sdc1 挂载至 /home
-
/dev/sdd1 挂载至 /home_bk
其余磁盘分区暂不挂载,保留原始数据不操作。
二、前期排查:获取分区文件系统与 UUID
1. 查看全量磁盘分区信息
lsblk -f
通过该命令可直接读取已格式化 ext4 分区的 UUID、文件系统类型,无需执行 blkid 单独查询。本次查询结果确认 sda1、sdc1、sdd1 均为 ext4 并携带独立 UUID。
2. 校验分区文件系统完整性(可选)
针对 lsblk 输出提示存在文件系统异常的分区,执行只读检测,不修改磁盘数据:
sudo e2fsck -f -n /dev/sdc1
参数-n代表仅检查、不修复、不改动分区内任何文件。
三、创建挂载目录
新建三个目标挂载文件夹:
sudo mkdir -p /docker_images /home /home_bk
四、临时挂载验证数据完整性
使用 UUID 临时挂载,不写入开机配置,验证文件可正常访问:
sudo mount UUID=sda1的UUID /docker_images
sudo mount UUID=sdc1的UUID /home
sudo mount UUID=sdd1的UUID /home_bk
执行df -h查看挂载状态,进入对应目录确认原有数据完整可见。
五、配置 /etc/fstab 实现开机自动挂载
-
编辑开机挂载配置文件
sudo nano /etc/fstab
-
文件末尾追加三条挂载规则,参数兼顾大容量磁盘性能与稳定性:
UUID=sda1的UUID /docker_images ext4 defaults,noatime 0 0
UUID=sdc1的UUID /home ext4 defaults,noatime 0 0
UUID=sdd1的UUID /home_bk ext4 defaults,noatime 0 0
参数说明:
- noatime:关闭文件访问时间记录,减少大容量硬盘写入损耗;
- 末尾 0 0:关闭 dump 备份与开机磁盘自检,避免数据盘开机长时间扫描。
- 保存退出配置文件。
六、校验 fstab 配置,防止开机故障
sudo mount -a
无报错代表挂载配置语法、UUID、路径全部合法,重启系统可自动挂载磁盘。执行lsblk -f可查看最终挂载结果。
七、挂载 /home 目录后衍生问题处理
问题 1:系统原生 /home 用户目录消失
原因:大容量硬盘 sdc1 直接挂载覆盖系统盘自带 /home 目录,系统原有用户文件夹被隐藏。
两种解决方案:
-
分离挂载(推荐)
卸载数据盘
sudo umount /home修改 fstab 将 sdc1 挂载点改为
/data_home系统原生 /home 保留用户目录,数据盘单独存放业务文件。
-
完整迁移用户数据
临时挂载 sdc1 至临时目录,将系统 /home 下全部用户目录复制至数据盘,再将 sdc1 挂载回 /home。
问题 2:/home 内已有用户文件夹,批量创建用户复用现有目录
场景:/home 下已存在 caoqibin、jiangwei 等用户目录,目录自带原有 UID/GID 权限,直接创建用户会出现权限不匹配、目录覆盖告警。
-
批量创建用户脚本核心逻辑
useradd -M创建用户,
-M参数禁止自动生成家目录,规避目录已存在报错;设置长度≥8 位带特殊字符密码规避系统密码强度校验;创建完成递归修改目录归属为对应用户。
-
单用户操作流程
创建用户不生成家目录
sudo useradd -M zhupan
设置合规密码
echo "zhupan:User@2026" | sudo chpasswd
赋予已有目录完整读写权限
sudo chown -R zhupan:zhupan /home/zhupan
操作红线
所有分区内部存在业务数据,全程禁止执行格式化命令,以下命令会清空分区全部文件,严禁运行:
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sdc1
mkfs.ext4 /dev/sdd1
重装 Docker
1. 安装 Docker(使用阿里云镜像源)
bash
# 更新系统并安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
# 创建密钥存放目录
sudo install -m 0755 -d /etc/apt/keyrings
# 从阿里云下载 Docker GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 添加阿里云 Docker 软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker 及插件
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2. 配置 Docker 数据目录指向 /docker_images
bash
# 停止 Docker 服务(如果已运行)
sudo systemctl stop docker docker.socket
# 创建配置文件(保留已有配置)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"data-root": "/docker_images"
}
EOF
# 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
3. 允许普通用户免 sudo 运行 Docker
bash
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 刷新组权限(或者重新登录)
newgrp docker
若
newgrp后仍提示权限错误,请完全退出当前终端再重新登录。
4. 验证 Docker 是否正常工作(可选)
bash
docker run --rm hello-world
5. 安装 NVIDIA Container Toolkit(GPU 支持)
bash
# 添加 NVIDIA 官方源和 GPG 密钥
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# 更新并安装
sudo apt update
sudo apt install -y nvidia-container-toolkit
6. 配置 Docker 使用 NVIDIA 运行时
bash
# 自动修改 daemon.json 并生成 CDI 规范
sudo nvidia-ctk runtime configure --runtime=docker
# 重启 Docker 服务
sudo systemctl restart docker
7. 测试 GPU 是否被 Docker 识别
bash
# 运行一个测试容器,查看 GPU 信息
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
如果输出显示 4 张 RTX 4090 的信息,则配置成功。
补充说明
- 若某一步已执行,可跳过。
- 配置
/etc/docker/daemon.json时,若已存在其他配置(如data-root),nvidia-ctk会自动合并,不会丢失原有设置。 - 普通用户加入
docker组后,需重新登录才生效。
如果仍有问题,可查看日志:
bash
sudo journalctl -u docker -n 50
经验: 总得来说,也是走了一遍重装的所有流程,并且所有都弄了,感谢 Docker 、 感谢原来的系统和数据分盘机制,后面运行命令一定一定要特别小心