一次重装 Ubuntu 系统经验操作记录

一次重装 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 发生这件事情的时候感觉慌死了,后来感觉其实也还好!

如果需要画面的参考:使用U盘安装Ubuntu(Linux系统)保姆教程_ubuntu u盘安装教程-CSDN博客

重装系统非常简单,只要几个步骤就可以讲清楚了。

  1. 下载 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 版本的话能够给你图形化界面,比较友好。

  1. 下载好镜像以后,就要把镜像刷入 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 就行了,等待软件出现就绪那么说明启动盘就制作好了。

  1. 给旧机器刷入新系统

这里刷入系统,原来和 Windows 刷机其实都一样,都是进入BIOS 选择 U 盘 启动项,然后直接启动就好了。

用这里刷的U 盘启动会让你选择:

复制代码
1. try or install Ubuntu
2. Graphic Ubuntu...
...
# 这里意会一下,大概这么个模样

我直接选择的是2

然后后面就有图形化引导的界面了。

进入图形化引导界面以后,按照要求选择相应配置就好了。

不过有一个需要注意的,那就是自己选择分盘的时候,要看清楚,一不小心的话可能所有数据都没有了,我选择的时候因为只有一个。

分区会分为两个:

bash 复制代码
/boot/efi ===> 用来存放系统启动相关内容
/ ===> 系统盘

一般设置了这两个也就够了。

另外就是设置用户名,以及其他的了,直接无脑装就完事儿了。

  1. 设计 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
  1. 装好以后可能没有 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 提供了 快速 安装通道

  1. 更新系统并安装工具

    bash 复制代码
    sudo apt update
    sudo apt install -y ubuntu-drivers-common
  2. 禁用开源驱动 nouveau

    bash 复制代码
    sudo 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
  3. 重启系统

    bash 复制代码
    sudo reboot
  4. 安装推荐驱动(二选一)

    • 自动安装(推荐):

      bash 复制代码
      sudo ubuntu-drivers autoinstall
    • 或手动指定推荐版本:

      bash 复制代码
      sudo apt install nvidia-driver-595-open
  5. 再次重启

    bash 复制代码
    sudo reboot
  6. 验证安装

    bash 复制代码
    nvidia-smi

映射磁盘

因为我以前的数据全部通过挂载的硬盘存储,所以即使出现了重装系统,该有的数据(除非在系统盘上)还是在的
Linux 已有数据硬盘更换挂载路径、配置开机自动挂载完整实操记录

一、环境与磁盘现状

工作站磁盘分区均已提前完成格式化 ext4,分区内存在业务数据,不可重新格式化销毁数据,磁盘列表:

  1. /dev/sda1 14.6T ext4
  2. /dev/sdb1 14.6T 未格式化 / 未挂载
  3. /dev/sdc1 9.1T ext4
  4. /dev/sdd1 14.6T ext4
  5. /dev/sde1 14.6T 未格式化 / 未挂载
  6. /dev/sdf1 1.8T 未格式化 / 未挂载
  7. /dev/sdg1 14.6T 未格式化 / 未挂载
  8. /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 实现开机自动挂载

  1. 编辑开机挂载配置文件

    sudo nano /etc/fstab

  2. 文件末尾追加三条挂载规则,参数兼顾大容量磁盘性能与稳定性:

    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 备份与开机磁盘自检,避免数据盘开机长时间扫描。
  1. 保存退出配置文件。

六、校验 fstab 配置,防止开机故障

复制代码
sudo mount -a

无报错代表挂载配置语法、UUID、路径全部合法,重启系统可自动挂载磁盘。执行lsblk -f可查看最终挂载结果。

七、挂载 /home 目录后衍生问题处理

问题 1:系统原生 /home 用户目录消失

原因:大容量硬盘 sdc1 直接挂载覆盖系统盘自带 /home 目录,系统原有用户文件夹被隐藏。

两种解决方案:

  1. 分离挂载(推荐)

    卸载数据盘

    复制代码
    sudo umount /home

    修改 fstab 将 sdc1 挂载点改为

    复制代码
    /data_home

    系统原生 /home 保留用户目录,数据盘单独存放业务文件。

  2. 完整迁移用户数据

    临时挂载 sdc1 至临时目录,将系统 /home 下全部用户目录复制至数据盘,再将 sdc1 挂载回 /home。

问题 2:/home 内已有用户文件夹,批量创建用户复用现有目录

场景:/home 下已存在 caoqibin、jiangwei 等用户目录,目录自带原有 UID/GID 权限,直接创建用户会出现权限不匹配、目录覆盖告警。

  1. 批量创建用户脚本核心逻辑

    复制代码
    useradd -M

    创建用户,

    复制代码
    -M

    参数禁止自动生成家目录,规避目录已存在报错;设置长度≥8 位带特殊字符密码规避系统密码强度校验;创建完成递归修改目录归属为对应用户。

  2. 单用户操作流程

    创建用户不生成家目录

    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 、 感谢原来的系统和数据分盘机制,后面运行命令一定一定要特别小心

相关推荐
hkj880811 小时前
Linux 总线-设备-驱动(Bus-Device-Driver)完整协作原理
linux·运维·microsoft
早点睡啊Y12 小时前
深入学 LangChain 官方文档(一):总览、安装与快速开始
linux·服务器·langchain
国产化创客13 小时前
Kindle完整越狱改造:从闲置泡面盖到Linux开发与智能家居终端
linux·运维·物联网·嵌入式·智能家居·智能硬件
qetfw13 小时前
CentOS 7 搭建 MariaDB 数据库服务
linux·数据库·centos·mariadb
皮卡狮14 小时前
进程的地址空间
linux
Darkwanderor14 小时前
动、静态库相关内容的详细介绍
linux·c语言·开发语言·c++
一叶龙洲14 小时前
wsl中安装了图形ubuntu24.04,在语言中安装了中文,但是系统里还是英文
ubuntu
极客先躯15 小时前
高级java每日一道面试题-2026年04月18日-实战篇[Docker]-如何处理金融行业的时序数据容器化?
java·运维·docker·容器·金融·时序数据·高级面试
杨了个杨898216 小时前
docker的网络模式
网络·docker·容器
2401_8582861116 小时前
OS79.【Linux】POSIX信号量
linux·运维·服务器