blog wiki
 

XP tweaks: переносим временные файлы и кэш на ramdisk

08/05/2008

Вдохновленный вот этим комментарием, я решил по-быстрому реализовать задуманное.
Итак, берем реализацию rramdisk, про которую сам автор говорит:

There are plenty of Ramdisk driver and software available, such as RamDisk9xME, RAMDiskXP, RAMDiskSE and RAMDiskVE from Cenatek, RamDisk and RamDisk Plus from SuperSpeed, RAMDisk Enterprise Lite and Full version plus 64 MB limited free RAMDiskbased on Microsoft Ramdisk below from QSoft, and Ramdisk.sys driver for Windows 2000 from Microsoft published under KB257405. However, most of these Ramdisk drivers either is not free, or limit in its functionality especially on the size on RAM-disk. Some not even support Windows Vista.
The following freeware RRamdisk.sys, originally written by Gavotte based on Microsoft’s Ramdisk.sys, and later being added a GUI interface by lyh728 is not only free to use, it also stable, doesn’t have size limitation, supports popular FAT16,FAT32, NTFS filesystems, and supports Windows 2000 operating system and above including Vista.

Устанавливаем. Процесс достаточно прост и понятен. Запускаем rramdisk.exe, устанавливаем атрибуты:

ecnvuTw5a7

В моем случае я выбрал размер диска 128 Мб (у меня 1 Гб ОЗУ), все остальное оставил как есть.
Далее задача — перенести на ramdisk наиболее часто используемые временные файлы.

Пути системных переменных %TMP% и %TEMP%

  • Правой кнопкой щелкаем по My Computer -> Properties -> Advanced
  • Щелкаем по кнопке Environment Variables
  • Удаляем наверху User variables for User – %TMP% и %TEMP% (эти значения оверрайдят системные)
  • Меняем системные переменные %TMP% и %TEMP% на R:\Temp, у меня получилось вот так:

6HQ5CVtZVa

  • Перезагружаемся, видим свой диск R и папочку TEMP в нем.

Temporary Internet Files

  • Запускаем IE, идем в Tools -> Internet Options -> General
  • В среднем разделе Temporary Internet Files нажимаем самую правую кнопку Settings
  • Там нажимаем Move Folder, выбираем R:\Temporary Internet Files, нажимаем применить. Я выбрал ограничение, равное половине диска R.
  • IE переносит папку, попросит перелогиниться, чтобы завершить процесс.

Firefox Cache

По умолчанию FF хранит кэш в папке %Local Settings%\Application Data\Mozilla\Firefox\Profiles, но это поведение можно изменить через about:config:

  • запускаем FF, в адресной строке вводим about:config
  • кликаем в любом месте правой кнопкой, выбираем New -> String в качестве имени параметра задаем browser.cache.disk.parent_directory, в качестве значения — путь к папке где будет храниться кэш. У меня это r:\Application Data\firefox
  • Перезапускаем FF

Microsoft OneNote Cache

Самые неоднозначный, на мой взгляд, шаг. Я активно пользуюсь этой программой, даже сейчас эти строки пишу в ней. : )

  • Запускаем OneNote, идем в Tools -> Options -> Save
  • Внизу, в разделе Cache File Location нажимаем кнопку Modify и выбираем новый путь. У меня это R:\Application Data\OneNote
  • Перезапускаем OneNote

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

Тем не менее, нужно понимать и возможные минусы, что

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

Напоследок, текущее состояние диска R:, после полудня активной работы:

 R:\>dir
  Volume in drive R is RamDisk
  Volume Serial Number is 1234-5678 

  Directory of R:\

 01.01.2003  00:00    79 Mb           Application Data
 08.05.2008  12:29     5 Mb           TEMP
 08.05.2008  12:52     2 Mb           Temporary Internet Files
                0 File(s)              0 bytes
                3 Dir(s)      41 787 392 bytes free

 R:\>

Filed under:

XP tweaks: подключаем профиль пользователя отдельным виртуальным диском

06/05/2008

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

И я достаточно долго мучался, пока не догадался однажды создать виртуальный диск и смапить его в мой профиль командой

 C:\>subst z: "%userprofile%" 

и перенести структуру папок на диск Z:


  Directory of Z:\

 09.05.2008  13:37    <DIR>          .
 09.05.2008  13:37    <DIR>          ..
 06.02.2008  18:32    <DIR>          Archive
 09.02.2008  20:04    <DIR>          Bluetooth Software
 06.02.2008  18:33    <DIR>          Contacts
 12.05.2008  00:33    <DIR>          Desktop
 11.05.2008  23:04    <DIR>          Documents
 26.02.2008  14:12    <DIR>          eBooks
 06.02.2008  18:46    <DIR>          Favorites
 12.05.2008  00:57    <DIR>          Incoming
 06.02.2008  18:50    <DIR>          Links
 04.05.2008  13:30    <DIR>          Music
 06.02.2008  19:24    <DIR>          Phone Browser
 06.02.2008  19:33    <DIR>          Pictures
 06.05.2008  08:55    <DIR>          Program Files
 11.02.2008  18:14    <DIR>          Settings
 06.02.2008  19:34    <DIR>          Start Menu
 05.05.2008  11:09    <DIR>          Temp
 06.02.2008  19:51    <DIR>          Video
                0 File(s)              0 bytes
               19 Dir(s)   8 807 768 064 bytes free

 Z:\>

Такая структура обладает следующими преимуществами:

  • Более подходит к совместной работе на одном компьютере (личные данные находятся на личном логическом диске и отделены от системных).
  • Лучше подходит для бэкапа и восстановления системы. Просто скопируйте папку Z: в любое другое место. Обратите внимание на папку Z:\Program Files. В нее установлены portable версии основных используемых программ: Firefox, Miranda, Foobar2000 etc. В случае переустановки ОС/экцессов восстановить работающую конфигурацию можно просто смапив профиль на диск Z: и скопировав туда данные из бэкапа.

Но у виртуального диска, созданного командой subst, есть и пара недостатков:

  • он не является “полноценным” диском с точки зрения системы. Несколько раз я сталкивался с отказом Windows Installer устанавливать программу на диск Z:
  • он не является постоянным диском, при каждом новом запуске системы его приходится мапить заново.

И если первый недостаток достаточно легко обходится заданием пути через c:\documents and settings\…, то второй до недавнего времени был достаточно раздрающим, так как приводил к тому, что программы на диске Z: нельзя было добавлять в автозагрузку, ярлыки, указывающие на диск Z: на рабочем столе, пока он не смапится, выглядели неизвестными файлами и так далее. Не очень критично, но неприятно. Было какое-то подсознательное чувство, что в windows есть более удобный инструмент, чем допотопная досовская команда subst.  И я его нашел. : )
Александр Телятников в своей статье описывает механизм создания persistent subst drives.
Если вкратце, то можно создать ветке реестра [HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] строковое переменную с именем, соответствующим букве диска и значением, указывающим на место на диске, куда должен мапиться виртуальный диск. В моем случае это выглядит так:

то такой диск ничем не будет отличаться от созданного командой subst, только не иметь вышеуказанных недостатков.

Понравилось?
А следующий раз я расскажу про практическое использование junctions :)


Filed under: