Всего у меня на компьютере два винчестера, 160ГБ и 120ГБ. На первом стоит Windows XP и все остальное ПО, второй использовался для хранения всей нужной и не очень информации.
Изначально при установке Linux'а перенес все со второго винчестера на первый и установил Ubuntu, отдав под нее весь диск не особо вдаваясь в подробности. Хотя пункт «Указать разделы вручную (для опытных пользователей)» и выбрал в первую очередь, в итоге пришлось вернуться к «Использовать весь диск» и разрешить системе автоматически разметить винчестер. То ли встроенная в инсталлятор программа разметки диска глючила, то ли я что-то делал не так (что скорее всего), но переразметить диск под себя не получилось.
Ubuntu успешно установил, поюзал, после чего снес и стал ставить по новой. Ну не мог я смириться, что такая важная по сути операция, как разметка диска, была отдана автоматике. Ничего страшного, конечно, не произошло бы, но самолюбие было жестко ущемлено, как так, диск не смог разметить (хотя раньше размечал и не раз). Да и к этому времени успел основательно подтянуть теоретический уровень, так что в результате все сделал как хотел и без единой заминки.
Немного теории. Жесткий диск изначально содержит только один основной раздел. Всего же основных разделов может быть не больше четырех, т.е. разбить винчестер, используя только основные разделы, больше чем на четыре части не получится. Но один (и только один) основной раздел можно назначить расширенным, который в свою очередь можно разбить на неограниченное количество логических разделов. Причем сам расширенный раздел является только неким «контейнером» для логических, поэтому должен содержать как минимум один логический раздел, в противном случае область диска будет определяться как «неразмеченная».
Каждому разделу винчестера, будь то основной или логический, в соответствие ставится UUID (Universally Unique Identifier) для его дальнейшей однозначной идентификации. Причем после форматирования одного из разделов, его UUID меняется (установил опытным путем).
В Линуксе отсутствует привычное с Windows буквенное название винчестеров (C:\, D:\ и т. д.), вместо этого используется немного другой подход.
Винчестеры в системе будут видны под названиями sd*, где * - это буква a-z, в зависимости от количества жестких дисков. Если их у нас в системе два, то называться они будут sda и sdb, если три, то sda, sdb и sdc.
Как уже говорилось выше, каждый винчестер должен иметь как минимум один основной раздел, при желании максимум четыре, один из которых можно назначить расширенным и создать в нем любое количество логических. Все эти разделы также имеют свое обозначение, состоящее из название самого винчестера и цифры, например sda1 или sdb5. Цифры идут по порядку, за исключением того, что цифры 1-4 зарезервированы под основные разделы (что и понятно, всего их может быть от одного до четырех), а нумерация логических начинается с 5.
Предположим, что мы разметили диск на два основных раздела, один из которых сделали расширенным и разбили на три логических. Тогда их названия будут такими (допустим, что сам винчестер называется sda): sda1 (первый основной), sda2 (второй основной, назначенный расширенным), sda5 (первый логический), sda6 (второй логический), sda7 (третий логический). Причем диск sda2 (расширенный) будет недоступен в системе, т. к. записать на него ничего нельзя, он является лишь контейнером для логических дисков.
Для разбивки жесткого диска решил воспользоваться утилитой GParted, она была доступна прямо с Live CD. По ощущениям, ничем не хуже Partition Magic, а в чем-то даже удобней.
Диск разметил следующим образом:
Разбил на два основных, первый выделил для хранения информации без привязки к ОС (поэтому и назначил файловую систему NTFS, прав доступа и прочих плюшек файловых систем Linux для просто данных мне не надо, а заставлять Windows видеть ext не хочется).
Второй основной отдал чисто под Linux, назначил расширенным и разбил на три логических. Раздел под своп сделал в 2 ГБ, много, конечно, еще ни разу больше 100МБ не использовалось, но сойдет. Тем более часто в мануалах советуют под своп выделять памяти не меньше объема оперативки (у меня 1,5ГБ).
Под сам Linux выделил 30ГБ. Остановился на файловой системе ext4. Выбрал ее, т.к. она по сути дефолтная для Linux'а. Потом еще почитал про нее немного теории и всяких тестов и еще раз убедился, что ext4 оптимальна, если нет каких-то специфичных требований, которые реализованы только в других ФС.
Каталог /home вынес на отдельный раздел, отдав под него все оставшееся место (получилось около 20ГБ). В принципе, оно понятно почему — держать свои собственные настройки и пользовательские файлы лучше отдельно, в случае перестановки системы ничего не потеряется.
На этом остановился, хотя можно было бы пойти и дальше, например, вынеся каталог /var на отдельный раздел (в /var хранятся постоянно меняющиеся файлы, поэтому если на винте и появляются битые сектора, то чаще всего именно там).
Ну и немного о трудностях, с которыми пришлось столкнуться. Как выше писал, один раздел отформатировал в NTFS и настроил автоматическое монтирование в каталог /media/data. Все работало идеально. Потом зашел в Windows проверить, виден ли этот раздел. Потестив, решил отформатировать. При следующей загрузке Linux стали выдаваться ошибки, по тексту которых можно было догадаться, что что-то не так с монтированием. Как в последствии выяснилось, для монтирования жестких дисков Linux использует UUID винчестеров, а при форматировании этот самый ID сменился на новый, поэтому пришлось изменить конфиги. После правки все заработало как надо. Команды использовал такие:
cat /etc/fstab
Просматриваем содержание файла fstab, в котором указаны точки монтирования.
ls -l /dev/disk/by-uuid
Смотрим текущие UUID-шники подключенных винчестеров. Если находим несоответствия с данными в файле fstab, то его надо поправить.
sudo gedit /etc/fstab
Открываем файл fstab в редакторе gedit с правами суперюзера, чтобы можно было сохранить результат, заменяем старый UUID на новый, который мы получили выполнив предыдущую команду, сохраняем изменения, перезагружаем компьютер. Ошибок монтирования при загрузке системы больше быть не должно.