Подключайте внешний накопитель во время загрузки, только если он подключен

50

У меня есть запись для внешнего жесткого диска в моем fstab:

UUID="680C0FE30C0FAAE0" /jgdata ntfs noatime,rw

Но иногда этот диск не подключается во время загрузки. Это оставляет меня на полпути через загрузку с подсказкой «Продолжить ожидание», нажмите S или нажмите M », но на этом этапе никаких нажатий клавиш не повлияет (в том числе Ctrl - Alt > - Удалить , даже не заблокировать блокировку).

За исключением написания скрипта для проверки вывода fdisk -l , как смонтировать этот диск во время загрузки, только если он присутствует? Было бы удобно иметь запись fdisk для этого диска, поэтому я могу просто набрать mount /jgdata вместо имени устройства.

    
задан Jeremy 22.11.2010 в 07:12
источник

5 ответов

44

Вы все на правильном пути. Я нашел способ, который является немного более чистой и лучшей формой.

Правильная опция добавления fstab - nofail , однако она должна появиться после auto . Если вы измените его на noauto , он никогда не будет монтироваться во время загрузки. Если вы добавите nobootwait к загрузчику, вы можете пропустить что-то серьезное, например, установить раздел до того, как fsck завершает проверку, или не монтирует раздел, который используется в процессе загрузки.

После внесения вышеуказанного изменения система начнет нормально (и смонтирует том), если устройство будет подключено, когда система выключится. Он также будет загружаться нормально, если устройство отсутствует во время загрузки.

Единственное неудобство заключается в том, что если вы подключаете устройство во время работы системы, в зависимости от конфигурации (слишком много переменных для проверки), устройство может не монтироваться немедленно. Это можно устранить с помощью простых mount -a или mount /specific_device или перезагрузки.

    
ответ дан Bryan Gonzalez 29.12.2012 в 07:08
источник
13

Опция noauto позволяет продолжить процесс загрузки?

он не монтируется автоматически, если присутствует, но он знает, если присутствует, поэтому работает простой mount / jgdata ... тогда скрипт mount / jdata не нуждается в проверке вывода, просто поймайте ошибку и сохраните загрузка

edit: при некотором дополнительном чтении bootwait, вероятно, является более правильной опцией для передачи ... (обычно используется для общих сетевых ресурсов, которые могут отсутствовать дольше в процессе загрузки, но все равно может вызвать зависание, idk)

и скрипт монтирования может быть добавлен так: Ссылка

    
ответ дан RobotHumans 22.11.2010 в 08:10
10

У меня была такая же проблема - я сделал один дополнительный шаг

Если вы используете опцию nofail в /etc/fstab , система будет искать ваш диск (и раздел) во время загрузки. Если устройство подключено, файловая система будет смонтирована. Если нет, загрузка будет продолжена как обычно.

См. arch wiki: Ссылка

Пример

UUID=XXXXXXXXXXXXXXX    /myhdd ntfs  nofail,auto,noatime,rw,user    0   0

Я попытался загрузить систему с подключенным устройством и без него, и он работает нормально.

То, чего я не достиг, - это автоматизировать, когда диск вставлен после загрузки (когда он не подключен при загрузке). Я должен использовать mount -a как root, чтобы снова установить все.     

ответ дан user898384 29.01.2012 в 18:56
1

Рекомендуемый способ монтирования во время загрузки инструктирует свою систему через файл fstab . Глядя на ваш вопрос, я видел, что вы почти там, не хватает только инструкции, которая позволяет устройству использовать параметры automount, позволяя вашей системе монтировать устройство, когда оно доступно.

Итак, просто перепишите строку в вашей fstab так, как показано ниже:

# <file system>           <dir>       <type>    <options>         <dump> <pass>
UUID="680C0FE30C0FAAE0"   /jgdata      ntfs      user,auto,rw       0     0

После изменения и сохранения его попытайтесь установить его вручную:

  

$ sudo mount -a

Важно отметить, что:

  1. вам нужно быть уверенным в UUID устройства. UUID генерируются утилитами make-filesystem (mkfs. *) При создании файловой системы.
  2. Те <options> должны быть записаны в соответствии с очень конкретным форматом, разделенным запятыми, но без пробелов после каждой запятой. Будьте осторожны с этим; -)
  3. Я не уверен, что это будет работать гладко, потому что вы пытаетесь автоматизировать файловую систему NTFS, которые можно обрабатывать с помощью NTFS-3G коммунальные услуги. Хотя мои инструкции должны работать правильно, я никогда не пробовал автомонтировать NTFS раньше. Итак, если это не удалось, я рекомендую вам посмотреть Установка разделов Windows для альтернативного использования NTFS.

Спасибо!

    
ответ дан crncosta 22.11.2010 в 17:50
0

У меня такая же проблема. Я редактировал fstab, чтобы прокомментировать запись, когда я знаю, что я не буду иметь приставку в следующий раз при загрузке. Затем, когда у меня есть привод, я просто редактирую fstab, чтобы удалить комментарий и поставить mount -a. Это не идеальное решение. Было бы здорово, если бы я смог выяснить, как система автоматически смонтирует диск, если он присутствует, или автоматически пропускает его, если он отсутствует. Такая же проблема возникает, если у вас есть общие сетевые ресурсы NFS, а сервер не существует.

    
ответ дан Detonate 22.11.2010 в 15:24