nixos安装需手动分区、挂载并编辑configuration.nix,否则系统无法启动;uefi下必须创建≥512mib fat32格式esp分区并挂载至/mnt/boot,nixos-generate-config仅生成半成品配置,至少需设置hostname、用户及ssh,且安装后须运行nixos-rebuild switch才可用。

直接装 NixOS 不是“下载 ISO 点下一步”那种流程,它要求你手动分区、挂载、生成并编辑 configuration.nix,否则安装会失败或系统无法启动。
UEFI 下必须分出 ESP 分区且格式为 FAT32
很多用户卡在启动环节,根本原因是没创建或没正确挂载 EFI 系统分区(ESP)。NixOS 的 nixos-install 不会自动帮你建 ESP,也不会报错提示缺失 —— 它只默默跳过引导配置,导致重启后黑屏或进 BIOS。
- 用
parted或fdisk创建一个 ≥512MiB 的分区,类型设为ef00(GPT)或ef(MBR),并用set 1 esp on标记 - 格式化必须用
mkfs.fat -F 32 /dev/sdX1,mkfs.vfat或mkfs.ext4都不行 - 挂载路径必须是
/mnt/boot,不是/mnt/efi或/mnt/boot/efi;否则nixos-generate-config无法识别 ESP,后续nixos-install也不会装 GRUB
nixos-generate-config 只探测硬件,不生成完整可用配置
这个命令输出的 configuration.nix 是半成品:它能识别显卡、网卡、键盘布局,但默认禁用 X11、不设主机名、不加用户、不启用 SSH。直接 nixos-install 会装出一个无法登录、无网络、无图形界面的系统。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 至少要改三处:
networking.hostName(必填,否则nixos-install报错)、users.users.<name>.isNormalUser = true</name>、services.openssh.enable = true - 如果要用桌面环境,不能只取消
services.xserver.enable注释 —— 还得加对应桌面包,比如 KDE 要写services.xserver.desktopManager.plasma5.enable = true -
environment.systemPackages里别直接写vim,得写pkgs.vim;Nix 语言里所有包都来自pkgs命名空间,漏掉前缀会导致构建失败
安装后首次启动失败,大概率是 nixos-rebuild switch 没运行
很多人以为 nixos-install 结束就完事了,其实它只把系统写入磁盘,没生成启动项、没激活用户配置、没编译内核模块。Live 环境里执行 nixos-install 后必须立刻 reboot,但新系统第一次启动时仍可能卡在 initramfs 或黑屏 —— 因为没在目标系统里运行过 nixos-rebuild switch。
- 正确做法:重启进新系统(如果能进 TTY),用 root 登录,运行
nixos-rebuild switch - 如果进不去,从 Live 环境重新挂载根分区到
/mnt,然后chroot /mnt,再运行nixos-rebuild switch - 注意:
nixos-rebuild默认读取/etc/nixos/configuration.nix,路径写错或文件权限不对(比如被 nano 保存成 root:root 但 umask 限制了读取)都会失败
最易被忽略的是:NixOS 的“安装完成”和“系统可用”之间隔着一次成功的 nixos-rebuild switch,而这次重建依赖于配置文件里每一个字段的语法正确性 —— 少一个分号、多一个逗号、变量名拼错,都会让整个系统停在灰色屏幕。










