Вернуть возможность флешки форматироваться

Автор Hunt, 02 октября 2013, 01:16:22

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Hunt

Нашёл эту инструкцию, создал флешку с Debian и установил систему - работает, но как вернуть возможность флешки форматироваться и как нужно правильно возвращать флешку в изначальное состояние, чтобы была как до ввода каких-либо команд из инструкции?

Что выдаёт GParted
[свернуть]

Purcell

#1
Я бы попробовал в командной строке отформатировать.
$ sudo mkfs.vfat /dev/ваше_устройство

Документация (но мне хватает стандартной вышеуказанной команды):
man mkfs.vfat

Здесь главное не ошибиться с названием устройства. Уточнить название можно через: $ ls /dev или $ dmesg | tail
Последнюю команду набирать лучше сразу после подключения устройства.

ferum

Gparted корректно работает только с live cd/dvd
Русские дебианщики против цифрового слабоумия !

Hunt

#3
Цитата: Purcell от 02 октября 2013, 02:04:24
Я бы попробовал в командной строке отформатировать.
$ sudo mkfs.vfat /dev/ваше_устройство

root@debian:/media# mkfs.vfat /dev/sdb
mkfs.vfat 3.0.13 (30 Jun 2012)
mkfs.vfat: Device partition expected, not making filesystem on entire device '/dev/sdb' (use -I to override)


С первой командой не получилось форматировать. Нажимая на всё подряд (игнорировать, отмена) получилось восстановить флешку через GParted.

Открыть содержимое (спойлер)

Мои действия:
user@debian:~$ su
Пароль:
root@debian:/home/user# ls /dev
agpgart loop1      sda       tty17  tty41  tty9
autofs loop2      sda1      tty18  tty42  ttyS0
block loop3      sda2      tty19  tty43  ttyS1
bsg loop4      sda5      tty2   tty44  ttyS2
btrfs-control loop5      sdb       tty20  tty45  ttyS3
bus loop6      sdb1      tty21  tty46  uinput
cdrom loop7      sg0       tty22  tty47  urandom
cdrw loop-control      sg1       tty23  tty48  vcs
char MAKEDEV      sg2       tty24  tty49  vcs1
console mapper      shm       tty25  tty5   vcs2
core mcelog      snapshot  tty26  tty50  vcs3
cpu mem      snd       tty27  tty51  vcs4
cpu_dma_latency  net      sndstat   tty28  tty52  vcs5
disk network_latency     sr0       tty29  tty53  vcs6
dri network_throughput  stderr    tty3   tty54  vcs7
dvd null      stdin     tty30  tty55  vcsa
dvdrw oldmem      stdout    tty31  tty56  vcsa1
fb0 port      tty       tty32  tty57  vcsa2
fd ppp      tty0      tty33  tty58  vcsa3
full psaux      tty1      tty34  tty59  vcsa4
fuse ptmx      tty10     tty35  tty6   vcsa5
hidraw5 pts      tty11     tty36  tty60  vcsa6
hpet random      tty12     tty37  tty61  vcsa7
input rfkill      tty13     tty38  tty62  vga_arbiter
kmsg root      tty14     tty39  tty63  watchdog
log rtc      tty15     tty4   tty7   xconsole
loop0 rtc0      tty16     tty40  tty8   zero
root@debian:/home/user# mkfs.vfat /dev/sdb
mkfs.vfat 3.0.13 (30 Jun 2012)
mkfs.vfat: unable to open /dev/sdb: Device or resource busy
# Отмонтировал флешку в GParted
root@debian:/home/user# mkfs.vfat /dev/sdb
mkfs.vfat 3.0.13 (30 Jun 2012)
/dev/sdb: No medium found
root@debian:/home/user# umount /dev/sdb
umount: /dev/sdb: not mounted
# Отсоединил и присоединил флешку физически, снова
root@debian:/home/user# cd /media # хочу отсоединить устройство, без отсоединения флешки
root@debian:/media# ls
cdrom  cdrom0  Debian 7.1.0 amd64 1  usb  usb0 usb1
root@debian:/media# umount Debian\ 7.1.0\ amd64\ 1/ # отмонтировал
root@debian:/media# mkfs.vfat /dev/sdb
mkfs.vfat 3.0.13 (30 Jun 2012)
mkfs.vfat: Device partition expected, not making filesystem on entire device '/dev/sdb' (use -I to override)
[свернуть]

Сообщение объединено: 03 октября 2013, 11:32:40

Вообще есть ли на будущее какая-нибудь команда, чтобы востановить флешку не мучаясь с GParted?

mkfs.vfat: Device partition expected, not making filesystem on entire device '/dev/sdb' (use -I to override)

Английский не так сильно знаю. Просит добавить ключ -I, чтобы перезаписать флешку?

Purcell

#4
Hunt, просто вы совершили одну ошибку. Надо было вводить в терминале не mkfs.vfat /dev/sdb, а mkfs.vfat /dev/sdb1
Об этом же написано в вашем выводе:mkfs.vfat: Device partition expected, not making filesystem on entire device '/dev/sdb' (use -I to override) В свободном переводе это означает: "ожидался в качестве аргумента раздел устройства (/dev/sdb1), а не само устройство в целом (/dev/sdb); невозможно создать файловую систему на всё устройство в целом".

А вот эта команда umount /dev/sdb вообще бесполезна. Объясню подробно. Может быть, даже слишком подробно :) Если система не занимается автомонтированием, то происходит следующее:
Вставляем обычную флешку с файловой системой FAT в гнездо. В /dev появляется новое устройство: например, /dev/sdb и раздел на нём /dev/sdb1.
Монтируем файловую систему флешки к системе (чтобы иметь возможность работать с файлами на флешке):
# mount -t vfat /dev/sdb1 /media/USB USB - заранее созданная папка в каталоге /media. В этой папке теперь все данные флешки.
Работаем с флешкой.
Чтобы вынуть флешку без потери записанных данных, отмонтируем её. Но не именно устройство (/dev/sdb) или раздел устройства (/dev/sdb1), а файловую систему:
# umount /media/USB
Теперь можно вынимать флешку из гнезда. Устройство sdb само исчезнет из директории /dev.


yura_n

#5
Цитата: Purcell от 03 октября 2013, 15:37:27или раздел устройства (/dev/sdb1), а файловую систему:
Понятно, что нет смысла пытаться отмонтировать /dev/sdb, а в остальном и так, и так допускается. То есть, можно указать точку монтирования, как вы написали:

# umount /media/USB

а можно и раздел устройства:

# umount /dev/sdb1

И то, и другое правильно.

Сообщение объединено: 03 октября 2013, 16:24:28

Кстати, если флешка исправна, то cfdisk, затем mkfs (как уже предложили). Обычно это всегда работает.

Purcell

Цитироватьможно указать точку монтирования, как вы написали:

# umount /media/USB

а можно и раздел устройства:

# umount /dev/sdb1

И то, и другое правильно.

yura_n, спасибо вам за замечание. Не знал, что так можно.

ЦитироватьКстати, если флешка исправна, то cfdisk, затем mkfs (как уже предложили). Обычно это всегда работает.

Если флешка исправна, зачем заново раздел создавать с помощью cfdisk? Может, сразу отформатировать?

yura_n

Цитата: Purcell от 03 октября 2013, 16:44:26Если флешка исправна, зачем заново раздел создавать с помощью cfdisk? Может, сразу отформатировать?
Так может проблема как раз с таблицей разделов...

Purcell

Цитата: yura_n от 03 октября 2013, 16:46:19
Цитата: Purcell от 03 октября 2013, 16:44:26Если флешка исправна, зачем заново раздел создавать с помощью cfdisk? Может, сразу отформатировать?
Так может проблема как раз с таблицей разделов...
Ага, теперь я понял: если флешка исправна, но есть неполадки с форматированием, значит, возможны проблемы с таблицей разделов.

ferum

Из личных наблюдений. Как то раз  решил форматнуть флешку командой, вроде всё нормально без ошибок, потом система не может определить файловую систему. Я в винду, та предлагает отформатировать, делаем fat 32 опять в debian ????? не видит файловой системы!!!! Я в gparted там 2 раздела вместо одного и файловая система не читается, я перекраивать рахделы. Ошибка, не возможно выполнить операцию. Я в винду, флешка работает...что за дела??? Я за другой комп с debian файловая система не читается.....я дурак!!! опять в винду, чере управление дисками там две буквы для флешки, я перекраивать. Ошибка не возможно. Доигрался !!!! Низкоуровневое форматирование !!! Вуаля.
Вывод перед тем как форматировать флешку командой необходимо посмотреть командой sudo fdisk -l цифру , почему то не всегда /dev/sdb1 у меня случилось /dev/sdb2 и я накосячил.
Русские дебианщики против цифрового слабоумия !

Hunt

#10
Восстанавливаю так:

# umount /dev/sdb1
# mkfs.vfat /dev/sdb1


Потом в GParted:
Устройство -> Создать таблицу разделов

И флешка возвращается в изначальное состояние.

Joe Black

Привет из 2016го!

Такая же проблема. Ставил себе Дебиан через флешку, а товарищу записывал Арк Линукс на другую флешку. После этого обе флешки стали неюзабельны, показывает, что доступно 40 мегабайт. С помощью gparted всё исправил. Спасибо за топик!