Ru-Board.club
← Вернуться в раздел «Программы»

» 7-Zip / 7z (часть 2)

Автор: GORA2
Дата сообщения: 01.03.2013 09:43

Цитата:
почему один и тот же архив распаковывается GUI-версией, но не распаковывается консольной.

DimmY
Приведите, пожалуйста, последовательность действий (или командную строку) при создании такого архива с указанием версии архиватора и ссылку на полученный архив, который, по Вашему утверждению, не может быть открыт консольным автономным архиватором 7za.
Открывается ли он консольным архиватором 7z, и какая ком. строка используется при попытках открыть архив?
Уточните, что Вы подразумеваете под "GUI-версией", ком. строку для 7zG или открытие через 7zFM ?
Автор: T2008
Дата сообщения: 01.03.2013 13:27
Рассказываю полностью - есть Тотал Коммандер 7.57а, к нему прилеплен плагин MultiArc. В этом плагине есть конфигурационный файл Multiarc.ini, который задаёт параметры взаимодействия Тотал Коммандера с консольными архиваторами, которые лежат в папке плагина. Там лежит консольный 7za.exe и всё работает.
Со временем, когда начинали появляться 7z-архивы, которые переставали распаковываться - я просто переходил на более новую версию 7za.exe - т.е. подкидывал туда более новый файл и всё прекрасно работало.
Оно и сейчас работает, но есть один архив, который ни в какую не хочет распаковываться. Я подумал - пришло время опять перейти на более новую версию, кинул туда 7za.exe версии 9.20 (потом и 9.22) - но результата нет. Хотя в GUI-версии 9.20 этот архив прекрасно распаковывается.
Может в ini-файле MultiArc-а надо что-то поправить, не исключаю, но опять же говорю - с такими настройками все остальные 7z-архивы нормально распаковываются, проблема с одним. Причём первый файл с архива вытягивается, проблема со вторым файлом. Архив больше 100МБайт, может недостаточно прописаны параметры
Методом тыка обнаружил, что если в инишке
ExtractWithPath=%P x -y{ %S} %AQA @%LQ
удалить @%LQ
тогда архив начинает распаковываться,
но если из архива вытягивать только второй файл, то распакуются оба.
Автор: xChe
Дата сообщения: 01.03.2013 15:55

T2008
А зачем использовать MultiArc для .7z - есть же специальные плагины...
Автор: T2008
Дата сообщения: 01.03.2013 16:59
xChe

А зачем использовать кучу плагинов, каждый заточенный под отдельный формат, когда один MultiArc с этим прекрасно справляется.
У меня сейчас только один файл, который не распаковывается.
Возможно проблема не в самом 7za.exe, а в связке с MultiArc.
И почему если в инишке
ExtractWithPath=%P x -y{ %S} %AQA @%LQ
удалить @%LQ - то архив начинает распаковываться, но не даёт распаковать выборочно второй файл. Честно говоря, я не знаю что значит каждый параметр этой строки.
Если допустить, что эта строка настроек кривая - то почему все остальные 7z распаковываются нормально.
Автор: GORA2
Дата сообщения: 01.03.2013 17:03

Цитата:
А что с автором...
Всё ли у него в порядке??


Цитата:
Мне кажется, консольную версию не оттестировали


Цитата:
Я думаю, что в консольной 7za.exe наверняка есть проблемы

В результате:
Цитата:
обнаружил, что если в инишке
... тогда архив начинает распаковываться,

T2008
И кто виноват?
Автономный архиватор или пользователь со своим файлом "кривыеруки.sys"!?
Автор: T2008
Дата сообщения: 01.03.2013 17:10
GORA2

ещё раз....
если в инишке
ExtractWithPath=%P x -y{ %S} %AQA @%LQ
удалить @%LQ - то архив начинает распаковываться, но не даёт распаковать выборочно (т.е. отдельно) второй файл. Честно говоря, я не знаю что значит каждый параметр этой строки.
Но если допустить, что эта строка настроек кривая - то почему все остальные 7z распаковываются нормально.
Вот и скажите, что здесь виноват не 7za.exe... Я не знаю.
Автор: xChe
Дата сообщения: 01.03.2013 17:15
T2008

Цитата:
один MultiArc с этим прекрасно справляется.

Нет не прекрасно - например MultiArc не умеет с юникодными именами работать...

Но это всё оффтоп же здесь - вам надо или в темку по плагинам для Total Commander-а или прямо в в темку по MultiArc-у.
Автор: T2008
Дата сообщения: 01.03.2013 17:24
xChe

Предлагаете в ветку с плагинами, написать что я распаковал 100 архивов и всё нормально, а один не хочет распаковываться.
Ответы будут такие:
1) не заморачивайся это голимый архив
2) не пользуйся консольным - пользуйся GUI
Ладно, если до истины докопаться никто не хочет - будем считать это частный случай.
Автор: GORA2
Дата сообщения: 01.03.2013 17:26

Цитата:
Вот и скажите, что здесь виноват не 7za.exe... Я не знаю.

И скажу! 7za здесь не виноват! А не знаете, то и не пишите того, чего не знаете.
С Вашими проблемами MultiArc идите в соответствующую ветку (где Вас тоже погонят с такими баграпортами и будут правы), а здесь поднимать волну "кривого" архиватора не надо.
Автор: Alex_Piggy
Дата сообщения: 01.03.2013 17:41
Добрый день, T2008
Скорее всего, как и утверждает xChe, проблема с кодировкой (ищет название первого файла в неправильной кодировке, не находит и вываливается с ошибкой. Кстати, какую ошибку выдает? Попробуйте строку заменить на
ExtractWithPath=cmd /k %P x -y{ %S} %AQA @%LQ
должен вывести консоль. И там смотрите, где файл после @ и какое у него содержимое.
). Поиграйтесь с параметрами ключа "-scs".
"@%LQ" - путь к списку распаковываемых файлов. Генерируется TC. Если его нет, естественно, выборочно распаковывать не будет.
Лучше, если Вы выложите где-то сам этот архив. Как минимум - результат "7z l"
Проблемы с 7z - это если когда Вы в комстроке вручную набираете пар аметры, он не распаковывает.
Автор: DimmY
Дата сообщения: 01.03.2013 18:01
GORA2

Цитата:
Приведите, пожалуйста, последовательность действий (или командную строку) при создании такого архива с указанием версии архиватора и ссылку на полученный архив, который, по Вашему утверждению, не может быть открыт консольным автономным архиватором 7za.

Не приведу. Я не пользуюсь архивами 7z, с подобной ситуацией не сталкивался (распаковываю попадающиеся 7z-архивы плагином в FAR). Написал здесь только потому, что абсолютно не понял объяснений Victor_VG – стало интересно разобраться.
Автор: Bulat_Ziganshin
Дата сообщения: 01.03.2013 18:14

Цитата:
если в инишке  
ExtractWithPath=%P x -y{ %S} %AQA @%LQ  
удалить @%LQ - то архив начинает распаковываться, но не даёт распаковать выборочно (т.е. отдельно) второй файл.


да, дело именно в том что multiarc не поддерживает юникодные имена
Автор: T2008
Дата сообщения: 01.03.2013 20:52
Alex_Piggy

Цитата:
Попробуйте строку заменить на
ExtractWithPath=cmd /k %P x -y{ %S} %AQA @%LQ
должен вывести консоль. И там смотрите, где файл после @ и какое у него содержимое.


Спасибо. К сожалению консоль не появляется, а ТС - тупо виснет.
Можете подсказать пример, как с консоли распаковать с архива опрелелённый файл.
Например есть архив test.7z - в нём директория test, а в ней 2 файла 1.mp3 и 2.mp3.
Какая должна командная строка чтобы извлечь только файл 2.mp3
Автор: T2008
Дата сообщения: 03.03.2013 12:32
Ну вот, все в кусты...
Сложный вопрос задал. Как же, всё-таки с коммандной строки вытянуть определённый файл с архива?
Автор: Skif_off
Дата сообщения: 03.03.2013 13:22
T2008

Цитата:
Как же, всё-таки с коммандной строки вытянуть определённый файл с архива?

Обратиться к справке?

Цитата:
7z e archive.zip -oc:\soft *.cpp -r

extracts all *.cpp files from archive archive.zip to c:\soft folder.

Вместо "*.cpp" можно вставить имя файла, файл ищется по всему архиву, нет необходимости указывать его полный путь в архиве.
Автор: T2008
Дата сообщения: 03.03.2013 15:39
Skif_off

Цитата:
файл ищется по всему архиву, нет необходимости указывать его полный путь в архиве.

А если у меня есть файлы с одинаковым названием, но разные по содержимому и лежащие в разных каталогах, то каких образом извлечь определённый?
Например:
C:\test\1\1.mp3
C:\test\1\2.mp3
C:\test\2\1.mp3
C:\test\2\2.mp3
Всё таки, как извлечь файл по определённому пути?
Автор: Skif_off
Дата сообщения: 03.03.2013 16:12
T2008, а попробовать? Это-ж не козюлька, не героин.
Папка C:\test добавлена в архив, нужно вытащить файл test\2\2.mp3, команда:
7z e test.7z -oc:\output test\2\2.mp3 -r
Автор: Alex_Piggy
Дата сообщения: 03.03.2013 17:24
Добрый день, T2008

Цитата:
Ну вот, все в кусты...

Буду знать, что Вы личку не читаете.
Увеличить
Автор: Victor_VG
Дата сообщения: 03.03.2013 17:49
Alex_Piggy
Skif_off

Ребята, не тратте на него время - этот человек не обучаемый. Он уже это чуть раньше доказал на стр. 92.
Автор: DimmY
Дата сообщения: 03.03.2013 18:50
Victor_VG
А на меня? Ты ведь так и не объяснил про чудеса с DLL.
Автор: T2008
Дата сообщения: 03.03.2013 21:16
Alex_Piggy

Да, действительно, не обратил внимание, что пришло личное сообщение.
Сделал по вашему рецепту. Происходит следующее - консоль теперь появляется,
но файл с архива всё равно не распаковывается и ТС - зависает. В консоль, кроме передавшейся из ТС команды, больше ничего интересного не пишет. Но стоит закрыть появившуюся консоль, как вис с ТС снимается и он готов дальше работать.
Происходят ещё чудеса - если в каталоге уже есть файл с таким же именем, как я пытаюсь распаковать с архива - то после проведенных действий он УДАЛЯЕТСЯ!!!
Казалось бы он должен был замениться, если не способен нормально распаковаться - то либо замениться файлом нулевой длины, либо не трогать то что есть. Но он просто УДАЛЯЕТ файл, что там лежал и ничего не создаёт.

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

Запутался. Как ещё проверить, что в этой связке глючит.
Вот полная секция конфигурации с MultiArc

Код:
[7z]
ID=37 7A BC AF 27 1C
IDPos=0, 41102, 41118, 41630, 42126, 42142, 42654, 45720, 68608, 69120, 70144, 70656, 71680, 72192, 74752, 75264, 76288, 87040, 88576, 89600, 90624, 92672, 100352, 121344, 124416, 124928, 128000, 130048, 130560, 131072, 133120, 134656, 150016, 150528, 152064, 152576, 153088, 153600, 154112, 155136, 157696, 158208, 159744, 163328, 164864, 165376, 169984, 175104, 176128
Extension=7z
Description=7-Zip 4.42
Archiver=7za.exe
Start="^-------------------"
End="^-------------------"
Format0="yyyy tt dd hh mm ss aaaaa zzzzzzzzzzzz pppppppppppp nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn"
List=%P -r0 l %AQA
Extract= %P e -y {%S} %AQA @%LQ
ExtractWithPath=%P x -y {%S} %AQA @%LQ
Test=%P t -y {%S} %AQA
Delete=%P d -y -r {%S} %AQA @%LQ
Add=%P a -y -mx=9{ %S} %AQA -scsdos @%LQ
AskHistory0=-m0=LZMA:a=2:d=1m:mf=pat4h:fb=59
BatchUnpack=1
AskMode=0
SkipLIST=1

Автор: Alex_Piggy
Дата сообщения: 03.03.2013 21:51
Добрый вечер
T2008
Правильно. В консоль выведет только команду передаваемую 7z. Чтобы Вы смогли посмотреть содержимое файла с списком распаковки (после @). Никакие больше действия производится не будут
Причин удаления не понимаю.
Согласно документации, извлечь без путей - "7z e" вместо "7z x"
Просил Вас выложить сам архив или хотя бы list.txt после команды "7z l test.7z -sccUTF-8 >list.txt", где test.7z - Ваш архив. Можно еще и временный файл с списком распаковки.

DimmY
Скорее всего имелось в виду, что архивы версий 9.30 и 9.22 теоретически могут быть несовместимыми (напр, как 9.22 себя поведет с упакованным NTFS stream?). Чтобы это исключить вместо 7za.exe 9.22 попробовать связку (7z.exe 9.30+ 7z.dll 9.30)
Автор: DimmY
Дата сообщения: 03.03.2013 21:55
Alex_Piggy
Там ни слова не было сказано про DLL более новой версии. Потому и вопрос. Ответа на который, видимо, не будет.
Автор: T2008
Дата сообщения: 03.03.2013 22:30
Alex_Piggy

Команда просмотра выполняется нормально, да и ТС по этому архиву бегает нормально, вот только не может распаковать отдельно "КОМПАС-3D V14.exe".
Да, я понимаю, есть русские буквы в имени, есть пробел - короче одни проблемы. )))
Всё по отдельности работает нормально, а в куче.... ((

7-Zip (a) 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Listing archive: kompasV14pmin.7z
--
Path = kompasV14pmin.7z
Type = 7z
Method = LZMA BCJ
Solid = -
Blocks = 2
Physical Size = 107919558
Headers Size = 243
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2013-02-18 19:17:44 ....A 118610276 107873686 kompasV14pmin\kompasV14pmin.dat
2013-02-18 19:17:44 ....A 421837 45629 kompasV14pmin\КОМПАС-3D V14.exe
2013-02-18 19:21:00 D.... 0 0 kompasV14pmin
------------------- ----- ------------ ------------ ------------------------
119032113 107919315 2 files, 1 folders
Автор: Victor_VG
Дата сообщения: 03.03.2013 22:31
DimmY

Напомни свой вопрос. Извини, баги у людей как тараканы лезут. Закрутился с ними. И ладно бы новички ляпы делали...
Автор: DimmY
Дата сообщения: 03.03.2013 22:39
Угу. Спасибо.
Автор: T2008
Дата сообщения: 03.03.2013 22:47
Alex_Piggy

Добавлю, если чем то поможет, то вот что выдаёт ТС - некая ошибка с кодом 2.
Как понять - это ему 7za.exe передал или MultiArc.


Автор: Victor_VG
Дата сообщения: 03.03.2013 23:41
T2008

Скорее всего это код возврата плагина. Ядро ТС ANSI-е и Гислер не хочет его переписывать. Это может породить похожее явление. Попробуйте спросить в теме ТС. У Far Manager старый MultiArc (написан ещё во времена Far 1.0 Рошалем) так же чудит с архивами. В итоге его заменили менее функциональным UNICODE плагином arclite рассчитанным на работу с 7z.dll.
Автор: T2008
Дата сообщения: 04.03.2013 13:08
Victor_VG

Насколько я понимаю, в названии файлов моего архива нет юникод-символов.
Да там есть "проблемные" русские буквы и "пробел" - но это всё с ANSI виндовс кодировки.

Если читать сообщение "буквально" - выполняющаяся команда 7za.exe (и её параметры) вернула код ошибки 2 - то есть типо это всё транслировалось от 7za.exe. Короче дело темное.
Автор: Victor_VG
Дата сообщения: 04.03.2013 16:04
T2008

Сложнее и проще - звался плагин и ответ в диалоге его, а что и главное как он там в своём коде решает к 7za имеет отношение только самое посредственное - это код ошибки выданный скорее всего плагином. Что в качестве сообщения об ошибке выведет 7za.exe если его запустить в окне CMD.EXE (окне системной консоли)? Вот тогда если получим ошибку можно ставить вопрос о том, что это мол 7za не правильно команда отдана, иначе - неизвестно что в своём коде Гислер намутил. Его код закрытый и кроме него никто его ошибки не исправит. А ему это не нужно - "товар продаётся? со скрипом, воем, но продаётся? а тогда чего что-то менять пока не припрёт?". Денежка капает, а остальное - не царские энто заботы своему дитяте сопли подтирать.

[more=Что касается имён файлов, то заодно посмотрите и что на сию тему сама Микрософт говорит]Обзор файловых систем FAT, HPFS и NTFS
Код статьи: 100108

Аннотация В статье описаны различия между файловыми системами FAT, HPFS и NTFS для Windows NT, а также их преимущества и недостатки. Статья содержит следующие разделы.


Обзор файловой системы FAT.
Обзор файловой системы HPFS.
Обзор файловой системы NTFS.

Примечание. Файловая система HPFS поддерживается только операционной системой Windows NT версий 3.1, 3.5 и 3.51. Windows NT 4.0 не поддерживает разделы с файловой системой HPFS. Файловая система FAT32 поддерживается только операционными системами Windows 98/95 и Windows 2000.

Дополнительная информацияОБЗОР ФАЙЛОВОЙ СИСТЕМЫ FAT

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

Диск, отформатированный в файловой системе FAT, делится на кластеры, размер которых зависит от размера тома. Одновременно с созданием файла в каталоге создается запись и устанавливается номер первого кластера, содержащего данные. Такая запись в таблице размещения файлов сигнализирует о том, что это последний кластер файла, или указывает на следующий кластер.

Обновление таблицы размещения файлов имеет большое значение и требует много времени. Если таблица размещения файлов не обновляется регулярно, это может привести к потере данных. Длительность операции объясняется необходимостью перемещения читающих головок к логической нулевой дорожке диска при каждом обновлении таблицы FAT.

Каталог FAT не имеет определенной структуры, и файлы записываются в первом обнаруженном свободном месте на диске. Кроме того, файловая система FAT поддерживает только четыре файловых атрибута: «Системный», «Скрытый», «Только чтение» и «Архивный».

Имена файлов в FAT

В файловой системе FAT использован традиционный формат имен 8.3, имена файлов должны состоять из символов ASCII. Имя файла или каталога должно состоять не более чем из 8 символов, затем следует разделитель «.» (точка) и расширение длиной до 3 символов. Первым символом имени должна быть буква или цифра. При определении имени можно использовать все символы за исключением перечисленных ниже.

. " / \ [ ] : ; | = ,

                

Использование этих символов может привести к получению неожиданных результатов. Имя не должно содержать пробелов.

Указанные ниже имена зарезервированы. CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL

Все символы преобразуются в верхний регистр.

Преимущества файловой системы FAT

На компьютере под управлением Windows NT в любой из поддерживаемых файловых систем нельзя отменить удаление. Программа отмены удаления пытается напрямую обратиться к оборудованию, что невозможно при использовании Windows NT. Однако если файл находился в FAT-разделе, то, запустив компьютер в режиме MS-DOS, удаление файла можно отменить. Файловая система FAT лучше всего подходит для использования на дисках и разделах размером до 200 МБ, потому что она запускается с минимальными накладными расходами. Более подробные сведения о преимуществах файловой системы FAT можно найти в следующих источниках:
«Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»;
пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»;
руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes».

Недостатки файловой системы FAT

Как правило, не стоит использовать файловую систему FAT для дисков и разделов, чей размер больше 200 МБ. Это объясняется тем, что по мере увеличения размера тома производительность файловой системы FAT быстро падает. Для файлов, расположенных в разделах FAT, невозможно установить разрешения.

Разделы FAT имеют ограничение по размеру: 4 ГБ под Windows NT и 2 ГБ под MS-DOS. За дополнительными сведениями об этих ограничениях обратитесь к следующей статье базы знаний Майкрософт:

Номер статьи: 118335

(http://support.microsoft.com/kb/118335/ru/ )

Название: Maximum Partition Size in MS-DOS
Более подробное обсуждение недостатков файловой системы FAT можно найти в следующих источниках:
«Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»;
пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»;
руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes».

ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ HPFS

Файловая система HPFS впервые была использована для операционной системы OS/2 1.2, чтобы обеспечить доступ к появлявшимся в то время на рынке дискам большого размера. Кроме того, назрела необходимость расширения существующей системы имен, улучшения организации и безопасности для удовлетворения растущих потребностей рынка сетевых серверов. В файловой системе HPFS поддерживается структура каталогов FAT и добавлена сортировка файлов по именам. Имя файла может содержать до 254 двухбайтовых символов. Файл состоит из «данных» и специальных атрибутов, что создает дополнительные возможности для поддержки других типов имен файлов и повышению уровня безопасности. Кроме того, наименьший блок для хранения данных теперь равен размеру физического сектора (512 байт), что позволяет снизить потери дискового пространства.

Записи в каталоге файловой системы HPFS содержат больше сведений, чем в FAT. Наряду с атрибутами файла здесь хранятся сведения о создании и внесении изменений, а также дата и время доступа. Записи в каталоге файловой системы HPFS указывают не на первый кластер файла, а на FNODE. FNODE может содержать данные файла, указатели на данные файла или другие структуры, указывающие на данные файла.

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

HPFS делит диск на блоки по 8 МБ каждый и всегда пытается записать файл в пределах одного блока. Для каждого блока 2 КБ зарезервировано под таблицу распределения, в которой содержится информация о записанных и свободных секторах в пределах блока. Разбиение на блоки приводит к повышению производительности, так как головка диска для определения места для сохранения файла должна возвращаться не к логическому началу диска (как правило, это нулевой цилиндр), а к таблице распределения ближайшего блока.

Кроме того, файловая система HPFS содержит два уникальных объекта данных.

Суперблок

Суперблок располагается в логическом секторе 16 и содержит указатель на FNODE корневого каталога. В этом кроется главная опасность использования HPFS: если сектор суперблока помечен как поврежденный, это приводит к потере всех данных раздела даже на неповрежденных участках диска. Для восстановления данных их необходимо скопировать на другой диск с неповрежденным сектором 16 и воссоздать суперблок. Это очень сложная задача.

Запасной блок

Запасной блок располагается в логическом секторе 17 и содержит таблицу экстренных исправлений, а также блок резервного каталога. В файловой системе HPFS запись таблицы экстренных исправлений используется при обнаружении дефектного сектора, чтобы логически указать вместо него имеющийся неповрежденный сектор. Эта технология обработки ошибок записи известна как экстренное исправление.

Если используется технология экстренного исправления, то при обнаружении поврежденного сектора данные переносятся в другой сектор, а исходный помечается как дефектный. Эти действия выполняются открыто для любого приложения, которое выполняет дисковые операции ввода/вывода (то есть на работе приложения проблемы с жестким диском не сказываются). Сообщения об ошибке, которые появляются при обнаружении поврежденного сектора (например, «FAT "Abort, Retry, or Fail?"»), в файловой системе, поддерживающей экстренные исправления, отсутствуют.

Примечание. Версия файловой системы HPFS, которая входит в состав Windows NT, не поддерживает технологию экстренного исправления.
Преимущества файловой системы HPFS

HPFS – оптимальный вариант файловой системы для использования с дисками размером 200–400 МБ. Более подробное описание преимуществ файловой системы HPFS можно найти в следующих источниках:

«Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»;
пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»;
руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes».

Недостатки файловой системы HPFS

Дополнительные накладные расходы, связанные с использованием HPFS, снижают эффективность ее применения на дисках размером меньше 200 МБ. Кроме того, производительность также снижается при использовании дисков размером больше 400 МБ. При использовании HPFS под Windows NT нельзя установить параметры безопасности.

Файловая система HPFS поддерживается только операционной системой Windows NT версий 3.1, 3.5 и 3.51. Нельзя получить доступ к разделу HPFS с помощью Windows NT 4.0.

Описание других недостатков файловой системы HPFS можно найти в следующих источниках:

«Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»;
пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»;
руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes».

ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ NTFS

С точки зрения пользователя файловая система NTFS организует файлы по каталогам и сортирует их так же, как и HPFS. Однако в отличие от FAT и HPFS на диске нет специальных объектов и отсутствует зависимость от особенностей установленного оборудования (например, сектор размером 512 байт). Кроме того, на диске отсутствуют специальные хранилища данных (таблицы FAT и суперблоки HPFS).

Целью файловой системы NTFS является следующее.

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

Устранение ограничений, характерных для файловых систем FAT и HPFS.

Надежность

Для обеспечения надежности файловой системы NTFS особое внимание было уделено трем основным вопросам: способности к восстановлению, устранению неустранимых ошибок одного сектора и экстренному исправлению.

Для обеспечения способности к восстановлению NTFS отслеживает все транзакции в отношении файловой системы. Выполнение команды CHKDSK в файловой системе FAT или HPFS служит для проверки последовательности указателей в пределах каталога, размещения и таблицы файлов. Файловая система NTFS хранит журнал операций с этими компонентами. Таким образом, для восстановления связности системы необходимо с помощью команды CHKDSK выполнить «откат» транзакций до последней точки фиксации.

При использовании FAT или HPFS сбой сектора, в котором хранится один из специальных объектов файловой системы, приводит к возникновению неустранимой ошибки одного сектора. В NTFS эта проблема решается двумя способами. Во-первых, специальные объекты не используются, а все имеющиеся на диске объекты отслеживаются и защищаются. Во-вторых, существует несколько копий (число зависит от размера тома) основной таблицы файлов.

Подобно версиям HPFS для OS/2, NTFS поддерживает экстренное исправление.

Дополнительные функции

Основное предназначение конфигурации операционной системы Windows NT на любом уровне является обеспечение платформы, которую можно использовать в качестве модуля при построении других систем, и NTFS не является исключением. Эта файловая система представляет собой гибкую платформу с широкими функциональными возможностями, которую могут использовать другие файловые системы. Кроме того, в NTFS полностью реализована модель безопасности Windows NT и поддержка нескольких потоков данных. Файл данных перестал быть отдельным потоком данных. Кроме того, пользователи могут добавлять собственные атрибуты файлов.

Поддержка POSIX

Из всех поддерживаемых файловых систем NTFS наиболее полно соответствует POSIX.1. В ней реализована поддержка следующих требований POSIX.1:

назначение имен с учетом регистра;
согласно POSIX. README.TXT, Readme.txt и readme.txt – это разные файлы;
дополнительная отметка времени;
дополнительный штамп времени для сохранения времени последнего доступа к файлу;
жесткие связи.

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

Устранение ограничений

Во-первых, в NTFS значительно – до 2^64 байт (16 экзабайт или 18 446 744 073 709 551 616 байт) – увеличен допустимый раздел файлов и томов. В NTFS для решения проблемы фиксированного размера сектора снова применена концепция кластеров, ранее использованная в файловой системе FAT. Это было сделано для улучшения аппаратной независимости операционной системы Windows NT при ее использовании с жесткими дисками, изготовленными по другой технологии. Таким образом, была принята точка зрения, что деление диска на секторы размером 512 не всегда является оптимальным. Размер кластера определяется кратным числом единичных блоков жесткого диска. Кроме того, для задания имен файлов используется кодировка Юникод и наряду с длинными именами обеспечена поддержка формата 8.3.
Преимущества файловой системы NTFS

NTFS лучше всего подходит для использования с томами размером более 400 МБ. С увеличением размера тома производительность файловой системы NTFS не падает, как у FAT.

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

«Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»;
пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»;
руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes».

Недостатки файловой системы NTFS

Из-за дополнительного расхода дискового пространства файловую систему NTFS не рекомендуется использовать с томами размером менее 400 МБ. Такой расход объясняется необходимостью хранения системных файлов NTFS (в разделе размером 100 МБ для этого требуется около 4 МБ).

В настоящее время NTFS не имеет встроенного шифрования файлов. Следовательно, можно загрузить MS-DOS (или другую операционную систему) и воспользоваться низкоуровневой программой редактирования диска для просмотра хранящихся в томе NTFS данных.

С помощью файловой системы NTFS нельзя форматировать дискеты. Windows NT форматирует дискеты с помощью FAT, так как объем служебной информации, необходимой для функционирования NTFS, не помещается на дискете.

Более подробное описание недостатков файловой системы NTFS можно найти в следующих источниках:

«Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»;
пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»;
руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes».

Соглашения именования в NTFS

Имена файлов могут состоять не более чем из 255 символов, включая любое расширение. В именах сохраняется регистр введенных символов, но сами имена не зависят от регистра. NTFS не различает имена в зависимости от регистра. В именах могут быть использованы любые символы за исключением указанных ниже.

? " / \ < > * | :


В настоящее время из командной строки можно задать имя файла длиной не более 253 символов.

Примечание. Особенности установленного оборудования могут наложить дополнительные требования на размер раздела в любой файловой системе. В частности, размер загрузочного раздела не может быть больше 7,8 ГБ, а таблица раздела ограничена 2 терабайтами.

Для получения дополнительных сведений о поддерживаемых Windows NT файловых системах см. пакет ресурсов Windows NT Resource Kit.


Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования
(http://go.microsoft.com/fwlink/?LinkId=151500)
.
Перейти к началу страницы
СвойстваКод статьи: 100108 - Последнее изменение :: 24 января 2013 г. - Редакция: 2.0
Информация в данной статье относится к следующим продуктам.
операционная система Microsoft Windows NT Workstation 3.1
Microsoft Windows NT Advanced Server 3.1
Ключевые слова: kbother KB100108

©2013 Microsoft[/more]

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135

Предыдущая тема: RDM+, TSMobiles и VNC+


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.