当前位置: 首页 > news >正文

Ubuntu 24.04 LTS 桌面版安装问题记录

最近需要在新机器上安装Ubuntu 24.04 LTS桌面版,整个过程虽然相对简单,但还是遇到了一些小问题。从下载安装介质、制作启动盘、硬盘分区到后续的系统配置,每一步都有一些需要注意的地方。这里把整个安装过程详细记录下来,希望能帮到有同样需求的朋友。

这次安装涉及到的技术点包括:UEFI启动、硬盘分区策略、文件系统选择、挂载点配置、SSH服务配置等,基本涵盖了Linux系统安装和初始配置的各个方面。

第1步:下载 Ubuntu 24.04 LTS 安装介质

首先需要下载Ubuntu 24.04 LTS的ISO镜像文件。虽然标题写的是22.04,但实际我们要安装的是24.04版本。

官方下载地址:

  • Ubuntu官网:https://releases.ubuntu.com/24.04/

国内镜像源(推荐,下载速度更快):

  • 中科大源:https://mirrors.ustc.edu.cn/ubuntu-releases/24.04/
  • 阿里云源:http://mirrors.aliyun.com/ubuntu-releases/24.04/
  • 华为云源:https://mirrors.huaweicloud.com/ubuntu-releases/24.04/
  • 网易源:http://mirrors.163.com/ubuntu-releases/24.04/

下载建议:

  • 选择ubuntu-24.04-desktop-amd64.iso文件(约4.7GB)
  • 建议使用国内镜像源,下载速度会快很多
  • 下载完成后可以验证SHA256校验和确保文件完整性

参考链接: https://www.cnblogs.com/profesor/p/18225489

第2步:制作 Ubuntu 启动盘

有了ISO文件后,需要制作一个可启动的U盘。这里推荐使用Rufus工具,简单易用且成功率高。

准备工作

所需材料:

  • 8GB以上的U盘(建议16GB以上)
  • Rufus工具
  • Ubuntu 24.04 ISO文件

下载Rufus:

  • 官方地址:https://rufus.ie/zh/
  • 选择便携版本,无需安装直接运行

制作步骤

  1. 插入U盘并运行Rufus
  2. 配置Rufus参数:
    • 「设备」:选择你的U盘
    • 「选择」:点击选择Ubuntu ISO文件
    • 其他设置保持默认即可

在这里插入图片描述

  1. 开始制作:
    • 点击「开始」按钮
    • 出现提示时选择默认选项并确定

常见问题解决

问题:“错误:无法分配驱动器号” Error: Unable to assign a drive letter" when trying to use Rufus to write the Qubes ISO to a USB drive

Rufus在制作启动盘时需要格式化U盘,如果ISO文件本身就在这个U盘中,会导致文件被占用无法正常操作。

解决方案:

将ISO文件移动到桌面或其他位置然后重新在Rufus中选择该文件

设置启动项

制作完成后,需要设置电脑从U盘启动:

  1. 重启电脑
  2. 进入BIOS/UEFI设置:
    • Dell:按F12或Del键
    • HP:按F9或Esc键
    • 联想:按F12或F1键
    • 华硕:按F8或Del键
  3. 设置U盘为首选启动项
  4. 保存设置并重启

启动后会看到Ubuntu安装界面,选择"Try or Install Ubuntu"即可开始安装。

在这里插入图片描述

参考链接:

  • https://www.sysgeek.cn/make-ubuntu-usb-flash-drive/
  • https://www.reddit.com/r/Qubes/comments/18zb9gf/error_unable_to_assign_a_drive_letter_when_trying/
  • https://www.sysgeek.cn/install-ubuntu-22-04-lts/
  • https://www.sysgeek.cn/install-ubuntu-24-04-lts/
  • https://www.sysgeek.cn/make-windows-usb-flash-drive/

第3步:Ubuntu 安装向导硬盘分区

硬盘分区是安装过程中最关键的一步,合理的分区方案能让系统运行更稳定,后续维护也更方便。

分区策略选择

在安装向导中,建议选择"手动分区"(Something else),这样可以完全控制分区方案。

在这里插入图片描述

基础分区方案

适用场景: 软件包较少,不使用Docker/MySQL,不跑AI模型

挂载点大小类型备注
/100GBext4系统根目录
/home剩余空间ext4用户数据目录
swap内存2倍(4G/8G)swap交换分区,休眠功能需要
/boot/efi512MBEFIUEFI启动必需

推荐分区方案(1TB硬盘)

适用场景: 需要使用Docker、MySQL、AI开发环境

挂载点大小类型详细说明
/100GBext4系统根目录,存放系统核心文件
/home剩余空间ext4用户数据,conda环境会存在这里
swap8Gswap交换分区,支持休眠功能
/boot/efi1.13GBFAT32UEFI启动分区,自动生成
/var300GBext4Docker容器、MySQL数据存储
/usr250GBext4发行版程序安装位置

分区操作详解

分区工具使用:

  • 删除分区: 点击左下角的"-"号
  • 添加分区: 点击左下角的"+"号
  • 还原操作: 右下角"Revert"一键还原所有更改

重要提醒:

  1. Windows双系统: 如果需要保留Windows系统,不要删除Windows相关分区
  2. 纯Linux系统: 如果不需要Windows,可以直接删除所有Windows分区
  3. EFI分区: /boot/efi会自动挂载到"Device for boot loader installation"选中的磁盘

分区原理解释

为什么要单独分区?

  1. 根目录(/): 相当于Windows的C盘,存放系统核心文件
  2. 用户目录(/home): 相当于Windows的用户文件夹,存放个人数据
  3. 程序目录(/usr): 发行版提供的程序会下载到这里
  4. 变量目录(/var): Docker容器存储在/var/lib/docker,MySQL数据在/var/lib/mysql
  5. 交换分区(swap): 当内存不足时作为虚拟内存使用

分区的好处:

  • 系统重装时可以保留用户数据
  • 避免某个目录占满整个硬盘
  • 提高系统稳定性和安全性
  • 便于备份和维护

在这里插入图片描述

完成分区配置后,点击"Install Now"开始安装。

在这里插入图片描述

参考链接:

  • https://blog.csdn.net/Sophia_box/article/details/146524565
  • https://zhidao.baidu.com/question/821993383690596852.html

第4步:挂载额外磁盘

安装完成后,如果有额外的硬盘需要挂载,Ubuntu会自动识别但需要手动配置挂载点。

自动识别与手动挂载

Ubuntu系统会自动识别插入的硬盘,并临时挂载到某个节点,我们只需要更改挂载点到合适的位置即可。

在这里插入图片描述

挂载操作步骤

步骤1:查看磁盘信息

# 查看所有磁盘分区信息
sudo fdisk -l

命令解释:

  • fdisk:磁盘分区管理工具
  • -l:列出所有磁盘和分区信息
  • sudo:以管理员权限执行

步骤2:卸载当前挂载

# 卸载当前挂载目录(假设设备为/dev/sda1)
sudo umount /dev/sda1

命令解释:

  • umount:卸载文件系统命令
  • /dev/sda1:要卸载的设备名称

步骤3:删除原挂载目录

# 删除原来的挂载目录
sudo rmdir /data

命令解释:

  • rmdir:删除空目录命令
  • /data:要删除的目录路径

步骤4:创建新挂载目录

# 在/home下创建新的挂载目录
sudo mkdir /home/datadisk

命令解释:

  • mkdir:创建目录命令
  • /home/datadisk:新的挂载点路径

步骤5:挂载分区

# 将设备挂载到新目录
sudo mount /dev/sda1 /home/datadisk

命令解释:

  • mount:挂载文件系统命令
  • /dev/sda1:要挂载的设备
  • /home/datadisk:挂载点目录

步骤6:验证挂载

# 检测挂载配置是否正确
sudo mount -a# 查看当前挂载情况
sudo df -h

命令解释:

  • mount -a:根据/etc/fstab挂载所有文件系统
  • df -h:以人类可读格式显示磁盘使用情况
  • -h:human-readable,以KB、MB、GB等单位显示

永久挂载配置

为了让系统重启后自动挂载,需要编辑/etc/fstab文件:

# 编辑fstab文件
sudo nano /etc/fstab# 添加类似以下内容:
/dev/sda1 /home/datadisk ext4 defaults 0 2

fstab字段说明:

  • 第1字段:设备名称或UUID
  • 第2字段:挂载点
  • 第3字段:文件系统类型
  • 第4字段:挂载选项
  • 第5字段:dump备份标志(0=不备份,1=备份)
  • 第6字段:fsck检查顺序(0=不检查,1=根分区,2=其他分区)

参考链接: https://blog.csdn.net/SharbbyBai/article/details/143790108

第5步:开启root用户及使用

Ubuntu出于安全考虑,默认禁用了root账户。在某些管理任务中,可能需要启用root用户。

安全性说明

为什么默认禁用root?

  • 减少误操作风险
  • 提高系统安全性
  • 强制使用sudo进行权限管理
  • 便于审计和日志记录

启用root用户

设置root密码:

# 为root用户设置密码
sudo passwd root

操作流程:

  1. 输入当前用户密码
  2. 输入新的root密码
  3. 确认root密码

命令解释:

  • passwd:修改用户密码命令
  • root:指定要修改密码的用户
  • sudo:以管理员权限执行

切换到root用户

# 切换到root用户
su root
# 或者简写为
su -

命令解释:

  • su:switch user,切换用户命令
  • root:目标用户名
  • -:加载目标用户的完整环境

查看密码信息

# 查看root用户的密码加密信息
sudo cat /etc/shadow | grep root

命令解释:

  • cat:显示文件内容
  • /etc/shadow:存储用户密码加密信息的文件
  • grep root:过滤包含"root"的行
  • |:管道符,将前一个命令的输出作为后一个命令的输入

注意事项:

  • 密码以加密形式存储,无法直接获取明文
  • 建议只在必要时使用root用户
  • 完成管理任务后及时退出root用户

参考链接: https://blog.csdn.net/janeqi1987/article/details/106173711

第6步:开启SSH远程登录

SSH(Secure Shell)是Linux系统远程管理的标准协议,配置SSH服务可以实现远程登录和文件传输。

SSH服务安装与配置

步骤1:更新系统软件包

# 更新软件包列表
sudo apt-get update# 升级已安装的软件包
sudo apt-get upgrade

命令解释:

  • apt-get:Debian/Ubuntu的包管理工具
  • update:更新软件包列表,从软件源获取最新的包信息
  • upgrade:升级所有已安装的软件包到最新版本
  • sudo:以管理员权限执行

步骤2:安装SSH服务

# 安装OpenSSH服务器
sudo apt-get install ssh

命令解释:

  • install:安装指定的软件包
  • ssh:SSH服务软件包名称
  • 安装过程中输入"y"确认安装

步骤3:启动SSH服务

# 启动SSH服务
sudo /etc/init.d/ssh start# 或者使用systemctl命令
sudo systemctl start ssh

命令解释:

  • /etc/init.d/ssh:SSH服务的启动脚本
  • start:启动服务
  • systemctl:systemd的服务管理命令

SSH服务管理

常用SSH管理命令:

# 查看SSH服务状态
sudo systemctl status ssh# 停止SSH服务
sudo systemctl stop ssh# 重启SSH服务
sudo systemctl restart ssh# 设置开机自启动
sudo systemctl enable ssh# 禁用开机自启动
sudo systemctl disable ssh

SSH安全配置

编辑SSH配置文件:

# 编辑SSH服务配置
sudo nano /etc/ssh/sshd_config

常用安全配置:

# 修改默认端口(可选)
Port 2222# 禁用root远程登录(推荐)
PermitRootLogin no# 启用密钥认证
PubkeyAuthentication yes# 禁用密码认证(配置密钥后)
PasswordAuthentication no

重新加载配置:

# 重新加载SSH配置
sudo systemctl reload ssh

远程连接测试

从其他机器连接:

# 使用SSH连接(默认端口22)
ssh username@server_ip# 指定端口连接
ssh -p 2222 username@server_ip

查看本机IP地址:

# 查看网络接口信息
ip addr show# 或者使用ifconfig
ifconfig

参考链接: https://blog.csdn.net/m0_58207141/article/details/128283960

附录:Linux文件系统挂载点详解

标准挂载点说明

Linux采用统一的文件系统树结构,所有文件和目录都从根目录(/)开始。理解各个挂载点的作用对于系统管理非常重要。

挂载点用途建议大小详细说明
/根目录20-100GB系统核心文件,包含/bin、/sbin、/etc等重要目录
/boot启动文件500MB-1GB存放内核文件、initrd、GRUB配置等启动相关文件
/boot/efiEFI启动512MB-1GBUEFI系统必需,存放EFI启动加载程序
/home用户目录剩余空间用户个人文件、配置、桌面环境设置
/usr程序目录50-250GB用户安装的程序、库文件、文档
/var变量数据50-300GB日志文件、数据库、缓存、临时文件
/tmp临时文件5-20GB临时文件存储,重启后清空
/opt可选程序20-100GB第三方软件安装目录
swap交换分区内存1-2倍虚拟内存,内存不足时使用

文件系统类型详解

类型特点适用场景性能特征
ext4稳定可靠通用场景平衡的读写性能,支持大文件
xfs高性能大文件处理优秀的大文件和并发性能
btrfs现代特性高级用户支持快照、压缩、RAID
FAT32兼容性好EFI分区简单,兼容性强,文件大小限制4GB
NTFSWindows兼容双系统与Windows系统兼容
swap交换空间虚拟内存专用于内存交换

挂载选项详解

常用挂载选项(/etc/fstab第4字段):

选项作用说明
defaults默认选项包含rw、suid、dev、exec、auto、nouser、async
rw/ro读写/只读rw允许读写,ro只允许读取
auto/noauto自动挂载auto开机自动挂载,noauto需手动挂载
user/nouser用户挂载user允许普通用户挂载,nouser只允许root
exec/noexec执行权限exec允许执行文件,noexec禁止执行
suid/nosuidSUID权限suid允许SUID程序,nosuid禁止
dev/nodev设备文件dev允许设备文件,nodev禁止

分区策略建议

系统规模挂载点大小文件系统说明
小型系统(<500GB)/50GBext4根分区
/home剩余ext4用户数据
swap4-8GBswap交换分区
/boot/efi512MBFAT32EFI启动分区
中型系统(500GB-1TB)/100GBext4根分区
/home剩余ext4用户数据
/var100GBext4变量数据
swap8GBswap交换分区
/boot/efi1GBFAT32EFI启动分区
大型系统(>1TB)/100GBext4根分区
/home剩余ext4用户数据
/usr200GBext4用户程序
/var300GBext4变量数据
/tmp20GBext4临时文件
swap16GBswap交换分区
/boot/efi1GBFAT32EFI启动分区

特殊目录说明

目录类型目录路径功能说明
系统关键目录/bin基本命令程序(ls、cp、mv等)
/sbin系统管理命令(mount、umount等)
/etc系统配置文件
/lib系统库文件
/dev设备文件
/proc进程信息虚拟文件系统
/sys系统信息虚拟文件系统
用户相关目录/home/username用户主目录
/rootroot用户主目录
/usr/local本地安装的程序
/opt可选软件包
数据存储目录/var/log系统日志文件
/var/lib程序数据文件
/var/cache程序缓存文件
/tmp临时文件

挂载点选择原则

原则类型具体要求实施建议
安全性考虑数据隔离将用户数据(/home)与系统文件(/)分离
系统保护临时文件(/tmp)单独分区防止填满系统
性能优化存储匹配频繁读写的目录(/var)使用高速存储
容量匹配大文件存储(/home)可使用大容量存储
维护便利数据保护系统升级时保留用户数据
备份恢复便于备份和恢复
故障隔离问题隔离和故障排除
容量规划需求分析根据实际使用需求分配空间
扩展预留预留一定的扩展空间
增长预测考虑未来的增长需求
http://www.dtcms.com/a/351595.html

相关文章:

  • 2025年8月27日,七月初五,生活指南
  • Python包管理与安装机制详解
  • pytorch-利用letnet5框架深度学习手写数字识别
  • 漫谈《数字图像处理》之霍夫变换发展历程与演进脉络
  • 类似ant design和element ui的八大Vue的UI框架详解优雅草卓伊凡
  • (vue)el-progress左侧添加标签/名称
  • C++学习(4)模板与STL
  • 虚幻5引擎:我们是在创造世界,还是重新发现世界?
  • 8.26 review
  • 【大前端】React统计所有网络请求的成功率、失败率以及统一入口处理失败页面
  • Ubuntu22.04安装OBS
  • 嵌入式系统学习Day23(进程)
  • 2025.8.26总结
  • 【系统架构设计(二)】系统工程与信息系统基础中:信息系统基础
  • 数据结构青铜到王者第四话---LinkedList与链表(1)
  • 【SystemUI】新增实体键盘快捷键说明
  • 【SystemUI】锁屏点击通知显示的解锁界面和通知重叠
  • [Sync_ai_vid] 唇形同步推理流程 | Whisper架构
  • 技术分享︱国产化突破:开源MDO工具链在新一代神威超算上的安装与调试
  • DevExpress WinForms中文教程:Data Grid - Excel样式的自定义过滤器对话框
  • 在Excel和WPS表格中输入分数的两种方法
  • 自然处理语言NLP: 基于双分支 LSTM 的酒店评论情感分析模型构建与实现
  • PostgreSQL快速入门
  • 会议室预约小程序主要功能及预约审批流程
  • Java大厂面试全解析:从Spring Boot到微服务架构实战
  • Hadoop MapReduce 任务/输入数据 分片 InputSplit 解析
  • ProfiNet转CAN/CANopen网关技术详解-三格电子
  • uniapp uview吸顶u-sticky 无效怎么办?
  • 利用Certbot生成ssl证书配置到nginx
  • Android之穿山甲广告接入