如何更改我的 nixos OS 分区的 UUID,并更新引导加载程序?
How can I change the UUID of my nixos OS partition, and update the bootloader?
所以基本上我得到了我的分区的精确克隆(尽管我已经更改了 UUID),现在我想更改引导加载程序以加载新分区。
我尝试了什么:
我天真地(在启动时/在原始分区上 运行)尝试用新的 UUID
修改 hardware-configuration.nix
(在原始分区上)然后尝试:
sudo nixos-rebuild switch
sudo nixos-rebuild boot
两者都在安装驱动器时失败**(我认为)。
updating GRUB 2 menu...
lsblk: /dev/mapper/no*[0-9]: not a block device
lsblk: /dev/mapper/raid*[0-9]: not a block device
lsblk: /dev/mapper/disks*[0-9]: not a block device
Found Arch Linux on /dev/sdb3
另外,我假设我可能需要在某个地方安装这个新分区(除非,这不需要实际启动到它(重新启动后)?)。
** 实际上,虽然它看起来 'fail',当我重新启动时,select 通常的 nixos grub 条目,我看到以下内容(提到的 UUID 是确实存在的 UUID - 并且这是新分区):
最坏的情况,似乎我可以使用 nixos live USB 将新分区挂载到 /mnt
,然后只需按照通常的 nixos-install
(在过去 - 虽然只有 /etc/nixos 目录)?
首先,通过在 hardware-configuration.nix
中更改 UUID 并确保系统正常启动,让系统再次正常工作。
接下来,像之前一样更改 hardware-configuration.nix
中的 UUID,但是这次 运行 sudo nixos-rebuild boot
.
当您重新启动时,您的 systemd-boot 或 GRUB2 菜单中将有一个新条目。新条目将从新分区启动 NixOS。
我尝试使用 nixos-install
路线。
我现有的硬件有问题-configuration.nix 似乎我 运行 遇到了完全相同的问题 waiting for device...
。
最后我 运行 nixos-generate-config --root /mnt
生成了一个新的配置,它有以下区别:
diff -u nixos.backup/hardware-configuration.nix /etc/nixos/hardware-configuration.nix
--- nixos.backup/hardware-configuration.nix 2018-11-22 20:18:01.361647120 +0000
+++ /etc/nixos/hardware-configuration.nix 2018-11-22 20:18:41.818644420 +0000
@@ -8,8 +8,8 @@
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
];
- boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
- boot.kernelModules = [ "kvm-intel" ];
+ boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
+ boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
@@ -20,6 +20,4 @@
swapDevices = [ ];
nix.maxJobs = lib.mkDefault 4;
- powerManagement.cpuFreqGovernor = "powersave";
}
-
所以可能是 nvme
位。还补充说我有 kvm-intel
因为我的 CPU 保持不变(这是 AMD)。
所以基本上我得到了我的分区的精确克隆(尽管我已经更改了 UUID),现在我想更改引导加载程序以加载新分区。
我尝试了什么:
我天真地(在启动时/在原始分区上 运行)尝试用新的 UUID
修改 hardware-configuration.nix
(在原始分区上)然后尝试:
sudo nixos-rebuild switch
sudo nixos-rebuild boot
两者都在安装驱动器时失败**(我认为)。
updating GRUB 2 menu...
lsblk: /dev/mapper/no*[0-9]: not a block device
lsblk: /dev/mapper/raid*[0-9]: not a block device
lsblk: /dev/mapper/disks*[0-9]: not a block device
Found Arch Linux on /dev/sdb3
另外,我假设我可能需要在某个地方安装这个新分区(除非,这不需要实际启动到它(重新启动后)?)。
** 实际上,虽然它看起来 'fail',当我重新启动时,select 通常的 nixos grub 条目,我看到以下内容(提到的 UUID 是确实存在的 UUID - 并且这是新分区):
最坏的情况,似乎我可以使用 nixos live USB 将新分区挂载到 /mnt
,然后只需按照通常的 nixos-install
(在过去 - 虽然只有 /etc/nixos 目录)?
首先,通过在 hardware-configuration.nix
中更改 UUID 并确保系统正常启动,让系统再次正常工作。
接下来,像之前一样更改 hardware-configuration.nix
中的 UUID,但是这次 运行 sudo nixos-rebuild boot
.
当您重新启动时,您的 systemd-boot 或 GRUB2 菜单中将有一个新条目。新条目将从新分区启动 NixOS。
我尝试使用 nixos-install
路线。
我现有的硬件有问题-configuration.nix 似乎我 运行 遇到了完全相同的问题 waiting for device...
。
最后我 运行 nixos-generate-config --root /mnt
生成了一个新的配置,它有以下区别:
diff -u nixos.backup/hardware-configuration.nix /etc/nixos/hardware-configuration.nix
--- nixos.backup/hardware-configuration.nix 2018-11-22 20:18:01.361647120 +0000
+++ /etc/nixos/hardware-configuration.nix 2018-11-22 20:18:41.818644420 +0000
@@ -8,8 +8,8 @@
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
];
- boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
- boot.kernelModules = [ "kvm-intel" ];
+ boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
+ boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
@@ -20,6 +20,4 @@
swapDevices = [ ];
nix.maxJobs = lib.mkDefault 4;
- powerManagement.cpuFreqGovernor = "powersave";
}
-
所以可能是 nvme
位。还补充说我有 kvm-intel
因为我的 CPU 保持不变(这是 AMD)。