nixp.ru v3.0

20 января 2017,
пятница,
00:40:27 MSK

DevOps с компанией «Флант»
Аватар пользователя Curu3MyHg
Curu3MyHg написал 12 ноября 2004 года в 01:50 (1330 просмотров) Ведет себя как мужчина; открыл 41 тему в форуме, оставил 896 комментариев на сайте.

Имеется USB Flash Transcend JetFlash на 256Мб (В реале на 246, так как 256 — это в байтах), с которой происходят загадочные вещи. При записи на неё, процесс неожиданно прерывается с сообщением, то о недостатке места, то о read-only filesystem, если в винде, то о невозможности найти какой-то сектор и предложением сохранить файл в другом месте. Возможность писАть на неё снова появляется, если флэшку физически отключить. Если этого не сделать, а просто отмонтировать, то при следующей попытке монтирования вылезает следующее:

# mount /mnt/flash
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       or too many mounted file systems
#

Если на флэшку не писАть, она нормально монтируется/размонтируется сколько угодно раз.

Файловая система — fat32. Вот, что вылезает при проверке:

fsck.vfat -lrvV /dev/sda1
................................................
................................................
Checking file /яяяяяяяя.яяя
Checking file /яяяяяяяя.яяя
Checking file /яяяяяяяя.яяя
Checking file /яяяяяяяя.яяя
/
  Has a large number of bad entries. (5312/5376)
  Not dropping root directory.
Checking file /MOVIES/.
Checking file /MOVIES/..
Checking file /MOVIES/44.AVI
Checking file /MOVIES/22.AVI
Checking file /MOVIES/33.AVI
Checking file /MOVIES/11.AVI
Checking file /MOVIES/55.AVI
Checking file /MOVIES/66.AVI
Checking for unused clusters.
Perform changes ? (y/n) y
/dev/sda1: 10764 files, 80617/126050 clusters

При чем строк  

Checking file /яяяяяяяя.яяя


Какое-то немеренное количество, хотя файлов в корне было на момент проверки 62.

Форматирование проблему не решает. Полностью использовать место не получается, больше 180Мб туда записать мне так и не удалось.

Обидно, флэшке всего год с небольшим. Она, правда, казенная, но все равно жалко…

P.S. Я правильно выбрал ветку форума? Или надо было в Другое?

pol

Сделай

#fdisk /dev/sda

p

И увидешь несколько разделов!

Переразбей по новой!

Скорей всего ты енто не делал (т.е не переразбивал после покупки)

У тебя на самом деле «кривое» разбиение ( у меня такая же флэшка на 128 метров), на ней покупки или если форматировать прилагаемым к ней софтом создаётся несколько левых разделов — там же подразумевается создание запароленной области!

Curu3MyHg
pol
Сделай

#fdisk /dev/sda

p

И увидешь несколько разделов!

Переразбей по новой!

Скорей всего ты енто не делал (т.е не переразбивал после покупки)

У тебя на самом деле «кривое» разбиение ( у меня такая же флэшка на 128 метров), на ней  покупки или если форматировать прилагаемым к ней софтом создаётся несколько левых разделов — там же подразумевается создание запароленной области!

Эта флэшка, к сожалению, не моя (а может и хорошо, что так). Её моему отцу на работе выдали, и она использовалась больше года тремя разными людьми (включая и меня). Проблемы неожиданно возникли пару дней назад.

Это до моих манипуляций (до того, как я начал мутить с разделами):

# fdisk -l /dev/sda
Disk /dev/sda: 259 MB, 259276800 bytes
50 heads, 63 sectors/track, 160 cylinders
Units = cylinders of 3150 * 512 = 1612800 bytes
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1       161    253102+   b  Win95 FAT32
Partition 1 has different physical/logical endings:
     phys=(945, 49, 63) logical=(160, 35, 63)
#

Это я её fdisk’ом потер.

# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 259 MB, 259276800 bytes
8 heads, 62 sectors/track, 1020 cylinders
Units = cylinders of 496 * 512 = 253952 bytes
   Device Boot    Start       End    Blocks   Id  System
#

А это я fdisk’ом создал на ней один раздел на все место, какое было.

# fdisk -l /dev/sda
Disk /dev/sda: 259 MB, 259276800 bytes
8 heads, 62 sectors/track, 1020 cylinders
Units = cylinders of 496 * 512 = 253952 bytes
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1      1020    252929    b  Win95 FAT32
#

После чего попробовал на неё что-нибудь записать. После копирования 100Мб система сказала, что места больше нет, оставив после себя половину файла 66.avi, на котором оборвалась запись. Больше ничего с флэшкой сделать было нельзя. Она кое-как читается, но не более.

Curu3MyHg

Далее просто цитирование консоли (думаю, так будет быстрее, и всем понятнее, чем если я буду словами излагать):

# mount /mnt/flash
# ls /mnt/flash
movies
# ls /mnt/flash/movies
11.avi  22.avi  33.avi  44.avi  55.avi  66.avi
# umount /mnt/flash
# mount /mnt/flash
# cd /mnt/flash/movies
# rm ./66.avi            // Это файл, на котором прервалась запись
rm: удалить обычный файл `./66.avi'? y
# cd /home/per/4pa
# cp ./66.avi /mnt/flash/movies/
cp: невозможно создать обычный файл `/mnt/flash/movies/66.avi': Read-only file system
# fdisk -l /dev/sda
# fdisk -l /dev/sda1
# fdisk /dev/sda
Unable to read /dev/sda
# umount /mnt/flash
#

// Здесь я физически отключаю флэшку и втыкаю обратно

# fdisk -l /dev/sda
Disk /dev/sda: 259 MB, 259276800 bytes
8 heads, 62 sectors/track, 1020 cylinders
Units = cylinders of 496 * 512 = 253952 bytes
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1      1020    252929    b  Win95 FAT32
# mount /mnt/flash
# cp ./66.avi /mnt/flash/movies/
cp: запись `/mnt/flash/movies/66.avi': No space left on device
# ls /mnt/flash/movies/
11.avi  22.avi  33.avi  44.avi  55.avi  66.avi
# fdisk -l /dev/sda
# umount /mnt/flash
# fdisk -l /dev/sda
# mount /mnt/flash
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       or too many mounted file systems
# fdisk /dev/sda
Unable to read /dev/sda
#

Вот что я имею при уже не читабельной и ещё не перевоткнутой (сам никогда такого слова не слышал) флэшкой:

# fsck.vfat -altvV /dev/sda1
dosfsck 2.8 (28 Feb 2001)
dosfsck 2.8, 28 Feb 2001, FAT32, LFN
Read 512 bytes at 0:Input/output error
#

А это уже после «перевтыкивания»:

# fsck.vfat -altvV /dev/sda1
dosfsck 2.8 (28 Feb 2001)
dosfsck 2.8, 28 Feb 2001, FAT32, LFN
Warning: FAT32 support is still ALPHA.
Boot sector contents:
System ID "mkdosfs"
Media byte 0xf8 (hard disk)
       512 bytes per logical sector
       512 bytes per cluster
        32 reserved sectors
First FAT starts at byte 16384 (sector 32)
         2 FATs, 32 bit entries
   1992192 bytes per FAT (= 3891 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 4000768 (sector 7814)
    498044 data clusters (254998528 bytes)
62 sectors/track, 8 heads
         0 hidden sectors
    505858 sectors total
Starting check/repair pass.
Checking file /
Checking file /movies (MOVIES)
Checking file /movies/.
Checking file /movies/..
Checking file /movies/11.avi (11.AVI)
Checking file /movies/22.avi (22.AVI)
Checking file /movies/33.avi (33.AVI)
Checking file /movies/44.avi (44.AVI)
Checking file /movies/55.avi (55.AVI)
Checking file /movies/66.avi (66.AVI)
/movies/44.avi
  Contains a free cluster (160000). Assuming EOF.
/movies/44.avi
  File size is 26011446 bytes, cluster chain length is 22704128 bytes.
  Truncating file to 22704128 bytes.
/movies/55.avi
  Contains a free cluster (166460). Assuming EOF.
/movies/55.avi
  File size is 8991452 bytes, cluster chain length is 0 bytes.
  Truncating file to 0 bytes.
/movies/66.avi
  Contains a free cluster (175360). Assuming EOF.
/movies/66.avi
  File size is 17104896 bytes, cluster chain length is 524288 bytes.
  Truncating file to 524288 bytes.
Checking for bad clusters.
Reclaiming unconnected clusters.
Checking free cluster summary.
Free cluster summary wrong (290303 vs. really 337023)
  Auto-correcting.
Starting verification pass.
Checking file /
Checking file /movies (MOVIES)
Checking file /movies/.
Checking file /movies/..
Checking file /movies/11.avi (11.AVI)
Checking file /movies/22.avi (22.AVI)
Checking file /movies/33.avi (33.AVI)
Checking file /movies/44.avi (44.AVI)
Checking file /movies/55.avi (55.AVI)
Checking file /movies/66.avi (66.AVI)
Checking for unused clusters.
Performing changes.
/dev/sda1: 14 files, 161021/498044 clusters
#

Вот такая вот хуйня…(с)Егор Летов

Ещё какие-нибудь версии есть? Или я что-то не то делаю? Или может просто «сдохла»…

P.S. Это не только на моей машине(в смысле дело не в каком-то другом железе, а именно в флэшке), на отцовском ноуте под winXP та же фигня.

Curu3MyHg

Попробовал что-нибудь записать в корень — записалось еще 9 метров и снова нет места, похоже, это предел(где-то около 100Mb). Для продолжения работы опять пришлось «перевоткнуть».

Кстати, после fsck стали чуток читаться половины файлов(те, на которых обрывалась запись).

В общем, по моим наблюдениям, на флэшку, на данный момент, можно записать чуть больше 100Мб (вчера мне удалось записать 160Мб, но вчера я форматировал только под виндой, тупо нажимая Format). После первой операции удаления, и после получения сообщения о нехватке места, продолжить работу с флэшкой можно только после её физического разъединения с машиной.

Genie

dd if=/dev/sda of=/dev/null

где оно споткнётся?

можно попробовать обнулить всю флешку

dd bs=1M count=`let s=259276800/1048576; echo $s` if=/dev/zero of=/dev/sda

или только раздел (указав размер раздела и /dev/sda1)

а потом прочитать это дело обратно.

Curu3MyHg
Genie
dd if=/dev/sda of=/dev/null

где оно споткнётся?



# dd if=/dev/sda of=/dev/null
506400+0 входных записей
506400+0 выходных записей
#

А это после приведения её в нерабочее состояние вышеуказанными методами

# dd if=/dev/sda of=/dev/null
dd: чтение `/dev/sda': Input/output error
0+0 входных записей
0+0 выходных записей
#


Genie
можно попробовать обнулить всю флешку

dd bs=1M count=`let s=259276800/1048576; echo $s` if=/dev/zero of=/dev/sda

или только раздел (указав размер раздела и /dev/sda1)

а потом прочитать это дело обратно.



# dd bs=1M count=`let s=259276800/1048576; echo $s` if=/dev/zero of=/dev/sda
247+0 входных записей
247+0 выходных записей
# dd if=/dev/sda of=/dev/null
dd: чтение `/dev/sda': Input/output error
0+0 входных записей
0+0 выходных записей
#

В общем, бесперспективняк….

А после перевтыкивания — опять:

[root@Curu3MyHg pereletnuy]# dd if=/dev/sda of=/dev/null
506400+0 входных записей
506400+0 выходных записей
#

А что, вообще с флэшками бывает?

Genie

похоже, что того..

издохла.

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.