Легенда:
   новое сообщение
    закрытая нитка
    новое сообщение
    в закрытой нитке
    старое сообщение
         
		 | 
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
 - Новичкам также крайне полезно ознакомиться с данным документом.
   
  |   |   |   |   |   |   | 
Diskedit.exe  21.11.03 12:21  Число просмотров: 6105
 Автор: Den <Денис Т.> Статус: The Elderman
 | 
 
| 
 | 
 
| 
<sysadmin>
 |  
 
NTFS проблема — лучшее враг хорошего ;-)  20.11.03 10:32  
 Автор: HandleX <Александр М.> Статус: The Elderman
 | 
 
Возникла проблема: крякнула система NT4 — затёрли ntldr ;-)
 Подняли на XP. XP взяла и при подключении этого раздела быстренько "заапгрейдила" его до NTFSv5. И всё бы хорошо, только теперь на NT4 при попытке выполнить «chkdsk c: /f» выдаёт ошибку типа «этот том создан более поздней версией виндоус, вот её и используйте для проверки этого тома» ;-)
 
 Как пролечить это дело, есть у кого какие идеи?
 Я знаю, что всё различие в каких-то скрытых служебных файлов NTFS, но ни как к ним достучаться, ни что с ними делать, представления не имею.
 | 
 
 
  | 
А какой SP у NT твоей?  08.05.04 17:56  
 Автор: tduty Статус: Незарегистрированный пользователь
 | 
 
| 
 | 
 
 
  |   | 
NT4 SP6. Закрываю тему — если кому надо чего, пишите в приват.  10.05.04 11:43  
 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 10.05.04 11:45  Количество правок: 1
 | 
 
| 
 | 
 
 
  | 
Проблема решена... Написал тулзу на досуге. Спасибо всем за поддержку ;-) Тулза лежит по линку (внутри). Используется на свой страх и риск, но должна вести себя корректно... Позволяет установить _любой_ номер версии NTFS для существующего NTFS-раздела ;-)  05.05.04 19:24  
 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 10.05.04 11:50  Количество правок: 1
 | 
 
  NTFS Patcher (178633 байт rar-архив)
 | 
 
 
  | 
NTFS проблема — лучшее враг хорошего ;-)  28.11.03 22:16  
 Автор: Karen Parsadanian Статус: Незарегистрированный пользователь
 | 
 
> Возникла проблема: крякнула система NT4 — затёрли ntldr ;-) > Подняли на XP. XP взяла и при подключении этого раздела > быстренько "заапгрейдила" его до NTFSv5. И всё бы хорошо, > только теперь на NT4 при попытке выполнить «chkdsk c: /f» > выдаёт ошибку типа «этот том создан более поздней версией > виндоус, вот её и используйте для проверки этого тома» ;-) >  > Как пролечить это дело, есть у кого какие идеи? > Я знаю, что всё различие в каких-то скрытых служебных > файлов NTFS, но ни как к ним достучаться, ни что с ними > делать, представления не имею. 
 
 Надо заранее ставить Acronis OS Selector 8.0
 даже при затертом NTDLR Восстановит любую NT начиная с 4.0 и кончая "2003".
 
 
 | 
 
 
  |   | 
У Acronis OS Selector есть одна мелкая неприятность  29.11.03 01:05  
 Автор: Ktirf <Æ Rusakov> Статус: Elderman
 | 
 
| 
Он принципиально хочет иметь на диске FAT-раздел. Я не понимаю, зачем держать целый раздел под мультзагрузчик, особенно когда на диске ровно одна ОС.
 | 
 
 
  | 
Вот нарыл — сейчас буду пробовать... Гуру по NTFS объясните, плз... (внутри)  20.11.03 15:59  
 Автор: HandleX <Александр М.> Статус: The Elderman
 | 
 
ПРАВКА ВЕРСИИ НТФС5 на НТФС4
С помощью DiskProbe из ResourceKit
>>>
В системном файле #3 $VOLUME со смещением 0x130 (или 0х1C0 !!!)
находится номеp веpсии NTFS. (убрать предварительно метки дисков !!!)
W2K пpи обpащении к диску пpисваивает номеp 3.0,
NT4 pаботает с веpсией 1.2.
Находишь 0x03, испpавляешь на 0x01,
следующий байт с 0x00 на 0x02. После
этого запускаешь CHKDSK, следишь за тем,
как он отшибает новые атpибуты (типа дисковых квот и пp.).
После этого - пользуешься...
  ---
 
 Но есть вопросы! Почему два смещения (0x130 и 0х1C0)?
 Хочу прогу написать... Как открыть файл #3 на $VOLUME, расскажите, плз.
  Взято отсюда
 | 
 
 
  |   | 
Вот нарыл — сейчас буду пробовать... Гуру по NTFS объясните, плз... (внутри)  20.11.03 17:57  
 Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
 | 
 
> Но есть вопросы! Почему два смещения (0x130 и 0х1C0)? 
 Не знаю.
 
 > Хочу прогу написать... Как открыть файл #3 на $VOLUME, > расскажите, плз. 
 CreateFile("C:\$VOLUME",...) наверное?
 | 
 
 
  |   |   | 
Не прокатит. Это спецфайл и у него пермишены только для системы и все такое  20.11.03 17:59  
 Автор: amirul <Serge> Статус: The Elderman
 | 
 
| 
 | 
 
 
  |   |   |   | 
а под линухом с включенной записью на нтфс?  21.11.03 01:17  
 Автор: Killer{R} <Dmitry> Статус: Elderman
 | 
 
| 
 | 
 
 
  |   |   |   |   | 
Линух пятую нтфс тоже не любит :-)  21.11.03 02:25  
 Автор: amirul <Serge> Статус: The Elderman
 | 
 
Я видимо тоже туманно выразился.
 
 Точно того же эффекта, что и открытие спецфайла $Volume можно добиться открымши УСТРОЙСТВО "\\\\.\\C:" - тот же самый Raw-доступ к разделу. Предлагаю сначала глянуть по приведенным смещениям, а потом, если не поможет - будем посмотреть :-)
 | 
 
 
  |   |   |   | 
Читаться он читается  20.11.03 19:26  
 Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
 | 
 
| 
 | 
 
 
  |   |   |   |   | 
Пока ругается на Sharing Violation  20.11.03 19:47  
 Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
 | 
 
| 
при попытке открыть с правами GENERIC_READ | GENERIC_WRITE
 | 
 
 
  |   |   |   |   |   | 
Этого следовало ожидать :-)  21.11.03 02:33  
 Автор: amirul <Serge> Статус: The Elderman
 | 
 
> при попытке открыть с правами GENERIC_READ | GENERIC_WRITE Там как-то можно вроде включить доступ для простых смертных, но я особо не ковырялся - легче устройство открыть, "если нет разницы, зачем платить больше?" :-) (с)
 | 
 
 
  |   |   |   |   |   |   | 
Diskedit.exe  21.11.03 12:21  
 Автор: Den <Денис Т.> Статус: The Elderman
 | 
 
| 
 | 
 
 
  |   | 
Все гораздо хитрее  20.11.03 17:14  
 Автор: amirul <Serge> Статус: The Elderman Отредактировано 20.11.03 17:15  Количество правок: 1
 | 
 
> Но есть вопросы! Почему два смещения (0x130 и 0х1C0)? Два смещения наверное потому, что эта информация хранится не в одной структуре, а в одном из аттрибутов (каждый из которых описывается структурой) собранных в массив. Чтобы представить что это такое - вспомни как возвращает данные NtQuerySystemInformation. То что данный аттрибут чаще всего лежит по одному и тому же смещению вовсе не означает, что он не может лежать где угодно еще. То бишь хоть ФС и создается всегда одной и той же программой при одних и тех же начальных условиях (форматирование чистого раздела), это еще не значит, что ее нельзя создать иначе.
 
 Описывать как именно оно валяется не буду - слишком много и возможно излишне для решения данной конкретной проблемы (этот аттрибут скорее всего лежит там, где и было указано). Если интересно - могу скинуть на мыло доку.
 
 > Хочу прогу написать... Как открыть файл #3 на $VOLUME, > расскажите, плз. Файл #3 это третья по счету запись в MFT (первые 16 записей - специальные и всегда жестко заданы), как уже указано, называется этот спецфайл $Volume, но наверное так было написано для вящей мудрости, потому как простому смертному открыть этот файл очень трудно, а там всего лишь содержится том. На самом деле, чтоб открыть том, нужно просто сделать CreateFile("\\\\.\\C:", ...) для диска C и т.д. по аналогии.
 
 Успехов в бою. Не забудь снять образ :-)
 | 
 
 
  |   |   | 
А как «ходить» по записям MFT?  21.11.03 08:40  
 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 21.11.03 08:41  Количество правок: 1
 | 
 
> Файл #3 это третья по счету запись в MFT (первые 16 записей > - специальные и всегда жестко заданы), как уже указано, > называется этот спецфайл $Volume, но наверное так было > написано для вящей мудрости, потому как простому смертному > открыть этот файл очень трудно, а там всего лишь содержится > том. На самом деле, чтоб открыть том, нужно просто сделать > CreateFile("\\\\.\\C:", ...) для диска C и т.д. по > аналогии. 
 Насколько я понял, нужно:
 1) CreateFile("\\\\.\\C:", ...).
 Тут вопрос: остальные параметры какие должны быть?
 Полученный хендл используется в ReadFile\WriteFile или в DeviceIOControl?
 Если в DeviceIOControl, то какие должны быть Control Codes для чтения-записи?
 2) сперва нужно открыть #1 запись (прочитать n-е кол-во байт)...
 3) из этой записи извлечь размер MFT и «перейти» на #3...
 4) сделать далее по алгоритму неизвестного дядьки, проконтролировав валидность версий NTFS по одному из смещений...
 
 Вроде так?
 | 
 
 
  |   |   |   | 
А как «ходить» по записям MFT?  29.11.03 11:33  
 Автор: vladig Статус: Незарегистрированный пользователь
 | 
 
А не проще ли взять Runtime's DiskExplorer for NTFS?
 
 Он нормально правит и MFT, и атрибуты файлов. Правда, из-за того, что MS не документировала структуру NTFS, многие атрибуты файлов представлены только своими кодами, но разобраться/догадаться можно.
 | 
 
 
  | 
перепиши chkdsk от xp и не мучайся  20.11.03 11:56  
 Автор: Cyril <sc> Статус: Member Отредактировано 20.11.03 12:00  Количество правок: 1
 | 
 
сам так ни разу не делал, но наверняка можно переконвертить ntfs5 -> fat32
 -> ntfs4
 | 
 
 
  
 
 | 
 |