У меня есть запись для внешнего жесткого диска в моем fstab:
UUID="680C0FE30C0FAAE0" /jgdata ntfs noatime,rw
Но иногда этот диск не подключается во время загрузки. Это оставляет меня на полпути через загрузку, с предложением «Продолжить ожидание, нажмите S или нажмите M», но никакое нажатие клавиш не оказывает никакого влияния на этом этапе (включая Ctrl- Alt- Delete, даже не заглавные буквы).
Если не считать сценарий для проверки выходных данных fdisk -l
, как я могу подключить этот диск во время загрузки, только если он присутствует? Было бы удобно иметь запись fdisk для этого диска, поэтому я могу просто напечатать mount /jgdata
вместо ввода имени устройства.
источник
У меня была та же проблема - я сделал один дополнительный шаг
Если вы используете
nofail
опцию в/etc/fstab
, система будет искать ваш диск (и раздел) во время загрузки. Если устройство подключено, файловая система будет смонтирована. Если нет, загрузка продолжится как обычно.Смотрите вики: https://wiki.archlinux.org/index.php/Fstab
пример
Я попытался загрузить систему с подключенным устройством и без него, и все работает нормально.
Чего я не достиг, так это автоматического монтирования, когда диск подключен после загрузки (когда он не подключен при загрузке). Я должен использовать
mount -a
как root, чтобы смонтировать все снова.источник
опция noauto позволяет процессу загрузки продолжаться?
он не монтируется автоматически, если присутствует, но он узнает об этом, если он есть, так что простое монтирование / jgdata работает ... тогда скриптовому монтированию / jdata не понадобится проверка вывода, просто перехватите ошибку и продолжайте загрузку
edit: после некоторого дальнейшего чтения bootwait, вероятно, является более правильным вариантом для передачи ... (обычно используется для сетевых ресурсов, которые могут отсутствовать до процесса загрузки, но это может вызвать зависание, idk)
и скрипт монтирования может быть добавлен так: https://stackoverflow.com/questions/2062543/running-a-script-with-the-help-of-grub-and-menu-lst
источник
работал на меня.
nofail ... Не сообщать об ошибках для этого устройства, если оно не существует.
x-systemd.device-timeout = 30 ... Загрузка займет 30 секунд, если устройство не существует (по умолчанию 90 секунд).
Источник: https://wiki.archlinux.org/index.php/fstab#External_devices
источник
nobootwait
синтаксисРекомендуемый способ монтирования во время загрузки - инструктировать их систему через файл fstab . Глядя на ваш вопрос, я вижу, что вы почти у цели, не хватает только инструкции, которая настраивает устройство на использование опций автомонтирования, позволяя вашей системе смонтировать устройство, когда оно будет доступно.
Итак, просто перепишите строку в вашем fstab так, как показано ниже:
После изменения и сохранения попробуйте смонтировать его вручную:
Важно отметить, что:
<options>
должны быть написаны в очень специфическом формате, разделенном запятыми, но без запятой после каждой запятой. Будьте осторожны с этим ;-)Спасибо!
источник
sudo blkid
команда - это хороший способ узнать UUID.У меня такая же проблема. Я редактировал fstab, чтобы закомментировать запись, когда я знаю, что в следующий раз при загрузке у меня не будет диска. Затем, когда у меня есть диск, я просто редактирую fstab, чтобы удалить комментарий, и запускаю mount -a. Это не идеальное решение. Было бы здорово, если бы я мог найти способ, как система автоматически смонтирует диск, если он есть, или автоматически пропустит его, если он отсутствует. Та же проблема возникает, если у вас автоматически смонтированы общие ресурсы NFS, а сервер отсутствует.
источник