akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
Заметил у себя удивительную вещь: файловя система первого раздела как бы привязывается куда ни попадя. Ниже фрагмент lsblk -f; sda - это винт, sda2 - Extended Partition, sdb - флэшка с разбивкой, sdc - флэшка "BigFloppy". Никаких средств автомонтирования в это момент нет (ни ФМ с автомонтированием, ни правила udev), udisks не установлен, udisks2 установлен. sda vfat DOS 4E05-3164 ├─sda1 vfat DOS 4E05-3164 /home/ftp1/pub/c ├─sda2 vfat DOS 4E05-3164 ├─sda3 swap DOS 14d9a71d-c13f-4a66-9788-c0de65c98173 [SWAP] ... sdb vfat AK-16G C41B-67D2 └─sdb1 vfat AK-16G C41B-67D2 sdc vfat AG-4G_BF 529A-EEF2 А вот теперь восстанавливаю автомонтирование udev, вынимаю, и снова вставляю обе флэшки. Ниже соответствующая часть вывода lsblk и mount: /dev/sdb on /media/AK-16G type vfat ... /dev/sdc on /media/AG-4G_BF type vfat ... sdb vfat AK-16G C41B-67D2 └─sdb1 vfat AK-16G C41B-67D2 sdc vfat AG-4G_BF 529A-EEF2 /media/AG-4G_BF
Правило udev такое: cat 12-media-by-label-auto-mount.rules KERNEL=="sd[b-z][1-9]*", GOTO="test_FS" KERNEL!="sd[b-z]", GOTO="media_by_label_auto_mount_end" LABEL="test_FS" # Import FS infos IMPORT{program}="/sbin/blkid -o udev -p %N" ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end" # Get a label if present, otherwise specify one ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="%k" # Global mount options ACTION=="add", ENV{mount_options}="uid=1000,umask=022,dmask=0" # Filesystem-specific mount options ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="$env{mount_options},codepage=866,iocharset=utf8" ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="defaults,$env{mount_options}" # Mount the device ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}" # Clean up after removal ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" # Exit LABEL="media_by_label_auto_mount_end" |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
я бы переразметил флешки, но сначала забил бы их нулями.... dd if=/dev/zero of=/dev/sdX
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
nafanjaИ винт тоже? И ещё две флэшки тоже? Нет, тут явно что-то не то с системой. Кстати, blkid выдаёт аналогичную фигню, так что собака глубоко зарыта. 2All: а что у вас показывает lsblk -f на sda, sdb и прочие диски с таблицей разделов? |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 btrfs old e4910ee7-f4d2-4da5-83e9-1b8c1bcd5a15 sdb ├─sdb1 ntfs 22EC5685EC565361 ├─sdb2 ext4 Boot c16097bc-d21e-4172-abd2-518fc73ed01b ├─sdb3 ext4 Root ce0f399c-1299-4030-8872-4148436ac932 / ├─sdb4 ├─sdb5 ext4 Home 3b62c2bf-40ac-444a-aacf-b60f0746cab6 /home └─sdb6 swap Swap ebd176ec-5c7e-49f7-afec-5b339612c2a0 [SWAP] sdc ├─sdc1 ntfs Win 8 08441B19441B08D8 ├─sdc2 ├─sdc3 ├─sdc5 ntfs WinDb 5EE19BD93AC3B2F4 └─sdc6 sdd sr0 iso9660 Acronis Media 2010-04-25-23-49-04-00 sdd чистейшая флешка забитая нулями sdb4 sdc3 - расширенный раздел sdc2 sdc6 не отформатирован akorop, реально ты у себя что то наворотил...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
кстати я сделал так же как у тебя сначала отформатировал /dev/sdd потом разбил с на разделы и получил sdd vfat 3B2C-76F4 ├─sdd1 vfat 3B2C-76F4 └─sdd2 vfat 3B2C-76F4
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
отформатировал sdd1sdd vfat 3B2C-76F4 ├─sdd1 vfat 786A-9026 └─sdd2 vfat 3B2C-76F4 И, главное, чем это чревато? Не запишется ли мне однажды бутсектор файловой системы поверх MBR, и FAT со сдвигом в -20 секторов?примонтирую sdd1 создам там файлик с текстом, по идее он создастся в начале диска. потом отмонтирую и примонтирую sdd, и создам файлик но большой, надеюсь он затрет файл на разделе sdd1.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
вуаля, эксперимент прошел успешно, после копирования нескольких больших фильмов на sdd, на sdd1 появилась куча разных файлов с не читаемыми символами, а текстового файла нет! но разметка разделов не изменилась. думаю ответ на твой вопрос ясен?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
nafanjaНичего себе... Если я правильно понимаю жизнь, то это критический баг в системе. Или деструктивная глюкофича. Об этом обязательно надо багрепортить, только не пойму куда. Поэкспериментировал и я, и оказалось, что обойти этот баг мне не так-то просто. У меня кругом стоит grub4dos, и баг именно нём и проявляется. Если я ставлю стандартный MBR - у sdb файловой системы не обнаруживается, но теперь я с этой флэшки не могу загрузиться. Если я снова устанавливаю grub4dos - опять у sdb появляется как бы файловая система. Обнуление остальных секторов нулевой дорожки не влияет. Присмотрелся я к тому MBR, который ставит bootlace.com - а в нём в начальной части какие-то странные слова, вроде FAT32. При этом код начинается с адреса 0x60. Ну я и обнулил 16 байтов с 0x40. Загрузочной флэшка осталась, глюк с файловой системой sdb исчез. Повторил ту же операцию с sda - тоже прокатило. Я это дело ещё поисследую, так что пока "[РЕШЕНО]" в заголовок не вставляю. |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
Результаты такие. Кто виноват. Если на флэшку (скажем, sdb) поставить grub4dos, то с большой вероятностью систему поражает шизофрения: она считает, что диск имеет разбивку и показывает sdb1, но при этом одновоременно считает, что файловую систему имеет прямо весь sdb (LargeFloppy). Увидеть это можно командой lsblk -f. Вообще-то, в MBR от grub4dos используются первые 8 байтов, и затем начиная с 0x60, но в промежуток между ними bootlace.com пишет какой-то мусор, от которого система и балдеет. Я понимаю, что, наверно, нет абсолютно надёжного способа различить диск Partitioned и LargeFloppy, и я бы не удивился, если в какой-то ситуации Partitioned воспринимается как LargeFloppy, но не одновременно же! Вот только не пойму, куда это надо багрепортить - ядерщикам, что ли? Что делать. Конкретно для grub4dos - обнулить в MBR байты с 0x08 по 0x5F. Просто обнулить какие-то слова вроде FAT32 мало - даже совершено невинные с виду двоичные данные могут спровоцировать ошибку, а обнуление всего промежутка даёт надёжное излечение. Конкретные команды: umount /dev/sdb umount /dev/sdb1 dd if=/dev/zero of=/dev/sdb bs=1 seek=8 count=88 eject /dev/sdb |
vasek |
|
Темы:
47
Сообщения:
11853
Участник с: 17 февраля 2013
|
Какой багрепорт — если Вы грубо нарушаете все стандарты и спецификации USB, согласно которым, такая операция не допустима. Правда, сейчас такие операции уже возможны, но с использованием опять же специальных фирменных утилита для разбивания флешки на разделы, например такая утилита имеется у trancsend (у других не знаю). Ну а если уж Вам необходимо проделать такую операцию самостоятельно (в обход всех норм и правил), то чтобы грамотно проделать эту операцию, необходимо определить контроллер флешки, а уж к нему подобрать соответствукющую утилиту. Тогда не будет никаких проблем. При желании можете даже воткнуть виртуальный CD ROM. Уточняю - для этого должен быть специальный драйвер. А так, как это делаете это Вы, прямо в лоб, разделы флешки могут быть не правильно отображаться в отдельных системах и работать не правильно, что nafanja и продемонстрировал. Вообще не вижу смысла разбивать флешку, да притом загрузочную, на разделы. Сам все загрузочные флешки всегда делаю с grub4dos и проблем нет. Если что то нужно вдруг на ее записать (что бывает довольно редко) имеется отдельная папка DOC — и без проблем.
Ошибки не исчезают с опытом - они просто умнеют
|