Как это возможно :один и тот же раздел монтируется дважды, и при каждом монтировании отображается разное содержимое?

Это не описано в Руководстве по GRUB , но есть документация, которую можно найти в самом GRUB(search --helpпо оболочке GRUB):

--hint
    First try the device HINT.
    If HINT ends in comma, also try subpartitions

--hint-ieee1275
    First try the device HINT if currently running on IEEE1275.
    If HINT ends in comma, also try subpartitions

--hint-bios
    First try the device HINT if currently running on BIOS.
    If HINT ends in comma, also try subpartitions

--hint-baremetal
    First try the device HINT if direct hardware access is supported.
    If HINT ends in comma, also try subpartitions

--hint-efi
    First try the device HINT if currently running on EFI.
    If HINT ends in comma, also try subpartitions

--hint-arc
    First try the device HINT if currently running on ARC.
    If HINT ends in comma, also try subpartitions

В чем смысл «Устройства с первой попытки»?

Вы должны понимать, что search— потенциально медленная операция.

Может быть, у вас 50 дисков, по 100 разделов на каждом, и теперь searchнужно пройти через все эти...пока он, наконец, не найдет UUID, который вы искали, с 2356-й попытки.

Или, возможно, у вас очень медленное устройство, и проверка его UUID приводит к зависанию searchна некоторое время. Есть --no-floppy, чтобы избежать наиболее распространенного случая, я думаю -, но другие устройства также могут быть медленными.

С помощью --hintвы устанавливаете устройство для проверки в первую очередь. Если подсказка была правильной, вы вообще пропускаете потенциально длительную операцию поиска. Так что это оптимизация скорости. (Вероятно, не будет заметно только с одним диском и тремя разделами)

Эффект, описанный в ответе @totti , отдающий предпочтение определенному устройству, когда есть два с одинаковым LABEL или UUID, должен быть просто побочным эффектом.

Конечно, если вы сначала проверите одно устройство, дубликат на другом устройстве не должен быть найден. Тем не менее, было бы разумнее вообще не иметь таких дубликатов. Поскольку повторяющиеся UUID (или LABEL )можно считать ошибкой конфигурации, и в случае, если --hintокажется неверным, он все равно может вернуть неправильное устройство.

6
23.08.2021, 10:38
1 ответ

Вот как:

# cd /tmp
# mkdir foo bar
# mount -B /usr/bin foo
# mount -B /var/log bar
# mount | egrep 'foo|bar'
/dev/sda1 on /tmp/foo type ext4 (rw,relatime,errors=remount-ro)
/dev/sda1 on /tmp/bar type ext4 (rw,relatime,errors=remount-ro)

тл;др; вывод команды mountненадежен в современных версиях Linux. Используйте cat /proc/self/mountinfoвместо (формат задокументирован в man 5 mountinfo), который также показывает «корень» монтирования, а не только его «устройство»:

# egrep 'foo|bar' /proc/self/mountinfo 
380 26 8:1 /usr/bin /tmp/foo rw,relatime shared:1 - ext4 /dev/sda1 rw,errors=remount-ro
457 26 8:1 /var/log /tmp/bar rw,relatime shared:1 - ext4 /dev/sda1 rw,errors=remount-ro
7
23.08.2021, 11:37

Теги

Похожие вопросы