Для начала я использую Linux, и я нашел кое-что довольно интересное на одном из моих USB. Давным-давно я создал новую таблицу разделов на USB, FAT32, 8 ГБ за штуку (всего 16 ГБ) - установил на одном Linux linux, а другой использовал для хранения.

И вот однажды я вытер его чистым в новом формате и попытался записать на него файлы. Сказал, что может обрабатывать около 15,2 ГБ, что звучит правильно.

Пытался перенести на него около 14 ГБ данных, и у него возникли проблемы с записью. Всегда говорил, что места недостаточно, хотя на USB было сказано, что их гораздо больше.

Поэтому, конечно, мои инстинкты программиста включаются, и я перемонтирую usb, и начинаю склеивать некоторый быстрый питон, чтобы попытаться найти размер раздела, с которым я имел дело.

from collections import namedtuple
def disk_usage(path):
  """Return disk usage statistics about the given path.

  Returned valus is a named tuple with attributes 'total', 'used' and
  'free', which are the amount of total, used and free space, in bytes.
  """
  st = statvfs(path)
  free = st.f_bavail * st.f_frsize
  total = st.f_blocks * st.f_frsize
  used = (st.f_blocks - st.f_bfree) * st.f_frsize
  return namedtuple('usage', 'total used free')(total, used, free)

(Найдено при переполнении стека)

Сюрприз, сюрприз - я работаю с 8 ГБ данных из sdb1 Тогда я думаю, у меня была идея смонтировать sdb самостоятельно.

Угадай, что я найду.

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

Так из инстинкта; Я попробовал rm -rf * , затем с помощью sudo . Ни один из них не работал, поэтому я попытался сменить владельца на chown . Тогда я попытался дать новые разрешения на чтение и запись с помощью chmod Это не сработало. Даже пытался переформатировать диск, Конечно, он переформатировал - Но файлы все еще там. Итак, у меня есть несколько вопросов, надеюсь, мы все сможем выяснить, как ответить,

1) Как можно полностью изменить эффекты и вернуть USB на 16/15 ГБ в один раздел?

2) Если эту процедуру можно выполнить снова - может ли эта система «только для чтения» выполняться?

3) Поскольку таблицы разделов должны быть перезаписаны, почему файлы там?

2 ответа2

1

Ваш вопрос не на 100% ясен по некоторым ключевым деталям; однако вы должны знать, что как разделение диска, так и создание новой файловой системы ("форматирование" диска) оставляют большую часть данных на диске нетронутыми, просто "отвязанными" от любого доступа к отдельным файлам. Если вы выполняете поиск диска по секторам, вы можете восстановить старые файлы до операции передислокации диска или создания файловой системы. Такие инструменты, как PhotoRec, используют этот факт для восстановления старых файлов. Это справедливо как для традиционных носителей с вращающимся диском, так и для электронных носителей (флэш-накопители USB и твердотельные накопители), хотя при включении функций TRIM на твердотельном накопителе твердотельный накопитель может переназначить и удалить сектора, что затрудняет восстановление данных.

В зависимости от используемых типов таблиц разделов (MBR, GPT или гибридного формата Франкенштейна, используемого в установщиках большинства дистрибутивов Linux .iso ), задействованных файловых систем и того, что еще было записано на диск, вы можете легко увидеть достаточно старой файловой системы, чтобы иметь возможность монтировать ее; однако некоторые данные в более старой файловой системе, вероятно, будут уничтожены.

Я подозреваю , что ваш USB-накопитель в порядке, и вы просто оставили исходную таблицу разделов (которая делит диск на две равные части) без изменений. Вы можете просматривать и изменять таблицу разделов с тем, что программное обеспечение разделов вам нравится - как правило , GParted, parted fdisk или gdisk в большинстве дистрибутивов Linux, хотя есть и другие, тоже. Поскольку вы не показали вывод ни от одного из этих инструментов, я не могу быть уверен в текущем состоянии диска.

-1

Так что я не уверен во всех своих вопросах, но вот мой лучший снимок.

  • Во-первых, чтобы отменить эффекты, просто запустите dd if=/dev/zero of=sdX
  • Во-вторых ... Понятия не имею, почему это произошло.
  • В-третьих, да, он по-прежнему исполняется из MBR.

Переформатирование таблицы разделов с помощью следующих команд не повлияло на очистку файлов в sdX.

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

parted /dev/sdX mktable msdos

parted /dev/sdX mkpart primary partition_type 1 100%

wipefs -a /dev/sdX --force

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .