LINUX.ORG.RU

После изменения точки монтирования USB Flash система не загружается

 , ,


0

1

Добрый день!
С помощью встроенной в Kubuntu графической утилиты изменил точку монтирования USB Flash, после чего система перестала загружаться, уходит в аварийный режим.
В fstab добавилась запись:
/dev/sdf1 /media/sergei/mydisk ntfs defaults 0 0
После её удаления работа ОС восстанавливается. Подскажите что не так? Можно ли как то указать куда монтировать USB Flash чтобы не ломать систему? С SDD таких проблем нет.

Ответ на: комментарий от alex1101

dolphin в свойствах показывает ntfs3, нужно 3 добавить?
Вообщем то нужно чтобы система сохраняла роботоспособность и при отсутствии этой флэшки, а при её наличии монтировала бы в строго указанное место

KSergeyP
() автор топика
Ответ на: комментарий от KSergeyP

Убираешь строчку монтирования из /etc/fstab, монтируешь средствами файлового менеджера, далее в командной строке в эмуляторе терминала смотришь выводе команды mount и определяешь какой драйвер используется.

Прописываешь его в /etc/fstab.

У тебя может использоваться как драйвер из состава ядра, так и драйвер ntfs-3g, работающий через подсистему ядра fuse.

Какой в твоей системе используется ты можешь определить так, как я написал выше.

Удачи.

kostik87 ★★★★★
()

Во первых вместо /dev/sdf1 указывай UUID, так флешка будет монтироваться даже если имена устройств «поползут» и станут другими. Но это не принципиально. Во вторых, определись какой драйвер ntfs у тебя используется. Если ntfs-fuse (не рекомендую, он медленный, устарел и более не развивается) пиши вместо ntfs — ntfs-3g. Если хочешь новый, нативный ядерный драйвер от Парагон (рекомендую), пиши ntfs3.

Указание типа ФС просто как ntfs (не ntfs-3g или ntfs3) приводит к неопределённому поведению в разных дистрибутивах, где то это псевдоним для ntfs-3g (драйвер работающий через fuse), а где то указание на древний ядерный readonly драйвер, который нынче выкинут из ядра и заменён Парагоновским ntfs3. В таких дистрибутивах тип ФС ntfs в fstab приводит к ошибке монтирования по причине невозможности загрузить древний и выброшенный из ядра модуль драйвера.

Если решишь использовать Парагоновский ядерный ntfs3 тебя может поджидать ещё одна засада — FS может отказаться монтироваться по причине наличия на ней виндового dirty bit, он там может оказаться если флешку просто выдёргивали из компа не делая «безопасное извлечение устройства» перед этим. Сообщение об этом будет в dmesg, при монтировании всегда смотри не только то что тебе в консоль пишут, но и в конец выхлопа dmesg, обычно истина там, а не в том что в консоль mount написал.

Драйвер ntfs-fuse родной виндовый dirty bit игнорирует и использует вместо него что то своё, поэтому иногда возникает непонимание, почему одну и ту же флешку ntfs-fuse монтирует, а Парагоновский ntfs3 — нет.

Снять dirty bit можно двумя способами — проверить флешку штатными средствами в винде (самый лучший способ), после проверки и исправления, если оно потребуется, бит будет снят. Либо воспользоваться утилитой ntfsfix. ВАЖНЫЙ МОМЕНТ. Утилиты типа fsck для ntfs под Линукс НЕТ.

ntfsfix ничего не fix, он просто снимает dirty bit. Он не проверяет FS на консистентность, он не исправит на ней ошибки, если они есть. Так что если у тебя ФС действительно повреждена, о вероятности чего тонко намекает dirty bit, тот факт что она смонтируется после снятия этого бита не означает что она исправна и не продолжит разваливаться в процессе работы. Так что лучший и единственный способ гарантированно убедиться что у тебя всё в порядке с FS, и снять dirty bit — воспользоваться настоящей Windows и проверить флешку в ней.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

FS может отказаться монтироваться по причине наличия на ней виндового dirty bit

Поэтому, кстати, лучше не вносить в fstab всякую левую хрень типа ntfs-разделов. Пусть монтируются динамически.

(Зачем systemd выпадает в режим восстановления при неудаче монтирования любого раздела - тоже хороший вопрос, конечно. Это явная лажа с т.з. UX)

alex1101
()
Ответ на: комментарий от Jameson

Во первых вместо /dev/sdf1 указывай UUID, так флешка будет монтироваться даже если имена устройств «поползут»

Не если, а когда. Там, скорее всего, /dev/sdf - совсем не флешка и совсем не нтфс

utanho ★★★★★
()
Ответ на: комментарий от utanho

Ну так то на все флешки упаришься их UUID прописывать. Если TC желает чтобы у него разные флешки в одну директорию монтировались — придётся таки устройство указать. И вместо ntfs помогло бы auto тогда, мало ли какая на них fs, но с нынешним бардаком в виде двух (трёх) реализаций драйверов ntfs (две живых, одна мёртвая), а так же двух реализаций exfat (через fuse и нативная, ядерная), auto ведёт себя непредсказуемо в разных дистрибутивах и может обломаться на той же ntfs, не угадав какую реализацию использовать.

Jameson ★★★★★
()

Есть у меня предположение, что 0 0 обозначает в т.ч. обязательную проверку фс при загрузке - почитай ман на эту тему. ntfs не родная, не помню чтобы линуксы вообще умели её проверять и исправлять. Короче fsck не возвращает верного кода проверки, инит стопорится.

Почитай эти коды, у меня стоит 0 2 для некритичных, но не помню точного значения. И ещё полезные опции user,noauto. Монтирование по запросу любого пользователя, но не при старте.

kirill_rrr ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Именно поэтому при значении 0 0 у меня регулярно проверяется корень?

Да, вижу что так в мане и написано, но что то всё равно проверяет при установленном 0.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)