【系统安装】从debootstrap手动安装ubuntu系统
·
说明:这里安装的是ubuntu noble 24.04 LTS。作者水平有限,不足之处,敬请指正。
1 启动盘制作
- 登录Ubuntu官方站点(中文)下载
Ubuntu 24.04.3 LTS的iso镜像。 - 用ventoy制作安装盘,并放入上述镜像。
注意:制作安装盘的U盘,需要质量比较好的,否则容易出现坏块,不能引导等各种意外情况。
2 引导进入试用环境
- 通过安装盘进入该系统。
- 在
你想对Ubuntu做什么?这个界面,选择试用Ubuntu。这样就会使用内存中加载的Ubuntu系统。这个驻留在内存中的系统下称试用环境。
注意:这个界面之前的步骤,按照中文用户的习惯选择即可。
3 通过试用环境安装新系统到tty界面
前提和假设:
- 主板引导方式采用的是UEFI,磁盘用的GPT分区模式
- 假设只有一块磁盘为 /dev/sda,且为固态硬盘,全部由用户使用
3.1 创建安装新系统的目标分区(试用环境中操作)
# 1. 查看磁盘情况
lsblk -f
# 2. 对磁盘进行划分,划分为三个分区:分别是EFI分区(vfat),swap分区,主分区(Btrfs)
sudo cfdisk /dev/sda # 根据里面的提示进行划分
## 一般可以这样
### /dev/sda1为EFI分区,大小300M
### /dev/sda2为swap分区,大小与内存相当
### /dev/sda3为主分区,文件格式为btrfs
# 3. 将EFI分区,格式化为vfat文件格式(如果已经存在可跳过)
sudo mkfs.vfat -F 32 /dev/sda1
# 4. 格式化swap分区(如果已经存在可以跳过)
## 以后可以用swapon来启用,也可以用fstab设置来启用
sudo mkswap /dev/sda2
# 5. 将主分区格式化为btrfs文件格式
sudo mkfs.btrfs -f [-L 'volume_label'] /dev/sda3
3.2 创建主分区的子卷(试用环境中操作)
# 创建两个子卷,用来挂在根目录和var目录
# 1. 挂载主分区到/mnt
sudo mount /dev/sda3 /mnt
## 也可采用 mount -o subvolid=0 /dev/sda3 /mnt
## 或 mount -o subvolid=5 /dev/sda3 /mnt
# 2. 进入/mnt进行子卷创建(这里我只创建两个子卷,@ -- / ;@var -- /var 。 你也可以根据自身习惯创建)
cd /mnt
sudo btrfs subvolume create @
sudo btrfs subvolue create @var
# 3. 退出/mnt目录
cd
# 4. 卸载主分区
sudo umount /mnt
3.3 挂载主分区子卷(试用环境中操作)
# 挂载子卷
# 1. 挂载@子卷为根子卷,因为目前还没有chroot因此就是/mnt
## 针对固态硬盘推荐将中括号中的内容一起选,如果是机械硬盘那么不要选中括号中的内容
sudo mount -o subvol=@,noatime,compress=zstd:3,space_cache=v2[,ssd,discard=async] /dev/sda3 /mnt
# 2. 在已经挂载的根子卷下创建var目录
sudo mkdir -p /mnt/var
# 3. 挂在@var子卷
sudo mount -o subvol=@var,noatime,compress=zstd:3,space_cache=v2[,ssd,discard=async] /dev/sda3 /mnt/var
3.4 用debootstrap安装基础环境(试用环境中操作)
# 1. 安装debootstrap
sudo apt install debootstrap
# 2. 通过debootstrap安装noble环境;包括包括目录,包管理器等
sudo debootstrap --variant=minbase noble /mnt [http://archive.ubuntu.com/ubuntu/]
参考:
3.5 挂载试用环境的信息到/mnt(试用环境中操作)
# 挂载试用环境中的信息到/mnt(因为chroot后所有执行的后台还是适用环境)
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /run /mnt/run
3.6 chroot到新系统(即/mnt环境)
sudo chroot /mnt
3.7 chroot环境下安装内核和必要组件(chroot环境中操作)
# 1. 安装vim,安装一个我熟悉的编辑器(你也可根据自己喜好安装)
apt install vim
# 2. 编辑软件源(官方)
vim /etc/apt/sources.list
# 将里面的内容设置为
# -----------------------------------------------------------------------------------
deb http://archive.ubuntu.com/ubuntu/ noble main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ noble-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
# -----------------------------------------------------------------------------------
# 3. 更新数据
apt update
apt upgrade
# 4. 安装基本元包
apt install ubuntu-standard
# 5. 安装内核
apt install linux-generic
# 6. 安装 TTY 登录相关组件
apt install systemd-sysv login console-setup kbd dbus
# 7. 安装其他必要组件
apt install locales sudo adduser btrfs-progs [apt-utils]
apt install iproute2 iputils network-manager [net-tools]
# 8. 安装引导加载程序
apt remove os-prober # 移除这个包,以免去查看其他操作系统
apt install grub-efi-amd64 # UEFI
3.8 chroot环境下的一些基础配置(chroot环境中操作)
# 1. 进行语言配置
## 不推荐使用 dpkg-reconfigure locales,因为使用这个好像没有配置成功
# 1.1 配置系统字符集
vim /etc/locale.gen
## 将 #en_US.UTF-8 UTF-8,前面的#去掉
# 1.2 配置系统语言
vim /etc/default/locale
## 在里面添加一行为LANG=en_US.UTF-8(只此一行)
# 1.3 使配置生效
locale-gen
# 2. 进行计算机名的配置
# 2.1 添加计算机名
vim /etc/hostname
##在里面添加你的计算机名 只此一行
# 2.2 将网络回环到这个计算机名
vim /etc/hosts
## 添加或修改127.0.1.1开头的行,使得后面的计算机名为/etc/hostname中的名字
## 127.0.0.1 你的计算机名
# 3. 用户设置(建议在交互环境中配置)
# 3.1 配置root用户密码(因为本来就在root环境,因此直接使用passwd)
passwd root
# 3.2 添加新用户,并交互的配置相关选项
adduser your_username # 交互式添加新用户,交互方式下会要求你输入密码。其命令行设置,请自行搜索
usermod -aG sudo your_username #将用户放入sudo组,这样才有超级管理员权限
# 4. 确保getty服务这是systemd中的工具(可选,因为我没有进行也可以登录tty界面)
systemctl enable getty@tty1.service
3.9 chroot环境下配置fstab并添加启动项(chroot环境中操作)
# 1. 挂载EFI分区
mkdir -p /boot/efi
mount /dev/sda1 /boot/efi
# 2. 编辑fstab
vim /etc/fstab
# 将里面修改为如下内容
# -----------------------------------------------------------------------------------
# root
UUID=[/dev/sda3的UUID] / btrfs subvol=@,noatime,compress=zstd:3,space_cache=v2,[ssd,discard=async] 0 1
# var
UUID=[/dev/sda3的UUID] /var btrfs subvol=@var,noatime,compress=zstd:3,space_cache=v2,[ssd,discard=async] 0 2
# EFI
UUID=[/dev/sda1的UUID] /boot/efi vfat defaults 0 2
# swap
UUID=[/dev/sda2的UUID] none sw[或defaults] 0 0
# -----------------------------------------------------------------------------------
# 3. 往EFI分区中添加启动文件
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
# 4. 更新/boot/grub中的grub.cfg文件
update-grub
3.10 回到试用环境修改UEFI固件信息(试用环境中操作)
# 1. 回到适用环境
exit
# 2. 添加UEFI启动项
sudo efibootmgr -c -d /dev/sda -p 1 -L "ubuntu" -l "\EFI\ubuntu\grubx64.efi"
# 如果需要查询、删除、排序等,用下面这些命令操作
## sudo efibootmgr [-v] # 查询 UEFI 信息
## sudo efibootmgr -b 0001 -B # 删除某个启动项
## sudo efibootmgr -o 0000,0002,0001 # 修改启动项顺序
## sudo efibootmgr -n 0002 # 设置单次启动项,下次从这一项启动
3.11 重启进入tty界面即新安装的系统(试用环境中操作)
reboot
4 在tty界面中安装plasma + kde桌面环境
这里已经是一个命令行界面(tty界面)的ubuntu系统了。如果不需要图形界面安装到这里就基本结束了。
不过由于系统默认设置的关系,这个系统的网络还不能使用。这里假设有计算机有物理上的有线网卡和有线网络,只是还没有配置通畅。
4.1 配置tty界面的有线网络
# 可能刚开始有线网络不能使用
# 1. 查看是否有网络(如果ping通了就有网络)
ping baidu.com
# 否则
# 2. 查看所有网络接口
ip link show
# 2. 查看接口状态
ip addr show
# 3. 故障排除
## 如果存在没有ip地址,即有线网卡没有启用的状态试用如下方法排除,假设有线网卡是eth0
# 如果有线网络的接口是 DOWN 状态(假设有线是eth0),可以用如下命令开启
sudo ip link set etho up
## 修改如下配置文件
sudo vim /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf
### 在其排除项目中添加 except:type:ethernet
# 查看有线网卡的管理状态
nmcli device status # 如果显示 unmanaged ,表示这个接口没有被管理
## 没有被管理时修改如下配置文件
sudo vim /etc/NetworkManager/NetworkManager.conf
### 将里面的部分内容进行修改
[ifupdown]
managed=false ----> managed=true
# 4. 启动 NetworkManager
sudo systemctl enable NetworkManager --now
## 如果不行
sudo systemctl restart NetworkManager
## 如果还不行,那么重启一下试试
## 如果,如果还不行,那么根据错误自行搜索解决
4.2 安装kde-standard桌面
(包含x11 + plasma + kde标准组件,noble至少是这样的,不同的版本可能不同)
# 1. 更新系统
sudo apt update
sudo apt upgrade
# 2. 安装标准桌面(kde原生的plasma桌面,你可可以根据个人喜好更改,比如安装kubuntu-desktop)
sudo apt install kde-standard
4.4 安装并启用sddm登录器
sudo apt sddm
sudo systemctl enable sddm
# 进行完这些理论上就可以了,不过此时sddm的风格默认的是maya风格,非常原始,而且注销后可能假黑屏,然后不能跳出登陆界面,因此安装plasma微风风格解决
sudo apt install [--reinstall] sddm-theme-breeze
## 如果还有其他问题,搜索解决
4.5 重启并进入desktop环境
reboot
5 在 desktop 界面中配置系统
5.1 通过kde的系统设置,设置时区
可以搜索region来定位到时区
5.2 配置语言为中文
* 方法同 3.8 的 1 中的方法
** 只是把字符集改为zh_CN.UTF-8 UTF-8;语言改为LANG=zh_CN.UTF-8
** 而后在kde系统设置中将语言选择为“中文简体”。可搜索language定位到该选项
*** 注意:需要重启才能生效
# 如果要使得汉化更加彻底可以选装language-pack-zh-hans包
sudo apt install language-pack-zh-hans
5.3 安装配置fcitx5以及中文输入法
# 1. 安装框架和中文插件
sudo apt install fcitx5 fcitx5-chinese-addons
# 2. 安装fcitx的其他模块
sudo apt install fcitx5-frontend-* fcitx5-config-qt
# 安装之后一般就可以使用了,如果不能使用尝试重启一下看看
# 如果还不能使用右键点击右下角的键盘图标,选择里面的configur选项配置
# 如果还不行,在系统设置中试试
# 如果还不行,那么自行搜索解决
5.4 据说的其他一些可行的配置方法(没有亲测)
# 重新配置 locales
dpkg-reconfigure locales
# 重新配置时区
dpkg-reconfigure tzdata
# 重新配置键盘布局
dpkg-reconfigure keyboard-configuration
# 重新配置任何已安装的包
dpkg-reconfigure <package-name>
6 安装Nvidia显卡驱动
我的显卡是3060ti
6.1 先禁用 Nouveau 驱动
(因为系统可能默认开启的是这个驱动,我只是禁用了,但不知道是否必须)
# 1. 编辑或创建nouveau的黑名单
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
## 在其中添加如下两行
blacklist nouveau
options nouveau modeset=0
# 2. 更新初始化ramfs并重启
sudo update-initramfs -u
sudo reboot
# 3. 验证是否已禁用(重启后执行)
lsmod | grep nouveau
## 如果没有输出,则表明已成功禁用
6.2 安装Nvidia驱动(据说是闭源驱动)
# 1. 安装驱动并重启
sudo apt install nvidia-driver-535
## 或者让系统自动选择安装驱动
# sudo ubuntu-drivers autoinstall
sudo reboot
# 2. 重启后用命令查看是否安装成功
nvidia-smi
## 如果安装成功,这个命令会输出一个表格,显示你的GPU型号、驱动版本、温度、性能状态等信息。
7 应用软件安装
7.1 安装google-chrome
# 1. 下载
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
# 2. 安装
sudo apt install ./google-chrome-stable_current_amd64.deb
7.2 安装wechat、wps
这些都是从官网下载deb包,然后安装
7.3 安装logseq
从网站下载AppImage,而后运行,运行时可能需要加上--no-sandbox选项,如果缺少某些依赖那么就安装
其他应用软件安装请自行研究
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)