Шрифт
Общий файл подкачки для Windows и Linux №1
Play

Общий файл подкачки для Windows и Linux №1

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

Поэтому для решения этой задачи нам необходимо сохранять важные с точки зрения Windows данные с начала раздела подкачки в каком-нибудь файле, находящемся в разделе Linux. А при каждом запуске Linux надо будет проверить, кем в последний раз использовалась область подкачки - Linux или Windows. Если это был Linux, то просто разрешается подкачка, в противном случае надо будет сохранить служебные данные с начала раздела в файле, создать раздел подкачки на диске командой mkswap /dev/winswap и затем разрешать подкачку. И теперь мы готовы настроить систему на использование общей области подкачки. Правда, стоит отметить, что при современных объемах винчестера это не столь актуально, но придает некую завершенность совместному размещению Windows и Linux на одном винчестере вашего компьютера.

Процедура на самом деле не сложна и требует выполнения следующих шагов:

1) Загружаемся в Linux, отключаем файл подкачки, отредактировав файл /etc/fstab (закомментировав все строки, которые его описывают).

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

3) В Windows устанавливаем файл подкачки фиксированного размера на этот раздел.

4) Поскольку содержимое файла подкачки неважно, достаточно сохранить загрузочный сектор, сектора с FAT и корневой каталог, так называемые специальные сектора. Количество секторов, которые надо сохранить определяется по формуле:

T = r + (s * f) + (d / 16)

где: r - Reserved Sectors f - Number of FATs s - Sectors per FAT d - Root entries

В нашем случае: T = 1 + (251 * 2) + 512 / 16 = 535

Значения, используемые в формуле можно получить, используя любой дисковый редактор. Главное, чтобы он мог видеть все пространство вашего диска. Можно воспользоваться DiskEdit из пакета Norton Utilities 2002 или штатным дисковым редактором Win'2k - Disk Probe, для чего нужно с дистрибутива Windows из папки Support\Tools установить дополнительные инструменты, в том числе установится и Disk Probe. Подойдет и утилита PartitionInfo из пакета Partition Magic, для вызова которой надо загрузить пакет Partition Magic, выделить раздел, нажать правую кнопку мыши и выбрать соответствующий пункт контекстного меню Info, а в открывшемся окне выбрать вкладку - FAT Info. Я воспользовался двумя последними программами.

5) Определим точный размер раздела подкачки, воспользовавшись одним из дисковых редакторов. Если ваш выбор - Disk Probe, то значение поля Large sectors умножьте на значение поля Bytes per sector, то есть 256977 * 512 = 131572224 Byte. Или же воспользовавшись утилитой PartitionInfo из пакета Partition Magic на вкладке Partition Info найдите значение Total physical sectors 256977 и умножьте его на своеобразный стандарт для жестких дисков - 512 Byte и получите тоже значение, что и при использовании Disk Probe - 131572224 Byte. Я показываю использование двух разных инструментов в связи с ответственностью этих вычислений и исключения возможных ошибок.

6) Перезагружаемся в DOS и удаляем каталог RECYCLED, конечно он при загрузке Windows появится снова, но это будет уже не важно.

7) Загружаемся в Linux, и входим в него как root.

8) При необходимости, используйте команду fdisk, чтобы узнать название раздела и его размер в блоках (в моем случае hda5 и размер 256977 блоков).

9) Поскольку название этого раздела может попасть в конфигурационные файлы в разных местах, создаем символьную ссылку /dev/winswap, указывающую на этот раздел, следующей командой:

# ln -s /dev/hda7 /dev/winswap

10) Для создания копии специальных секторов в сжатом виде в файле /etc/winswap.gz в приглашении командной строки наберите:

# dd if=/dev/winswap bs=512 count=T | gzip -9 > /etc/winswap.gz

где T - число так называемых специальных секторов (в нашем случае 535), вычисленных в п.4).

📎📎📎📎📎📎📎📎📎📎