当我们取消注释GRUB_DISABLE_LINUX_UUID = true时会发生什么?


8

当我们取消注释/ etc / default / grub中的GRUB_DISABLE_LINUX_UUID = true时会发生什么。


1
在我看来,使用UUID标识分区和卷是一种不好的做法,有时会导致灾难:那些随机生成的标识符根本不可靠,实际上,它们甚至不能幸免于重新分区和重新格式化,这会导致系统无法启动和/ etc / fstab条目可用。很难键入它们,不会向用户传达有关partitions-content的任何含义。另一方面,如果选择得当,LABels会告诉很多有关分区内容的信息。我所有的分区都被标记为:像WIN7_C,XP_D,XUBUNTU_1204,BOOT,HOME_1204等... Refo
eric

Answers:


4
  • 好吧,我认为那条线上的评论说明了一切
    # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux

  • 取消注释后,该行root =将作为设备名称而不是UUID传递。

    linux /boot/vmlinuz-2.6.30-1-amd64 root=UUID=...

    linux /boot/vmlinuz-2.6.30-1-amd64 root=/dev/sdX

  • 但是,不建议取消注释该行,因为如果删除/创建新分区,分区表将被更改。
  • 这样您就无法启动系统。

-1,内容不详。删除该参数有什么作用?优点和缺点是什么?
loevborg

@loevborg根=将设备名称被传递,而不是UUID
karthick87

4

取消注释时,下次grub重新生成/boot/grub.cfg时,将使用绝对设备名称代替UUID,即/ dev / sdXY

因此,如果您在分区表中重新排列分区(例如,插入/删除分区)并且更改分区号,则grub找不到要引导的内核

使用UUID,即使重新排列分区也不会破坏事情

UUID的缺点是难以使用,因此很难记住。


2

真正的交易是向系统添加磁盘。如果您的磁盘以前是/ dev / sda,并且作为唯一驱动器插入到SATA1,后来又添加了第二个驱动器,但是将其插入SATA0,它将变成/ dev / sda,并且root =映射为无效。但是,UUID没有此问题,因为它们是唯一的标识符。

另外,如果您有多个扩展卡,有时它们的检测时间会略有不同,从而导致悬挂在其上的驱动器的驱动器名称分配不同。同样,UUID不受影响。同样,如果某个驱动器出现故障,则有时会占用另一个驱动器,例如/ dev / sda死了,也许在下次启动时/ dev / sdb神奇地变成了/ dev / sda。

我想说的是,它越大或越有可能成为一个更大的系统,那么启动时驱动器改组的可能性就越大。

我个人并不在意将UUID用于root =,但我知道它的位置。


你能说明真正的意思吗?我的意思是禁用linux uuid到底能做什么?
DrSAR 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.