Как определить физическое местоположение данных на диске?

13

Кто-нибудь знает способ выяснить, где физически на CD или DVD будет расположен данный фрагмент данных?

Я сейчас пытаюсь посмотреть DVD, и уже на полпути, но он продолжает умирать в определенном месте фильма, предположительно из-за царапины. У меня есть ремонтный комплект, но я не знаю, на чем сфокусировать мой ремонт, потому что на диске есть несколько потертостей и царапин, и я не знаю, какой из них вызывает проблему.

Очевидно, что очистка всех из них нецелесообразна, поскольку она не только тратит впустую расходуемые материалы в наборе, но и не все из них является проблемой, и при работе с ними некоторые могут стать нечитаемыми. Более того, только то, что я на полпути к фильму, не означает, что он будет на полпути от центра к краю по нескольким причинам:

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

Поэтому я пытаюсь найти программу, которая может позволить мне определить файл (или его часть), кластер и т. Д. И показать мне, где на CD / DVD он будет расположен. Таким образом, я могу посмотреть на диск и исправить любые царапины, которые соответствуют этому расстоянию от центра.

Например, изображение ниже может указывать, где на диске будет расположена пара файлов или диапазон кластеров, поэтому, если искать аномалии в этих областях (при необходимости вращая), можно определить правильный.

Я уверен, что это можно сделать, так как по крайней мере одна форма защиты от копирования ( DPM ) использует его, а DVD-lab Pro включает функцию «Топология DVD» для этого.

введите описание изображения здесь

Synetech
источник
Нет .. но очень интересный вопрос. Я хотел бы знать то же самое о дисках (даже если вы ничего не можете сделать, чтобы восстановить их)
Джефф Ф.
Я не уверен насчет хранения DVD / CD, но для жестких дисков оно никоим образом не является линейным.
EBGreen
3
@Synetech Кроме того, на соответствующей заметке, но не отвечая непосредственно на вопрос. Во многих магазинах Video Rental есть устройство для ремонта DVD, которое безопасно восстановит поверхность диска. Обычно они взимают небольшую плату, но она работает очень хорошо и может удалить глубокие царапины.
Джефф Ф.
Согласился с Джеффом Ф. интересным вопросом, и я не знаю, как это сделать, но если вы хотите посмотреть фильм в ожидании ответа :), вы можете попробовать скопировать DVD на другой, так как обычно программы копирования лучше читать ошибки, чем DVD-плееры и много раз это «исправили» диск.
Лоран
1
Оптические диски, безусловно, линейные, изнутри наружу. Как двойные слои влияют на это, я не знаю, но большинство коммерческих дисков НЕ используют функциональность DL линейно.
Джонатан Гарбер

Ответы:

3

Это не хочет быть ответом на ваш полный вопрос, а представляет собой серию ответов на второстепенные вопросы, из которых можно составить окончательный ответ, если таковой имеется.

Предположим, что ваш «ремонтный комплект» действительно работает и делает плохие сектора снова читаемыми… (так что предположим, что вы не теряете время)

Вы сказали, что фильм останавливается в «середине», но, очевидно, вы не знаете, где эта середина на поверхности диска. Вы можете попробовать использовать ddкоманду для Linux с опцией conv=noerrorдля создания образа диска. Если вы получили ошибку чтения, у вас может быть более точное представление о том, какой сектор поврежден, потому что dd предупредит вас в стандартном выводе об ошибке.

Кроме того, имейте в виду, что на этом этапе (создание образа диска) вы можете даже получить полный образ на жестком диске, потому что диск вашего компьютера (предположим, вы смотрите фильмы на приставке) может , и я говорю, может работать лучше (или часто хуже), чем диск, на котором вы смотрели фильм. В этом случае я предлагаю вам попрощаться с исправлением диска, взломать CSS и записать его на чистый носитель, вы можете сделать это по праву, потому что у вас есть оригинал и вы делаете личную резервную копию.

Если вы получили ошибку чтения, вы можете продолжить расследование. Что я могу вам сказать, так это то, что Linux рассматривает устройство как линейные блочные устройства (от 0 до около 9 ГБ), и около 4,5 ГБ происходит двухуровневый переход. DVD-диски всегда записываются с внутренних на внешние дорожки, и, по моему опыту, то же самое относится ко второму слою, поэтому, если вы можете найти количество поврежденных секторов, вы можете получить представление о том, на какой поврежденной дорожке это может быть ближе. к.

Я бы исследовал формат адресации UDF, чтобы найти подсказки о отображении секторов на дорожки. Жесткие диски обычно используют адресацию CHS (цилиндр, головка, сектор), но я считаю, что DVD отличаются.

Извините, если я не отвечу на ваш вопрос, но это действительно сложно.

USR-местный ΕΨΗΕΛΩΝ
источник
Я не думаю, что вам нужно смотреть на UDF, это файловая система, и dd будет принимать необработанные данные блок за блоком. Поэтому, если вы получите ошибку чтения, вы сможете приблизительно оценить, где на диске он находится. Если вы не получили ошибку чтения, но чтение с образа dd все равно не удалось, проблема не в DVD.
Эрик Дарчис
@EricDarchis UDF должен был упростить анализ. Если бы я знал, какой файл поврежден, и если бы я мог тогда знать, как UDF адресует его, и если бы я знал отображение между логическим адресом UDF и физическим адресом DVD, и если бы я знал, как сопоставить физические адреса DVD с расстоянием от центра, я мог бы тогда создать графический интерфейс, который показывает мне, где плохие сектора на диске. Это все гипотетически, я не знаю о UDF или других файловых системах.
usr-local-ΕΨΗΕΛΩΝ
I would investigate the UDF addressing format to find hints about mapping sectors to tracks. Hard disks conventionally use CHS addressing (cylinder, head, sector) but I believe DVDs are different. @djechelon, да, это действительно потребовало бы знания форматов, чтобы сделать вычисления. Sy
Synetech