Estoy mirando los documentos oficiales de GRUB2 para el search
comando, como se encuentra en http://www.gnu.org/software/grub/manual/grub.html#index-search
Command: search [--file|--label|--fs-uuid] [--set [var]] [--no-floppy] name
Search devices by file (-f, --file), filesystem label (-l, --label),
or filesystem UUID (-u, --fs-uuid).
If the --set option is used, the first device found is set as the
value of environment variable var. The default variable is ‘root’.
The --no-floppy option prevents searching floppy devices, which can be slow.
The ‘search.file’, ‘search.fs_label’, and ‘search.fs_uuid’ commands are aliases
for ‘search --file’, ‘search --label’, and ‘search --fs-uuid’ respectively.
En la sección 5.3 hay muchos ejemplos a lo largo
menuentry "FreeBSD" {
insmod zfs
search --set=root --label freepool --hint hd0,msdos7
...
}
Parece que la --hint
opción no está documentada excepto como ejemplo. ¿Qué hace exactamente? ¿Cuál es el formato exacto del argumento?
search --fs-uuid
se usa, ¿de qué sirve el--hint
?Esto no se describe en el Manual de GRUB, pero hay documentación que se puede encontrar en GRUB (
search --help
en el shell de GRUB):¿Cuál es el punto del "primer dispositivo de prueba"?
Tienes que entender que
search
es una operación potencialmente lenta.Tal vez tenga 50 unidades, cada una con 100 particiones, y ahora
search
tiene que pasar por todo esto ... hasta que finalmente encuentre el UUID que estaba buscando en el intento número 2356.O tal vez tiene un dispositivo muy lento y la comprobación de su UUID hace
search
que se bloquee por un tiempo.--no-floppy
Supongo que hay que evitar el caso más común, pero otros dispositivos también pueden ser lentos.Con
--hint
, configura un dispositivo para verificar primero. Siempre que la pista sea correcta, omite la operación de búsqueda, que de otro modo sería potencialmente larga. Entonces esta es una optimización de velocidad. (Probablemente no será notable con solo una unidad, tres particiones)El efecto descrito en la respuesta de @ totti de dar preferencia a un dispositivo específico cuando hay dos con la misma ETIQUETA o UUID, eso debería ser simplemente un efecto secundario.
Claro, si primero verifica un dispositivo, no se debe encontrar un duplicado en otro dispositivo. Aun así, tendría más sentido no tener tales duplicados en primer lugar. Como los UUID duplicados (o LABEL) pueden considerarse un error de configuración, y en caso de
--hint
que resulte ser incorrecto, aún podría devolver el dispositivo incorrecto.fuente