Форум русскоязычного сообщества Ubuntu


Автор Тема: как "залить" флешку "единичками" ?  (Прочитано 1642 раз)

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

Оффлайн Serge_E

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
как "залить" флешку "единичками" ?
« : 27 Январь 2011, 01:02:44 »
известно как залить девайсину(флешку) нулями ,  это:
dd if=\dev\zero of=\dev\sdb
\dev\sdb  -  это например флешка

а вот как ее родимую единичками ( 0xFF ) заполнить ?

чё-то не догоняю, да и сабж не гуглится.....

заранее всем спасибо  буду на форуме в течении суток

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #1 : 27 Январь 2011, 16:08:17 »
Поищите, может возможно создать устройство из которого будут сыпаться единички с помощью "mknod".
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2240
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #2 : 27 Январь 2011, 17:04:59 »
К сожалению, не являюсь спецом по bash, но вот мысль (в порядке бреда). Есть операция инвертирования (либо !, либо ^ - в разных местах по разному). Возможно, есть смысл попробовать ее использовать "между" /dev/zero и "приемником"?
(Как именно это записать - не знаю: см. первую фразу :) )

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1244
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #3 : 27 Январь 2011, 17:09:07 »
Ну, например, вот так:
while [ 1 == 1 ]; do echo -n 1; done | sudo dd of=/dev/sd?и до ошибки записи...

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #4 : 27 Январь 2011, 17:12:31 »
Как-то так
#!/bin/sh
while 1
do
echo -e "\xff" >> /dev/sdb
done
ЗЫ. С dd будет быстрее.
« Последнее редактирование: 27 Январь 2011, 17:21:41 от alexander.pronin »

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15194
    • Просмотр профиля
    • aetera.net

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1244
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #6 : 27 Январь 2011, 17:56:01 »
а, я единичками 11111111 залил  ;D

Цитировать
echo -e "\xff" >> /dev/sdb
что-то мне кажется, что так не получится, тк /dev/sdb блочное устройство, а не файл.
Хотя пробовать на реальной флешке как то не хочется, вдруг получится.  :)

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2240
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #7 : 27 Январь 2011, 18:03:30 »
Во, точно! tr -то что нужно в пайпе (кмк). :)

Оффлайн Serge_E

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #8 : 27 Январь 2011, 20:16:19 »
буду пробовать

откуда у меня возникла необходимость:
флешка  2Гб глючная,  иногда   
dd  ноликами без проблем заполняется   и  достаточно быстро
dd  случайными  числами  ой как небыстро // не дождался
badblocks   очень долго ночь работало   8 часов // сыпется много bad....
утилита производителя флешки под форточками  раньше показывала успешное исправление каких-то ошибок унутре флешки
флешку эту не жалко       на ней можно делать ОПЫТЫ         а вот например на 32Гб   долго все
для чего бывает нужно - для достаточно надежного и быстрого затирания всей флешки

так конечно можно  сгенерить файл по размеру флешки , заранее заполненый 0xFF ,  а потом этот файл dd, но не всегда хочется тратить место...
и получается не в одну строку....

спасибо всем кто посоветовал что-то реальное


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

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #9 : 28 Январь 2011, 08:30:32 »
Знает не dd, а труба. Или не знает.
Что-то течет по ней или не течет.

Пользователь решил продолжить мысль 28 Январь 2011, 08:33:33:
что-то мне кажется, что так не получится, тк /dev/sdb блочное устройство, а не файл.
Хотя пробовать на реальной флешке как то не хочется, вдруг получится.  :)
Проверить было бы интересно. Конечно с sudo.
Вообще-то, в лине все является файлами и блочные устройства тоже.
PS. Если не получится можно организовать fifo, типа

mkfifo tempfifo
и туда лить ff.
С другой стороны
cat tempfifo | dd ...
Так пойдет без вопросов.
« Последнее редактирование: 28 Январь 2011, 08:47:21 от alexander.pronin »

Оффлайн MA3X

  • Активист
  • *
  • Сообщений: 649
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #10 : 28 Январь 2011, 10:34:32 »


так конечно можно  сгенерить файл по размеру флешки , заранее заполненый 0xFF ,  а потом этот файл dd, но не всегда хочется тратить место...
и получается не в одну строку....

Я гарантирую - даже обычный гзип будет давить файл, состоящий из 0хFF с бешенным ратио.

dd if=/dev/zero bs=1M count=2048 | gzip >zero.gz 

- одна строчка, только выше было указано, как сделать там не 0, а FF. Получаем файлик-архив. и потом

cat zero.gz | gunzip | dd of=/dev/sdb

- одна строчка.



Пользователь решил продолжить мысль 28 Январь 2011, 10:36:38:
ой, ещё хочу спросить:
в dd есть опция   .....считывать и продолжать работать даже при наличии ошибок....
как это понимать?
откуда dd знает ,   что в считываемом файле   что-то сбойнуло    вроде к файлу никаких чек-сумм не приписано....?


Возникает ошибка ввода-вывода, которую ловит и обрабатывает dd.
« Последнее редактирование: 28 Январь 2011, 10:36:38 от MA3X »
Microsoft isn't the answer.
Microsoft is the question, and the answer is NO.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #11 : 28 Январь 2011, 10:37:33 »
Любопытно, какой длины zip файл получится ?

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2240
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #12 : 28 Январь 2011, 10:40:02 »
vladimir@vladimir:~$ dd if=/dev/zero bs=1M count=2048 | gzip >zero.gz 
2048+0 записей считано
2048+0 записей написано
скопировано 2147483648 байт (2,1 GB), 26,0651 c, 82,4 MB/c
vladimir@vladimir:~$ ls -l zero.gz
-rw-r--r-- 1 vladimir vladimir 2084105 2011-01-28 10:39 zero.gz
vladimir@vladimir:~$

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #13 : 28 Январь 2011, 10:58:06 »
Неплохо, получилось сжатие в 1000 раз. Скорость хорошая, на уровне скорости записи на винт (я так понимаю).

Оффлайн Serge_E

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: как "залить" флешку "единичками" ?
« Ответ #14 : 28 Январь 2011, 18:02:06 »
да,  действительно  ...зип...       хорошо
все сразу и не сообразишь

про то как dd ловит ошибку непонятно - ну да и ладно - это в порядке любознательности

спасибо всем большое

раньше в Науке и Жизни  журнале   была рубрика  что-то:  "маленькие хитрости и советы"

тут подобная рубрика может быть весьма обширной


еще раз спасибо коммьюнити

 

Страница сгенерирована за 0.056 секунд. Запросов: 22.