LINUX.ORG.RU

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

 , ,


0

1

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

Попробуй монтировать не через /dev/sdX, а через UUID

alex1101
()

А, стоп, у тебя походу просто некорректная запись. Вот тут:

ntfs

должно быть что-то другое

alex1101
()

Абсолютно незачем в fstab тащить всякую хрень. Только самое необходимое.

Абсолютно незачем бестолково править fstab. Только очень грамотно и очень внимательно.

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

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

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

С помощью встроенной в Kubuntu графической утилиты

Абсолютно незачем бестолково править fstab.

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

Монтируйте по UUID, как вам подсказали выше. Файловую систему укажите ntfs-3g

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

Если у твоей флешки метка тома «mydisk», то система без твоих фокусов будет монтировать ее в это место.

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

dolphin в свойствах показывает ntfs3, нужно 3 добавить?

Да, скорее всего. Либо ntfs3g.

alex1101
()
Ответ на: комментарий от 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
()
Ответ на: комментарий от alex1101

Ну вообще ему нужно бы noauto или nofail добавить к defaults, через запятую, да.

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

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

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

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

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

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

Прописал UUID. С ntfs норм старатует, если флэшка вставлена. Если же нет, то виснет. Ни nofail ни noauto не помогают

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

Возможно я всё же что то не так делаю, можно полный пример строки в fstabдля флэшки

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

Да, если флэшку воткнуть в этот момент то сразу загружается

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

Не уверен, что опция utf8 работает в случае ntfs

greenman ★★★★★
()

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

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

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

Тогда точно не /dev/sdX, а /dev/disk/by-label/* или /dev/disk/by-id/*

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

Не, серьёзно, почему я первый кто вспомнил, что коды 0 0 в конце строки значат вполне конкретные действия и отлично подходят дял корня, но не для флешки?

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

С каких пор fstab стала проблемной?

никто ещё не упамянул, что вконце файла /etc/fstab должна быть хотя бы одна пустая строка, иначе могут быть проблемы...

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

А разве они могут быть? Просто у меня nano, я с трудом представляю как сделать чтобы её там не было.

kirill_rrr ★★★★★
()

noauto где?

Про UUID тоже верно сказали.

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

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

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

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

Кто сказал udev? Хм… Никто не сказал. Ну, может быть на второй полусотне комментариев скажут…

vvn_black ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.