Как в WinHex пометить bad-блоки на флешке? Файловая система FAT32.
» X-Ways WinHex
ребята, такая проблемма. Впервые столкнулся с программой. Значит так, имеется загрузочный сектор для виндовс на флешке. Исполняемый файл там ntldr, нужно переименовать его, например, в n.bss чтоб не потерять опции загрузки. Открываю winhex, жму F9, выбираю свой флеш накопитель. Дальше какие мои действия? Можно пошаговое описание. Программа есть на английском и на русском.
Pacho
Цитата:
Может ты знаеш как это сделать в других редакторах?
Когда-то упорно пытался понять как это сделать - но сложновато - вдимо щитать надо много. Вобщем так и не понял как выглядит в таблице помеченный испорченным кластер
Цитата:
Как в WinHex пометить bad-блоки на флешке?
Может ты знаеш как это сделать в других редакторах?
Когда-то упорно пытался понять как это сделать - но сложновато - вдимо щитать надо много. Вобщем так и не понял как выглядит в таблице помеченный испорченным кластер
euheny
Цитата:
Здесь описание структуры диска:
_http://web-protect.net/dsk.htm
Сбойные сектора помечаются:
Код: FF7h для FAT12
FFF7h для FAT16
FFFFFF7h для FAT32
Цитата:
Вобщем так и не понял как выглядит в таблице помеченный испорченным кластер
Здесь описание структуры диска:
_http://web-protect.net/dsk.htm
Сбойные сектора помечаются:
Код: FF7h для FAT12
FFF7h для FAT16
FFFFFF7h для FAT32
2Pacho, euheny: Это imho оффтопик. Потому что до пометки сбойных блоков на физическом уровне WinHex'ом imho не добраться (таблицы лежат в секторах, в пользовательском режиме недоступных). А для пометки на логическом уровне - в FAT'е - достаточно скандиска (или NDD) с опцией проверки поверхности.
Кстати, блоки - вернее, отображение физических секторов на логические - контроллер постоянно тасует. И логический кластер, сбойный сегодня, может "стать" нормальным завтра - и наоборот.
Кстати, блоки - вернее, отображение физических секторов на логические - контроллер постоянно тасует. И логический кластер, сбойный сегодня, может "стать" нормальным завтра - и наоборот.
and23
Цитата:
Скандиск тупо виснет на 25% (видимо, там первый бэд), а NDD в Windows 2000/XP/2003 не проверяет на бэды... И ваще я не знаю программ, которые проверяют на бэд-блоки флешки.
Вот и подумал, мож вручную удастся пометить через WinHEX.
Цитата:
А для пометки на логическом уровне - в FAT'е - достаточно скандиска (или NDD) с опцией проверки поверхности.
Скандиск тупо виснет на 25% (видимо, там первый бэд), а NDD в Windows 2000/XP/2003 не проверяет на бэды... И ваще я не знаю программ, которые проверяют на бэд-блоки флешки.
Вот и подумал, мож вручную удастся пометить через WinHEX.
2Pacho: Тогда - раз уж обсуждаем решение средствами WinHex'а - пробуйте слить образ этой флешки. Так узнаете номер сбойного сектора (если он вообще есть). Попытки записи в него, скорее всего, приведут к ремапу средствами самого контроллера флешки. Если нет, то по номеру сектора можно вычислить номер сбойного кластера и пометить его в FAT'е.
Pacho
Цитата:
спасибо за ссылку - может для нтфс знаеш чего?
and23
Цитата:
да нет - он как раз для подобных операций
Pacho
Цитата:
так загрузи дос
Цитата:
в теме про флэшки в моей подписи, есть один спец по флэшкам - попробуй у него спросить
Цитата:
Здесь описание структуры диска:
спасибо за ссылку - может для нтфс знаеш чего?
and23
Цитата:
до пометки сбойных блоков на физическом уровне WinHex'ом imho не добраться
да нет - он как раз для подобных операций
Pacho
Цитата:
а NDD в Windows 2000/XP/2003 не проверяет на бэды
так загрузи дос
Цитата:
бэд-блоки флешки
в теме про флэшки в моей подписи, есть один спец по флэшкам - попробуй у него спросить
and23
Pacho
Есть комплект утилит Flash Memory Toolkit. Для данной задачи он подойдёт. А то, затеяли стрельбу из пушки по воробьям.
P.S.
Ссылки там рабочие, только смотри в низу окошка на сайте.
Pacho
Есть комплект утилит Flash Memory Toolkit. Для данной задачи он подойдёт. А то, затеяли стрельбу из пушки по воробьям.
P.S.
Ссылки там рабочие, только смотри в низу окошка на сайте.
2euheny:
Цитата:
Цитата:
да нет - он как раз для подобных операцийПовторяю: таблицы трансляции лежат в областях, недоступных в пользовательском режиме, и WinHex'у в том числе. Доступ туда имеет контроллер и, возможно, фирменные утилиты. Ну и, естественно, программатор :-)
and23
Цитата:
так они нам и ненужны - зачем так глубоко рыть
суть в том чтот есть сектора на которых проги виснут
если эти сектора пометить, то их никто трогать не будет и сделать это можно в фате
хотя мне кажется что проги просто криво написаны - недолжны они виснуть
но скорее криво написана винда...
Цитата:
таблицы трансляции
так они нам и ненужны - зачем так глубоко рыть
суть в том чтот есть сектора на которых проги виснут
если эти сектора пометить, то их никто трогать не будет и сделать это можно в фате
хотя мне кажется что проги просто криво написаны - недолжны они виснуть
но скорее криво написана винда...
2euheny: Я и не предлагал "глубоко рыть". Если помниете, я лишь сказал, что до пометки на _физическом_ - а это как раз-таки таблицы трансляции - уровне WinHex не доберётся.
В FAT'е пометить _сектора_ нельзя. "Единицей измерения" там является _кластер_. (В скобках замечу, что размер кластера в принципе может быть равен одному сектору... но где Вы такое видели? :-) )
В FAT'е пометить _сектора_ нельзя. "Единицей измерения" там является _кластер_. (В скобках замечу, что размер кластера в принципе может быть равен одному сектору... но где Вы такое видели? :-) )
and23
Только контроллер, отдельные фирменные утилиты через технологический интерфейс (найти практически не реально) и специальные комплексы для ремонта дисковых накопителей. А пометить физические бэды в P-/G-list? Х-м-м... хочу посмотреть на программное обращение по чтению/записи к сектору с адресом 00:00:-01 и ниже, равно как и к инженерным цилиндрам, естественно без "танцев с бубном" в виде фирменной команды "диагностика" с её не документированными параметрами. Более того, мечтаю я на это посмотреть, уже добрых лет двадцать пять мечтаю, с того момента как впервые пришлось ремонтировать IDE винт нечано спалённый моим сотрудником - не хотелось платить за спалённую машину $15000 по балансовой стоимости машины.
Только контроллер, отдельные фирменные утилиты через технологический интерфейс (найти практически не реально) и специальные комплексы для ремонта дисковых накопителей. А пометить физические бэды в P-/G-list? Х-м-м... хочу посмотреть на программное обращение по чтению/записи к сектору с адресом 00:00:-01 и ниже, равно как и к инженерным цилиндрам, естественно без "танцев с бубном" в виде фирменной команды "диагностика" с её не документированными параметрами. Более того, мечтаю я на это посмотреть, уже добрых лет двадцать пять мечтаю, с того момента как впервые пришлось ремонтировать IDE винт нечано спалённый моим сотрудником - не хотелось платить за спалённую машину $15000 по балансовой стоимости машины.
and23
Цитата:
суть в том что мы помечам кластер в состав которого входит сбойный сектор, и сделать это можно только в фат-ах
кстати на мой взгляд 512байт уже очень мало - гораздо более подойдёт 8кбайт для размера сектора
причём во флэшках вроде как и нет таких малых секторов - контроллер организует видимость мелких секторов.
Цитата:
В FAT'е пометить _сектора_ нельзя. "Единицей измерения" там является _кластер_.
суть в том что мы помечам кластер в состав которого входит сбойный сектор, и сделать это можно только в фат-ах
кстати на мой взгляд 512байт уже очень мало - гораздо более подойдёт 8кбайт для размера сектора
причём во флэшках вроде как и нет таких малых секторов - контроллер организует видимость мелких секторов.
euheny
У флэш накопителей понятия "сектор, кластер" в принципе вещь логическая - они оперируют страницами и строками памяти которые стираются, читаются, модифицируются и пишутся как единое целое. И обычно "страница" имеет размер от 64 Кб до 16 Мб в зависимости от ёмкости и организации матрицы памяти. Потому естественно, что контроллер в режиме совместимости с FDD/HDD/Zip эмулирует их логическую структуру. Именно благодаря такой организации памяти накопитель может использовать свою ёмкость почти на 100%. Коли интересно что это за принципы, то погляди документы с этой страницы - там спецификации и описания принципов работы Flash памяти в формате PDF от разработчика памяти данного класса - Intel Technologies. Эта память была ими описана ещё если мне память не изменяет в 1993 году, а запатентована на несколько лет раньше. Просто книгу с описанием принципов работы флеш-памяти от Intel искать нет желания. У меня их несколько тысяч.
У флэш накопителей понятия "сектор, кластер" в принципе вещь логическая - они оперируют страницами и строками памяти которые стираются, читаются, модифицируются и пишутся как единое целое. И обычно "страница" имеет размер от 64 Кб до 16 Мб в зависимости от ёмкости и организации матрицы памяти. Потому естественно, что контроллер в режиме совместимости с FDD/HDD/Zip эмулирует их логическую структуру. Именно благодаря такой организации памяти накопитель может использовать свою ёмкость почти на 100%. Коли интересно что это за принципы, то погляди документы с этой страницы - там спецификации и описания принципов работы Flash памяти в формате PDF от разработчика памяти данного класса - Intel Technologies. Эта память была ими описана ещё если мне память не изменяет в 1993 году, а запатентована на несколько лет раньше. Просто книгу с описанием принципов работы флеш-памяти от Intel искать нет желания. У меня их несколько тысяч.
2euheny: Я ещё в первом своём ответе упомянул про "блок". Это как раз и есть та единица, с которой флешка работает "внутри себя". И блок, конечно, больше 512 байт... только вот чтоб работать именно с блоками, нужно опуститься на тот самый недоступный физический уровень.
2Victor_VG: Ну, HDD всё же "несколько" :-) отличаются от флешек... хотя служебка тоже недоступна в обычном - пользовательском - режиме. Но, в отличие от флешек, добраться до неё на большинстве моделей не представляет особой сложности.
Команды доступа - да, не документированы. Однако в ATA-стандарте под них специально выделены диапазоны - "Vendor-specific commands".
2Victor_VG: Ну, HDD всё же "несколько" :-) отличаются от флешек... хотя служебка тоже недоступна в обычном - пользовательском - режиме. Но, в отличие от флешек, добраться до неё на большинстве моделей не представляет особой сложности.
Команды доступа - да, не документированы. Однако в ATA-стандарте под них специально выделены диапазоны - "Vendor-specific commands".
Victor_VG
Цитата:
может на русском есть что свежее (для флэшек по 64Гб вкючительно)
подобная инфа мне на глаза как-то не попадается.
Цитата:
У меня их несколько тысяч.
может на русском есть что свежее (для флэшек по 64Гб вкючительно)
подобная инфа мне на глаза как-то не попадается.
Народ помогите!
Пытаюсь сохранить содержимое флэшки в бинарном коде - открываю, а строка сохранить в меню неактивная (серая, недоступна)!
В чём засада???
Winhex 15.1 SR6
Пытаюсь сохранить содержимое флэшки в бинарном коде - открываю, а строка сохранить в меню неактивная (серая, недоступна)!
В чём засада???
Winhex 15.1 SR6
Провел сравнение по скорости двух версий 11.6.13 и WinHex 15.1 SR-6
на функции Open Disk
Этап Traversing cluster chains... выполняется в 11-й версии на порядок быстрее,
к тому же его можно прервать и продолжить работу с деревом директорий диска.
В чем причина?
на функции Open Disk
Этап Traversing cluster chains... выполняется в 11-й версии на порядок быстрее,
к тому же его можно прервать и продолжить работу с деревом директорий диска.
В чем причина?
euheny
Принцип построения накопителя не изменится. 3D матрица памяти. Считываться строка целиком, а потом микроконтроллер накопителя выбирает из неё нужные байты. Запись также осуществляется полной строкой. А вот стирается сразу блок (страница) состоящий из группы строк. Обычный размер страницы 64К, строки 64/128/256 байт. Это сделано для уменьшения длительности цикла "чтение-модификация-запись" в накопителе. Среднестатистическая его надёжность порядка 107 циклов записи. Каждая операция форматирования использует примерно 40 - 50 из них. Срок хранения данных на накопителе 8 - 10 без разрушения информации. От ёмкости накопителя эти параметры не зависят. Они определяются физикой запоминающих ячеек MNOP-транзисторов. Их особенность заключается в том, что под металлическим затвором между двумя слоями диэлектрика расположен слой электрета - вещества способного сохранять состояние приложенного электрического поля длительное время. На затвор подаётся импульс напряжения достаточный для переключения ячейки и состояние поля сохраняется в структуре электрета. После снятия управляющего поля состояние ячейки определяется полем электрета. И именно его параметрами в основном определяется её надёжность и быстродействие. А разбиение на блоки-подматрицы стандартный приём ускорения работы массивов памяти за счёт распараллеливания операций в многомерном массиве памяти. Любой современный модуль памяти или флэш-накопитель построены по этому принципу. Ничего новее и надёжнее пока, увы не изобрели. Только его модификации с целью упрощения производства.
Принцип построения накопителя не изменится. 3D матрица памяти. Считываться строка целиком, а потом микроконтроллер накопителя выбирает из неё нужные байты. Запись также осуществляется полной строкой. А вот стирается сразу блок (страница) состоящий из группы строк. Обычный размер страницы 64К, строки 64/128/256 байт. Это сделано для уменьшения длительности цикла "чтение-модификация-запись" в накопителе. Среднестатистическая его надёжность порядка 107 циклов записи. Каждая операция форматирования использует примерно 40 - 50 из них. Срок хранения данных на накопителе 8 - 10 без разрушения информации. От ёмкости накопителя эти параметры не зависят. Они определяются физикой запоминающих ячеек MNOP-транзисторов. Их особенность заключается в том, что под металлическим затвором между двумя слоями диэлектрика расположен слой электрета - вещества способного сохранять состояние приложенного электрического поля длительное время. На затвор подаётся импульс напряжения достаточный для переключения ячейки и состояние поля сохраняется в структуре электрета. После снятия управляющего поля состояние ячейки определяется полем электрета. И именно его параметрами в основном определяется её надёжность и быстродействие. А разбиение на блоки-подматрицы стандартный приём ускорения работы массивов памяти за счёт распараллеливания операций в многомерном массиве памяти. Любой современный модуль памяти или флэш-накопитель построены по этому принципу. Ничего новее и надёжнее пока, увы не изобрели. Только его модификации с целью упрощения производства.
Цитата:
Victor_VG
Последняя рабочая русская версия есть в шапке этой темы. Потом Стефан стал специально блокировать работу с кириллицей. Во всяком случае к такому выводу мы пришли по итогам его действий, да и он не спешит его опровергнуть...
Кстати, а вот понадобилось вводить в Unicode, - так 13SR13 этого не позволяет делать.
Отображать то отображает (Опции->Набор символов->Юникод), а вводить не получается.
Или я чего не понимаю???
Блин, а вот FlexHex от Heaventools.com показыает и позволяет вводить, в т.ч. и русский!!!
Victor_VG
Цитата:
интересно почему?
Цитата:
Каждая операция форматирования использует примерно 40 - 50 из них
интересно почему?
По десятичной системе:
Сектор конца разела = 63
Цилиндр конца разела = 509
В сабже это показывается так: 7F FD
Допустим надо исправить 509 на 609, как это делается?
Сектор конца разела = 63
Цилиндр конца разела = 509
В сабже это показывается так: 7F FD
Допустим надо исправить 509 на 609, как это делается?
Zakkazak
Alt+F5 попробуй
Alt+F5 попробуй
Да наверное самое-то..
А поиск секторов можно ссузить по следующему критерию:
только те сектора содержащие 55AA в смещении 512-510, которые смежны друг сдругом
А поиск секторов можно ссузить по следующему критерию:
только те сектора содержащие 55AA в смещении 512-510, которые смежны друг сдругом
как редактировать ресурс если он сжат?
lorents
Что ты имеешь ввиду? Если ты точно знаешь модифицируемые биты это одно, а иначе - только сначала распаковать файл, не то натворишь делов...
Что ты имеешь ввиду? Если ты точно знаешь модифицируемые биты это одно, а иначе - только сначала распаковать файл, не то натворишь делов...
Victor_VG
я не знаю как распаковать? я даже не знаю чем паковали
есть идеи как мне помочь
я не знаю как распаковать? я даже не знаю чем паковали
есть идеи как мне помочь
ура я смог распаковать мой exe'шник
Посмотрел почему в WinHex 15 не вводятся русские буквы и выявил следующие нюансы:
Русские буквы вводятся в эту программу так: последние 2 значения кода символа буквы пишутся напрямую в Hex поле и получаются те английские буквы которые соответствуют данному коду.
То есть у клавиши "а" код 0430, б - 0431, в-0432, Ё - 0401, я - 044f и вводятся они в виде последних 2 значений сразу в hex код 30,31,32,01,4f и получаются соответствующие им буквы "012.O"
Первая идея - создать новую раскладку клавиатуры назначив соответствующим клавишам те коды, которые оканчиваются на Hex значения русских букв, то есть для клавиши "я" надо поставить код 00ff и должно вводиться якобы Hex код ff и отображать в программе русскую букву "я". Но тут опять подводные камни - в своем логе Microsoft Keyboard Layout Creator 1.4 предупреждает о несовместимости вводимых таких букв в неюникодовые программы, а также что такие символы не включены в текущую кодовую страницу 1251 (кириллица) для русской Windows.
Так оно и вышло - при наборе этих символов в WinHex высвечиваются знаки вопроса.
Может это наталкнет кого-нибудь на мысль как по-другому можно схитрить заставив набирать русские буквы при ANSI-кодировке?
Я использовал для создания новых раскладок клавиатур Microsoft Keyboard Layout Creator 1.4 - http://download.microsoft.com/download/1/1/8/118aedd2-152c-453f-bac9-5dd8fb310870/MSKLC.exe
А для удобного просмотра имеющихся раскладок клавиатур KbdEdit Demo - http://www.kbdedit.com/downloads/KbdEditDemo.zip
Русские буквы вводятся в эту программу так: последние 2 значения кода символа буквы пишутся напрямую в Hex поле и получаются те английские буквы которые соответствуют данному коду.
То есть у клавиши "а" код 0430, б - 0431, в-0432, Ё - 0401, я - 044f и вводятся они в виде последних 2 значений сразу в hex код 30,31,32,01,4f и получаются соответствующие им буквы "012.O"
Первая идея - создать новую раскладку клавиатуры назначив соответствующим клавишам те коды, которые оканчиваются на Hex значения русских букв, то есть для клавиши "я" надо поставить код 00ff и должно вводиться якобы Hex код ff и отображать в программе русскую букву "я". Но тут опять подводные камни - в своем логе Microsoft Keyboard Layout Creator 1.4 предупреждает о несовместимости вводимых таких букв в неюникодовые программы, а также что такие символы не включены в текущую кодовую страницу 1251 (кириллица) для русской Windows.
Так оно и вышло - при наборе этих символов в WinHex высвечиваются знаки вопроса.
Может это наталкнет кого-нибудь на мысль как по-другому можно схитрить заставив набирать русские буквы при ANSI-кодировке?
Я использовал для создания новых раскладок клавиатур Microsoft Keyboard Layout Creator 1.4 - http://download.microsoft.com/download/1/1/8/118aedd2-152c-453f-bac9-5dd8fb310870/MSKLC.exe
А для удобного просмотра имеющихся раскладок клавиатур KbdEdit Demo - http://www.kbdedit.com/downloads/KbdEditDemo.zip
Страницы: 123456789101112131415161718192021222324252627
Предыдущая тема: Как грузануть RedHat при NTLoader в MBR?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.