如何制作支持持久化存储的全功能NixOS(KDE Plasma)启动U盘
如何制作支持持久化存储的全功能NixOS(KDE Plasma)启动U盘
嘿,我完全懂你的需求——想要一个插在任何机器上都能当正常电脑用,而且所有文件、设置都存在U盘里,不会重启就消失的NixOS启动盘对吧?之前我也折腾过这个,给你分享一套亲测有效的步骤,一步步来就行:
准备工作
- 至少32GB的U盘(NixOS系统+持久化存储需要不少空间,太小容易不够用)
- 最新版带KDE Plasma的NixOS ISO镜像(直接从官方渠道下载就行)
- 一台Linux机器或者WSL2环境(Windows下操作分区和命令行工具会麻烦很多,建议用Linux环境)
步骤1:给U盘分区
首先得把U盘分成三个区,别搞错盘符哦(用lsblk确认你的U盘是/dev/sdX,X是字母,千万别选成系统盘!)
- 先卸载U盘的现有挂载:
umount /dev/sdX* - 用
fdisk /dev/sdX进入分区工具:- 输入
g创建GPT分区表 - 输入
n创建第一个分区:类型选主分区,起始扇区默认,结束扇区设为+512M,然后输入t改类型为ef(对应EF00 EFI系统分区) - 输入
n创建第二个分区:主分区,起始扇区默认,结束扇区设为+8G(这个是NixOS系统分区,8G足够装KDE和基础组件),类型保持默认的83(Linux文件系统) - 输入
n创建第三个分区:主分区,起始扇区默认,结束扇区直接按回车用剩下的所有空间,这个就是我们的持久化存储分区,类型同样是83 - 输入
w保存分区设置并退出
- 输入
步骤2:格式化分区
把三个分区分别格式化:
- EFI分区格式化为FAT32:
mkfs.fat -F32 /dev/sdX1 - 系统分区格式化为ext4:
mkfs.ext4 /dev/sdX2 - 持久化分区格式化为ext4,还要加个标签方便识别:
mkfs.ext4 /dev/sdX3 && e2label /dev/sdX3 nixos-persist
步骤3:挂载分区准备安装
创建挂载目录并把三个分区都挂上:
mkdir -p /mnt/nixos/{boot,nix,persist} mount /dev/sdX2 /mnt/nixos mount /dev/sdX1 /mnt/nixos/boot mount /dev/sdX3 /mnt/nixos/persist
步骤4:修改NixOS配置开启持久化
生成默认配置文件,然后编辑它来开启持久化和KDE:
- 生成配置:
nixos-generate-config --root /mnt/nixos - 用编辑器打开
/mnt/nixos/etc/nixos/configuration.nix,做这几个关键修改:- 启用KDE Plasma:找到
services.xserver相关配置,确保已经启用xserver,然后添加:services.xserver.desktopManager.kde.enable = true; - 配置持久化存储:在配置文件里加上这段代码,让系统把用户数据、配置文件都存在我们的持久化分区里:
fileSystems."/persist" = { device = "/dev/disk/by-label/nixos-persist"; fsType = "ext4"; }; environment.persistence."/persist" = { directories = [ "/etc" "/home" "/var/lib" "/var/log" ]; files = [ "/etc/machine-id" ]; }; - 确认启动设置:确保用systemd-boot作为EFI启动器,配置里要有:
boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true;
- 启用KDE Plasma:找到
步骤5:安装NixOS到U盘
执行安装命令,跟着提示设置root密码和普通用户账户就行:
nixos-install --root /mnt/nixos
步骤6:测试持久化
安装完成后,卸载所有挂载点:
umount -R /mnt/nixos
拔掉U盘,插到任意支持EFI启动的机器上,从U盘启动进入KDE Plasma。试试创建几个文件、安装个软件,然后重启——如果所有东西都还在,那就大功告成了!
备选方案(如果NixOS太折腾)
要是觉得NixOS的配置有点复杂,也可以试试Ubuntu的Casper持久化或者Fedora的Live USB持久化,这些发行版有更简单的工具(比如Ubuntu可以用Startup Disk Creator直接开持久化),但NixOS的优势是连系统配置都能完全持久化,下次启动还是你定制好的样子。
备注:内容来源于stack exchange,提问作者desl8
相关产品推荐
相关产品推荐

