有一种方法可以指示grub通过UUID安装在设备MBR上,而不是使用/dev/sdX?我正在用NixOS设置一个外部eSATA硬盘,很明显,硬盘不总是相同的/dev/sdX设备吗?
我看到我可以用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规则集,如下所示:
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"
'';
当然,你的外置硬盘除外。使用符号链接功能即可。