понеділок, 13 жовтня 2014 р.

Флешнакопичувач показує неправильний обсяг: історія відновлення розмітки в Linux

Після створення завантажувального флешнакопичувача Windows показувала лише кілька мегабайт замість 2 ГБ і не дозволяла звичним способом прибрати розділи. Тоді я звернувся до рятівного Linux — і таки розв’язав проблему :)

Це робота зі структурою носія, а не відновлення втрачених файлів. Команди нижче знищують дані на вибраному пристрої. Якщо потрібні файли ще не скопійовані, перезаписувати носій не можна.

Як визначався пристрій

Через тодішнє меню «Програми → Системні утиліти → Диски» я відкрив утиліту й знайшов потрібний USB-носій, перевірив його розмір і розмонтував усі розділи. У моїй системі він мав шлях /dev/sdb. Це лише приклад: на іншому комп’ютері за таким шляхом може бути системний або інший важливий диск.

Команди з початкового випадку

Повний перезапис і перші 512 байтів

Спочатку використовувався повний перезапис нулями з правами адміністратора:

dd if=/dev/zero of=/dev/sdb

Він перезаписує носій, а не створює файлову систему, і може тривати довго. У нотатці також був короткий варіант — перезапис лише перших 512 байтів:

dd if=/dev/zero of=/dev/sdb bs=512 count=1

Такий запис прибирає лише початкову ділянку. Він не очищає весь диск і не гарантує видалення всіх структур розмітки, наприклад резервних даних GPT. Вибір способу залежить від реального стану носія.

Створення розділу та файлової системи

Далі я створив розділ через:

fdisk /dev/sdb

Після розмітки файлову систему було створено у програмі «Диски». Ця послідовність допомогла в конкретному випадку; апаратну несправність контролера чи пам’яті вона не усуває. Поведінку dd описано в офіційному посібнику GNU Coreutils.

Немає коментарів:

K2 Chat — навіщо бізнесу ще один месенджер, особливо під час війни?

«Де файл?» — «У чаті». — «У якому із семи?» Знайома ситуація? Коли робочі домовленості розпорошені між месенджерами, команді складніше знах...