最近需要在新机器上安装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/
- 选择便携版本,无需安装直接运行
制作步骤
- 插入U盘并运行Rufus
- 配置Rufus参数:
- 「设备」:选择你的U盘
- 「选择」:点击选择Ubuntu ISO文件
- 其他设置保持默认即可
- 开始制作:
- 点击「开始」按钮
- 出现提示时选择默认选项并确定
常见问题解决
问题:“错误:无法分配驱动器号” 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盘启动:
- 重启电脑
- 进入BIOS/UEFI设置:
- Dell:按F12或Del键
- HP:按F9或Esc键
- 联想:按F12或F1键
- 华硕:按F8或Del键
- 设置U盘为首选启动项
- 保存设置并重启
启动后会看到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模型
挂载点 | 大小 | 类型 | 备注 |
---|---|---|---|
/ | 100GB | ext4 | 系统根目录 |
/home | 剩余空间 | ext4 | 用户数据目录 |
swap | 内存2倍(4G/8G) | swap | 交换分区,休眠功能需要 |
/boot/efi | 512MB | EFI | UEFI启动必需 |
推荐分区方案(1TB硬盘)
适用场景: 需要使用Docker、MySQL、AI开发环境
挂载点 | 大小 | 类型 | 详细说明 |
---|---|---|---|
/ | 100GB | ext4 | 系统根目录,存放系统核心文件 |
/home | 剩余空间 | ext4 | 用户数据,conda环境会存在这里 |
swap | 8G | swap | 交换分区,支持休眠功能 |
/boot/efi | 1.13GB | FAT32 | UEFI启动分区,自动生成 |
/var | 300GB | ext4 | Docker容器、MySQL数据存储 |
/usr | 250GB | ext4 | 发行版程序安装位置 |
分区操作详解
分区工具使用:
- 删除分区: 点击左下角的"-"号
- 添加分区: 点击左下角的"+"号
- 还原操作: 右下角"Revert"一键还原所有更改
重要提醒:
- Windows双系统: 如果需要保留Windows系统,不要删除Windows相关分区
- 纯Linux系统: 如果不需要Windows,可以直接删除所有Windows分区
- EFI分区:
/boot/efi
会自动挂载到"Device for boot loader installation"选中的磁盘
分区原理解释
为什么要单独分区?
- 根目录(/): 相当于Windows的C盘,存放系统核心文件
- 用户目录(/home): 相当于Windows的用户文件夹,存放个人数据
- 程序目录(/usr): 发行版提供的程序会下载到这里
- 变量目录(/var): Docker容器存储在
/var/lib/docker
,MySQL数据在/var/lib/mysql
- 交换分区(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
操作流程:
- 输入当前用户密码
- 输入新的root密码
- 确认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/efi | EFI启动 | 512MB-1GB | UEFI系统必需,存放EFI启动加载程序 |
/home | 用户目录 | 剩余空间 | 用户个人文件、配置、桌面环境设置 |
/usr | 程序目录 | 50-250GB | 用户安装的程序、库文件、文档 |
/var | 变量数据 | 50-300GB | 日志文件、数据库、缓存、临时文件 |
/tmp | 临时文件 | 5-20GB | 临时文件存储,重启后清空 |
/opt | 可选程序 | 20-100GB | 第三方软件安装目录 |
swap | 交换分区 | 内存1-2倍 | 虚拟内存,内存不足时使用 |
文件系统类型详解
类型 | 特点 | 适用场景 | 性能特征 |
---|---|---|---|
ext4 | 稳定可靠 | 通用场景 | 平衡的读写性能,支持大文件 |
xfs | 高性能 | 大文件处理 | 优秀的大文件和并发性能 |
btrfs | 现代特性 | 高级用户 | 支持快照、压缩、RAID |
FAT32 | 兼容性好 | EFI分区 | 简单,兼容性强,文件大小限制4GB |
NTFS | Windows兼容 | 双系统 | 与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/nosuid | SUID权限 | suid允许SUID程序,nosuid禁止 |
dev/nodev | 设备文件 | dev允许设备文件,nodev禁止 |
分区策略建议
系统规模 | 挂载点 | 大小 | 文件系统 | 说明 |
---|---|---|---|---|
小型系统(<500GB) | / | 50GB | ext4 | 根分区 |
/home | 剩余 | ext4 | 用户数据 | |
swap | 4-8GB | swap | 交换分区 | |
/boot/efi | 512MB | FAT32 | EFI启动分区 | |
中型系统(500GB-1TB) | / | 100GB | ext4 | 根分区 |
/home | 剩余 | ext4 | 用户数据 | |
/var | 100GB | ext4 | 变量数据 | |
swap | 8GB | swap | 交换分区 | |
/boot/efi | 1GB | FAT32 | EFI启动分区 | |
大型系统(>1TB) | / | 100GB | ext4 | 根分区 |
/home | 剩余 | ext4 | 用户数据 | |
/usr | 200GB | ext4 | 用户程序 | |
/var | 300GB | ext4 | 变量数据 | |
/tmp | 20GB | ext4 | 临时文件 | |
swap | 16GB | swap | 交换分区 | |
/boot/efi | 1GB | FAT32 | EFI启动分区 |
特殊目录说明
目录类型 | 目录路径 | 功能说明 |
---|---|---|
系统关键目录 | /bin | 基本命令程序(ls、cp、mv等) |
/sbin | 系统管理命令(mount、umount等) | |
/etc | 系统配置文件 | |
/lib | 系统库文件 | |
/dev | 设备文件 | |
/proc | 进程信息虚拟文件系统 | |
/sys | 系统信息虚拟文件系统 | |
用户相关目录 | /home/username | 用户主目录 |
/root | root用户主目录 | |
/usr/local | 本地安装的程序 | |
/opt | 可选软件包 | |
数据存储目录 | /var/log | 系统日志文件 |
/var/lib | 程序数据文件 | |
/var/cache | 程序缓存文件 | |
/tmp | 临时文件 |
挂载点选择原则
原则类型 | 具体要求 | 实施建议 |
---|---|---|
安全性考虑 | 数据隔离 | 将用户数据(/home)与系统文件(/)分离 |
系统保护 | 临时文件(/tmp)单独分区防止填满系统 | |
性能优化 | 存储匹配 | 频繁读写的目录(/var)使用高速存储 |
容量匹配 | 大文件存储(/home)可使用大容量存储 | |
维护便利 | 数据保护 | 系统升级时保留用户数据 |
备份恢复 | 便于备份和恢复 | |
故障隔离 | 问题隔离和故障排除 | |
容量规划 | 需求分析 | 根据实际使用需求分配空间 |
扩展预留 | 预留一定的扩展空间 | |
增长预测 | 考虑未来的增长需求 |