有一种方法可以指示 grub 通过 UUID 而不是使用 /dev/sdX 安装在设备 MBR 上?我正在使用 NixOS 设置一个外部 eSATA 硬盘,显然,硬盘不会总是相同的 /dev/sd X设备?
我看到我可以用 配置它boot.loader.grub.device = "/dev/sdX"
,但可以将它设置为"/dev/disk/by-uuid/...."
??
目前在 nixos 中不支持您想要的内容。
在此处查看相应的源代码: https ://github.com/NixOS/nixpkgs/blob/release-15.09/nixos/modules/system/boot/loader/grub/grub.nix
但是,您应该能够使用:
boot.loader.grub.device = "/dev/mydisk"
但你需要一个这样的udev-ruleset:
services.udev.extraRules = ''
#Bus 001 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE="666", SYMLINK+="ttyUSB-odroid-u3-1"
#Bus 003 Device 055: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="666", SYMLINK+="ttyUSB-odroid-u3-2"
# Bus 003 Device 057: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller
ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0268", SUBSYSTEMS=="usb", ACTION=="add", MODE="0660", GROUP="users"
'';
但当然对于您的外部硬盘驱动器。只需使用符号链接功能。