Назад | Перейти на главную страницу

Можно ли переместить конкретный файл в начало диска?

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

Я думаю, что лучший способ - создать логический диск в начале отдельного физического жесткого диска. Существуют программы, которые могут перемещать существующие разделы и создавать новый в начале диска (Google для "альтернативы без волшебства разделов")

Как сказал Деннис, для этой задачи можно использовать скрипт MyDefrag. В любом случае, я думаю, вам нужно переместить файл в конец диска для повышения производительности.

Я думаю, вы сможете сделать это с помощью сценарии особенность MyDefrag. Я не пробовал делать то, что ты хочешь, но AddGap и MoveDownFill возможно, среди действий, которые вам необходимо предпринять в FileSelect/FileAction пункт.

У некоторых жестких дисков первый цилиндр находится во внутренней части, поэтому на один оборот сохраняется меньше данных, поэтому скорость на нижних цилиндрах ниже.

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

Это основано на концепции, согласно которой жесткий диск вращается с постоянным числом оборотов в минуту, хотя не все жесткие диски работают так.

У меня очень дорогой жесткий диск, который может перемещать каждую головку в другой цилиндр в одно и то же время, поэтому может одновременно читать с разных цилиндров, и он использует внутренний буфер не 8 МБ или 16 МБ, он использует полный буфер GigaByte. Диск настолько быстр, что контроллер Sata III - это тот, который ограничивает устойчивую скорость передачи ... физический диск может выполнять чтение 10 ГБ / с (от поверхности к буферу) и 6 ГБ / с запись (от буфера к поверхности).

Таким образом, вопрос о том, куда помещать файлы, прост, проведите тест скорости зоны (чтение и запись), чтобы вы знали, куда лучше размещать файлы.

Остерегайтесь новых жестких дисков, которые используют другую технику для `` подделки '' такой разной скорости в зависимости от цилиндра ... они меняют местами цилиндры и головки, поэтому, если вы попросите его записать целый цилиндр, он будет использовать только одну головку и много цилиндров , таким образом, скорость более или менее одинакова по всем цилиндрам, поэтому они `` подделывают '' большинство инструментов для измерения скорости (скорость кажется постоянной по всему диску), что на самом деле то, что диск хранит то, что внешнее требуется сделать в одном цилиндре, в нескольких цилиндрах, поэтому скорость (на внешний заданный цилиндр): быстрая, средняя, ​​медленная

Этот трюк довольно хорош для стабильной производительности ... если скопировать на него много ГиБ, ETA (расчетное время прибытия) очень хорошо рассчитывается, поскольку скорость идет следующим образом: быстро, средне, медленно, быстро, средне, медленно , ... так что носитель постоянный ... но они действительно такие же быстрые, как и обычные ... реальное время до завершения очень похоже, разница в том, что вы можете лучше рассчитать время, необходимое для завершения.

Итак, как я настаиваю, проведите точные тесты скорости, а затем переместите файлы туда, куда хотите.

И если вы не планируете использовать жесткий диск в Windows XP или более ранней версии, ни на телевизорах, ни в SetTopBoxes, и т. Д ... другими словами, если раздел GPT не понимается ... гораздо лучше создать схему GPT из 20 или более основных разделов, поэтому вы помещаете только один файл на раздел (большие файлы и, конечно, те, которые не изменятся, например фильмы), и раздел будет заполнен до 99,99%, поэтому места не останется ... для виртуальной машины Жесткие диски, лучше всего использовать фиксированный размер (не динамический), и, поскольку файл не будет расти, используйте тот же подход, что и для фильмов и т. Д., Я обычно использую 20 ГБ на виртуальный жесткий диск системного раздела Windows.

Как сделать это (сделать 99,99%) непросто, но легко выполнить шаги ... создать очень маленький раздел NTFS (1/100 размера, который нужен) по схеме GPT (это сделает $ MFT-файл должен быть действительно очень маленьким), дефрагментируйте его, пока он почти пустой, поэтому $ MFT и т. Д. Перейдет в начало раздела, увеличьте раздел вдвое по сравнению с тем, что будет необходимо (это не меняет размер файла $ MFT) скопируйте туда такой файл (только один файл), дефрагментируйте, сожмите его до максимума, чтобы 99,99% не было свободным, переместите его в нужную часть диска.

Гораздо лучше делать это по порядку, от двух сторон к середине, по очереди.

Да, это слишком много работы ... но я не знаю ни одного инструмента, который предотвращал бы перемещение файла Windows.

Да, это правда, я видел, как Windows фрагментирует файл, когда такой файл даже не принимается ... другими словами, поместите, переместите, увеличьте один файл, и Windows может сделать любой другой файл в том же разделе, чтобы фрагментироваться ... Я также пробовал отмечать на низком уровне (с привилегиями системной учетной записи, иначе взломать) нефрагментированный файл как не перемещаемый, и я видел, как такой файл фрагментировался при копировании с другого диска на этот раздел, действительно файл hde ... да, это звучит нелепо, неподвижный файл, который не фрагментирован, становится фрагментированным, потому что на тот же раздел записан другой файл ... поэтому никогда не создавайте файл на разделе со свободным пространством и надейтесь, что он никогда не будет фрагментирован или перемещен в другой часть перегородки ...

Единственный трюк, который я видел, который работает для того, чтобы файл не перемещался / фрагментировался, - это иметь его, и только этот, на отдельном разделе ... GPT позволяет много разделов, но не так много (ограничение, я думаю, 128) .

Да, большая проблема, как получить доступ к таким разделам, если можно использовать только около 20 букв ... просто, без букв, используя \ ?? \ access.

Вот как создать вырезку для start \\?\Volume{...}\, то {...} деталь можно получить, запустив mountvol.exe без параметров.

Это также очень хороший трюк для доступа к разделам на USB-накопителе или картах памяти ... окна позволяют монтировать (назначать букву диска) только первый раздел в таблице разделов ... но вы можете получить доступ к любому из них с помощью этого трюка, je je, по крайней мере, это работает там, где я тестировал, у меня есть сообщения от друзей, которые говорят, что они не могут; очевидно, что я создаю такие схемы разделения, как MBR под Linux с помощью linux fdisk и переписываю `` мастер '', иначе говоря, создаю новую схему, я никогда не использую ту, которая идет на палках, среди них, кажется, хорошая MBR, я предпочитаю перезаписать ее Инструмент Linux fdisk, затем создайте несколько разделов, отформатируйте их и т.д ... с помощью fdisk + mkfs ... или с GParted, никогда с Windows (это не позволит вам использовать USB-накопитель / карты памяти), а не на всех USB-накопителях можно изменить съемный бит.

Итак, используйте трюк GPT с очень маленькой NTFS, увеличьте размер файла до двойного размера, поместите файл, сократите его до максимума, который вы можете, переместите раздел, где хотите (между шагами дефрагментируйте его, до шага сжатия, после этого в будущем дефрагментация не потребуется). Это отлично работает для файлов, размер которых не меняется, независимо от того, только они читаются или записываются (для VirtualBOX идеально подходит не динамический файл .VDI).

Помните, что только один файл на раздел NTFS - это большая уловка, создание NTFS как можно меньшего размера - еще одна уловка, позволяющая сделать $ MFT очень маленьким и не терять / тратить пространство).

Плохая часть ... время поместить каждый файл и получить доступ через .lnk (ярлыки), который открывает проводник start \\?\Volume{...}\ вместо присвоения буквы.

Не говоря уже о том, что на такой NTFS лучше избавиться от «$ Recycle.Bin» и «Информация о системном томе», сделав одно за другим: взять владельца (takeown /F ... /A /R /D [Y|S|... depends on language] команду, см. параметры команды в Google или вызвав ее с помощью /?), затем удалите ее (RD /S /Q ... command), затем создайте файл с таким именем в Блокноте (чтобы размер был равен нулю, и чтобы они помещались в $ MFT, поэтому не занимайте места вообще); таким образом Windows не сможет воссоздать такие папки, и если вы не хотите видеть два файла нулевого размера, пометьте их с помощью + R + H + S. attrib +R +S +H ... команда, поэтому система будет думать, что они являются системными скрытыми файлами, доступными только для чтения, и не будут отображаться в проводнике (если, конечно, установлен флажок Скрыть системные файлы); не забывайте, что такие команды нужно запускать в консоли администратора.

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