Я не очень опытный администратор Linux, который пытается разобраться, как автоматически смонтировать внешний жесткий диск к моему Linux-компьютеру. (версия 2.6.16.13-4-smp) (Я знаю, что это старый компьютер.) Я могу без проблем смонтировать диск вручную:
me@linux:/> mount /dev/sdc1 /media/Seagate
me@linux:/>
то есть я хочу смонтировать устройство, расположенное в /dec/sdc1
каталоге /media/Seagate
. Это работает просто замечательно. Когда я это делаю, я вижу следующее:
me@linux:/> df -h
Filesystem Size Used Avail Use% Mounted on
...other stuff...
/dev/sdc1 917G 13G 858G 2% /media/Seagate
me@linux:/>
Проблема в том, что мне нужно, чтобы машина делала это автоматически при каждой перезагрузке. Я погуглил и немного узнал об этом /etc/fstab
файле. Для этого я добавил эту строку в конец своего /etc/fstab
файла:
/dev/sdc1 /media/Seagate ext3 defaults 0 2
Предыдущий администратор оставил закомментированную строку, /etc/fstab
которая когда-то работала. Я клонировал ее, отредактировал для своего внешнего жесткого диска, а затем позволил ей рипнуть. «Ext3» взято из этой строки, я не уверен, что она делает. «Defaults» и «0 2» были предложены как простейшая реализация из нескольких руководств, которые я нашел в сети.
Итак, когда я перезагрузил свою машину с указанной выше строкой /etc/fstab
, машина сделаланетуспешно перезагрузился. Когда я проверил монитор, там было несколько сообщений об ошибках, в том числе:
Waiting for /dev/sdc1
error on stat() /dev/sdc1: No such file or directory
fsck.ext3: No such file or directory while trying to open /dev/sdc1
/dev/sdc1: The superblock could not be read or does not describe a correct ext2
Фотография полного экрана монитора представлена ниже.
Я не уверен, что здесь происходит, но похоже, что мой Linux-бокс пытается смонтировать внешний HD, HD недоступен, поэтому Linux-бокс не загружается успешно? Но HD подключен во время перезагрузки.
Если я удалю одну добавленную строку и перезагружу снова, система запустится нормально, но затем мне придется вручную монтировать жесткий диск.
Итак... есть идеи, что здесь происходит? Спасибо.
решение1
Проверьте свой /etc/fstab
файл. Последнее число в каждой строке —fs_passno. Если установлено значение 1 (истина), то для успешной загрузки необходимо, чтобы fsck был запущен и успешно завершен на данном устройстве. Если у вас есть эта /dev/sdc1
строка /etc/fstab
с последним числом в этой строке 1, то это устройство должно присутствовать во время загрузки, в противном случае загрузка будет остановлена, как показано на вашем рисунке.
Измените 1 на 0, чтобы разрешить присутствие строки /dev/sdc1 fstab
без подключения USB-устройства, или полностью удалите эту строку из fstab, если USB-устройство не подключено, или подключите USB-устройство и дайте ему возможность пройти fsck, если вы собираетесь сохранить эту 1 в конце строки в fstab.
Я не уверен, влияет ли значение fs_passno по-разному в разных дистрибутивах Linux, за исключением того, что если установить его равным 0, то fsck выполняться не будет.
Также, ваш монтажпо имениимея /dev/sdc1
в первом столбце в fstab. Я настоятельно рекомендую монтировать любым другим способом, желательнопо-uuid. Монтирование по имени не является надежным, и ваш внешний диск может быть sdc
сейчас, но может легко стать чем-то другим, если какие-либо другие изменения оборудования вызовут другие проблемы.
решение2
Обновите свою систему
Это известная ошибка (Ошибка 204396 - ядро не видит USB-накопитель во время загрузки) в версии ядра, близкой к той, которую вы используете.
На первый взгляд, проблемы, похоже, где-то между автоматической загрузкой модулей и udev. Обходные пути могут существовать, и вы можете попробовать их. Добавление mount /dev/sdc1 /media/Seagate
к вашему /etc/rc.local
может помочь. Я действительно рекомендую вам перейти на более новое ядро, хотя. Это будет гораздо менее обременительно (при условии, что вы не полагаетесь на эту конкретную версию).