Как безопасно установить Linux на свой компьютер? Подробная инструкция. Статья четвертая

651

Продолжаю публикацию цикла статей Алексея Дмитриева, в которых детально описаны все аспекты установки системы. И не стоит пугаться, если вам необходим для работы, например Office 2007, то есть несколько способов его запустить, даже в среде Linux. Но обо всем по порядку.

Сегодня, как и было обещано, мы разберем второй вариант высвобождения места на жестком диске компьютера для раздела Линукс.

Этот вариант не будет связан с переустановкой Windows, а возможен он при наличие на диске нескольких разделов. Часто делают два раздела — C: и D:, на первом устанавливают операционную систему Windows и все программы, а второй служит для хранения своих наработок, архивов, фотографий и прочего. Хорошо если эти разделы достаточно велики и не переполнены.

Windows Vista создает на диске три раздела: один скрытый, раздел C:, где установлена система, и раздел D:, занимающий остаток диска. Также возможно, что у вас в компьютере несколько винчестеров, на каждом из которых по одному или несколько разделов.

Информация: Как узнать, сколько в вашем компьютере физических жестких дисков (винчестеров)? Снаружи ведь этого не видно, а Windows упорно называет разделы одного винчестера дисками. Нужно последовательно открыть: Пуск -> Панель управления -> Система -> В окне Свойства системы открыть вкладку Оборудование -> Диспетчер устройств -> Дисковые устройства. Открыв плюсик в квадратике около Дисковых устройств, вы увидите перечисленными все ваши жесткие диски (или единственный ЖД). Это в Windows ХР.

Информация: Как узнать степень заполненности разделов? Пуск -> Мой компьютер. В окне Мой компьютер щелкнуть правой кнопкой мыши на значке или строке нужного раздела (диска) и выбрать в появившемся меню последнюю строку Свойства. Там будет нарисован красивый круглый пирог двух цветов и указано количество занятого и свободного пространства.

Допустим, что у вас установлен один винчестер, имеющий два раздела — 50Гб и 70Гб.

Если оба раздела переполнены, и освободить их путем выбрасывания ненужного хлама невозможно, то и места для еще одного раздела не выкроишь. В этом случае единственный вариант — приобретение еще одного жесткого диска. Приобретайте самый объемный из выбранного диапазона цен, так как диск емкостью 120 Гб лишь ненамного дешевле (несколько десятков рублей) диска в 180 Гб. Ваш старый диск, содержащий Windows, должен быть подключен как мастер на первом канале IDE (если вы не понимаете смысла этой фразы, то лучше попросить кого-нибудь более опытного подключить вам диск. Это несложная, но требующая внимания операция, занимает от силы полчаса времени).

Если разделы вашего жесткого диска заполнены примерно наполовину (как и должно быть) или даже меньше, то начинаем действовать. Нам предстоит средствами самой ОС Windows скопировать все ценное с раздела D: на раздел C:, при этом не возбраняется пользоваться архиваторами, чтобы сжать резервные копии, если места не хватает. Имейте в виду, что фотографии и вообще графические файлы практически не сжимаемы. (Их вообще лучше переписать на DVD, CD, или иной съемный носитель). Когда на разделе D: останется только то, что не жалко выбросить, то можно приступить к удалению раздела. Только удалив его, можно на освободившемся месте создать несколько новых разделов.

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

Но сначала мы должны иметь четкое представление, о том, что у нас есть, и что должно получиться в итоге. Поскольку для партиционирования диска мы будем пользоваться программами Линукс, то и именовать разделы нам предстоит в нотации Ubuntu.

Сначала рассмотрим случай с одним винчестером размером 120 Гб.

Пусть у нас есть два раздела жесткого диска (сам диск будет называться /dev/sda). Раздел C: (50 Гб) — /dev/sda1 и раздел D: (70Гб) — /dev/sda2, если он первичный, и /dev/sda5, если он логический. На диске C: установлена ОС Windows — поэтому мы не должны ни в коем случае трогать раздел /dev/sda1.

Все действия будут производиться с разделом /dev/sda2 (или /dev/sda5).

Мы должны проделать следующие операции:

1. Удалить раздел /dev/sda2 (или /dev/sda5)

2. На пустом пространстве (unallocated) создать расширенный (extended) раздел /dev/sda2 на всю величину этого неразмеченного пространства.

3. Внутри расширенного раздела /dev/sda2 нужно создать три логических раздела:

3.1 Раздел /dev/sda5 размером 50Гб с файловой системой fat32 (vfat). Этот раздел впоследствии станет диском D: в Windows.

3.2 Буферный раздел /dev/sda6 10Гб с файловой системой fat32 (vfat). Этот раздел будет использоваться для хранения общих файлов двух операционных систем и получит букву E:.

3.3 Линукс раздел размером 10Гб с файловой системой ext3. В него мы установим Ubuntu. Этого раздела Windows вообще не увидит.

Цели определены, за работу, товарищи!

Запускаем Live CD (он же установочный диск) Ubuntu Х.х. (См. вторую статью серии).

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

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

За неимением свободного диска размером 120Гб я буду создавать разделы снова на одно-гигабайтной флешке. Советую и вам потренироваться подобным образом, прежде чем партиционировать реальный диск.

Итак, на запущенном Live CD (он же установочный диск) Ubuntu Х.х Нажимаем крайнюю левую кнопку на верхней панели, выбираем строку Стандартные, и в открывшемся списке программ открываем Терминал (он же консоль). Видим совсем не страшное окно (даже не черного цвета, как обычно):

И в этом окне приглашение командной строки:

ubuntu@ubuntu:~$

Чтобы запустить программу партиционирования fdisk, нам нужно напечатать в командной строке:

ubuntu@ubuntu:~$ sudo fdisk /dev/sda

Мы пишем вначале команды sudo, чтобы выполнить команду от имени администратора, ведь создание разделов слишком ответственная операция для рядового пользователя.

Нажав ENTER, мы увидим следующий текст:

ubuntu@ubuntu:~$ sudo fdisk /dev/sda
The number of cylinders for this disk is set to 37319.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):

Первая строка этого текста сообщает нам число цилиндров на указанном диске. Предупреждаю, что у вас это число будет совсем другим. Последующий текст сохранился с тех древних времен, когда загрузка была возможна только из первых 1024 цилиндров диска, о чем и предупреждает эта надпись. Дальше следует приглашение нажать клавишу m, чтобы просмотреть список возможных команд — Command (m for help). Воспользуемся этим приглашением, нажав клавишу m (латинскую) и снова ENTER:

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

По настоящему опасна здесь только одна команда — w, которая запишет все изменения на диск, в результате чего обратного хода не будет. А пока вы не нажали w, все сделанные изменения можно отменить, нажав q, что повлечет выход из программы fdisk, либо просто закрыв окно терминала. Ну, и команду х лучше пока не применять, так как экспертами мы не являемся.

Для начала посмотрим таблицу разделов, воспользовавшись командой p (print the partition table — показать таблицу разделов):

Command (m for help): p
Disk /dev/sdb: 1031 MB, 1031798272 bytes
6 heads, 9 sectors/track, 37319 cylinders
Units = cylinders of 54 * 512 = 27648 bytes
Disk identifier: 0x91f72d24
Device Boot Start End Blocks Id System
/dev/sdb1 2 18965 512000+ c W95 FAT32 (LBA)
/dev/sdb2 18965 37320 495584 c W95 FAT32 (LBA)

В этой сводке представлены характеристика моей флешки: объем 1031Мб или точно 1031798272 байта. Это почти все, что можно извлечь полезного из этой сводки, так как дальше начинаются описания головок, секторов, трэков и цилиндров, которых во флешке нет и в помине. Вы будете работать с реальным жестким диском, в котором, несомненно, есть все эти детали, но из-за того, что современные жесткие диски устроены совсем иначе, чем их собратья в 80-х годах, когда была написана эта программа, не стоит слишком доверять этим цифрам. Это некие виртуальные головки, цилиндры и прочее, количество которых подгоняется под общий объем диска. Да вам и не нужна вся эта информация, в чем вы очень скоро убедитесь.

Еще одна неудобная особенность программы fdisk, в том, что она показывает размер разделов в цилиндрах, вместо того, чтобы показывать его в мегабайтах, из-за этого трудно ориентироваться в таблице разделов. Но мы можем пересчитать цилиндры в нормальные байты, так как размер цилиндра указан в строке Units = cylinders of 54 * 512 = 27648 bytes (Единица измерения = цилиндр размером 54х512 = 27648 байт). Подсчитаем размер раздела /dev/sdb2: из номера его последнего цилиндра (End) нужно вычесть номер первого (Start), а полученную разницу умножить на 27648 байт. (37320 — 18965) х 27648 = 507 497 040 байт или около 500Мб, что соответствует действительности. Кстати калькулятор находится в меню Applications -> Стандартные -> Калькулятор.

Несмотря на все вышеперечисленные ужасы, работать с программой fdisk очень просто и быстро. Начнем.

Я буду давать вам цифры исходя из выше приведенного расчета (один диск: /dev/sdа, два раздела: /dev/sdа1 и /dev/sdа2 (или /dev/sdа5, если он логический). Все это вы видите на таблице разделов программы fdisk. Помните, что /dev/sdа1 нам трогать нельзя. Поехали.

1. Удаляем второй раздел. В запущенной программе fdisk даем команду d (удалить раздел)

Command (m for help): d
Partition number (1-4):

Вас просят ввести номер удаляемого раздела — вводим 2 и жмем ENTER. Как ни странно, ничего не происходит, ни на дисплее, ни на диске, просто команда принята к сведению, а вам выдается приглашение ввести следующую команду:

Command (m for help):

2. Создаем расширенный раздел на месте уничтоженного, для чего вводим команду n (создать новый раздел). Про ENTER я не буду всякий раз напоминать:

Command (m for help): n
Command action
e extended
p primary partition (1-4)

Нас просят указать тип раздела расширенный (extended) или первичный (primary). Мы пишем e:

e
Partition number (1-4):

Предлагают указать номер раздела. У нас он второй — пишем 2:

Partition number (1-4): 2
First cylinder (1-37319, default 1):

Предлагают ввести номер первого цилиндра, при этом коварно подсказывают что, якобы, по умолчанию это единица. Но не на таких напали! Мы-то знаем, что у нас впереди неприкосновенный раздел /dev/sdа1, где установлена наша Windows. Посмотрим в таблице разделов (для этого надо немного прокрутить записи назад) каким номером цилиндра заканчивается раздел /dev/sdа1. Следующий номер (больше на единицу) и станет началом второго расширенного раздела. В случае с моей флешкой это будет 18965 + 1 = 18966. Это число я и ввожу в командную строку:

First cylinder (1-37319, default 1): 18966
Last cylinder, +cylinders or +size{K,M,G} (18966-37319, default 37319):

Теперь предлагают указать номер последнего цилиндра, либо размер раздела в килобайтах, мегабайтах, или гигабайтах (+размер_раздела{K,M,G}, без пробелов), и снова подсказывают размер по умолчанию. Так как мы точно не знаем, сколько места у нас остается на диске, то соглашаемся с дефолтом (по умолчанию), тем более что он совпадает с последним цилиндром нашего удаленного старого раздела. Это мы снова проверили в таблице разделов. Чтобы согласится со значением по умолчанию (default), ничего вписывать не нужно, нужно просто нажать ENTER:

Last cylinder, +cylinders or +size{K,M,G} (18966-37319, default 37319):
Using default value 37319

Дефолтное значение принято. Заявка на создание расширенного раздела подана.

3. Создаем логический раздел /dev/sdа5 внутри расширенного:

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)

Уже другой выбор. Можно создавать только логические, либо первичные разделы, Мы хотим логический (l):

Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (18966-37319, default 18966):

Запрашивают первый цилиндр, на этот раз дефолт без подвоха, совпадает с установленным нами. Соглашаемся со значением по умолчанию, поэтому просто жмем ENTER.

Using default value 18966
Last cylinder, +cylinders or +size{K,M,G} (18966-37319, default 37319):

Теперь нужно указать размер раздела в мегабайтах или (у вас) — в гигабайтах. Дефолтный нам не подойдет, он займет весь раздел, поэтому укажем нужное вам число +50G, а я укажу для своей флешки 300 мегабайт:

Last cylinder, +cylinders or +size{K,M,G} (18966-37319, default 37319): +300M
Command (m for help):

Заявка принята.

Но нам необходимо еще указать тип раздел (файловую систему). Если этого не сделать, то по умолчанию будет установлена Линуксовая файловая система ext2. Даем команду t (помните список команд, он чуть повыше, если прокрутить текст):

Command (m for help): t
Partition number (1-5):

Снова просят назвать номер раздела. У нас пятый.

Partition number (1-5): 2
Hex code (type L to list codes):

Просят ввести шестнадцатеричный код нужной файловой системы. Какой ужас! К счастью подсказывают нажать заглавную букву L, чтобы просмотреть список кодов. Попробуем:

Hex code (type L to list codes): L
0 Empty 1e Hidden W95 FAT1 80 Old Minix be Solaris boot
1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris
2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 C: c6 DRDOS/sec (FAT-
5 Extended 41 PPC PReP Boot 85 Linux extended c7 Syrinx
6 FAT16 42 SFS 86 NTFS volume set da Non-FS data
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 Hidden FAT16
Ничего себе списочек! К счастью «наши» в первой же колонке: b W95 FAT32 и c W95 FAT32 (LBA). В принципе можно любой выбрать, но LBA как-то современнее. Итак, с (кстати, в данном случае с является шестнадцатеричным номером):
Partition number (1-5): 5
Hex code (type L to list codes): c
Changed system type of partition 5 to c (W95 FAT32 (LBA))

Говорит, что установлен тип файловой системы (W95 FAT32 (LBA)) на пятом разделе.
4. Создаем буферный логический раздел /dev/sda6/. Все те же действия, только размер раздела 10 Гб. И не забыть про тип раздела — снова с W95 FAT32 (LBA).

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (30345-37319, default 30345):
Using default value 30345
Last cylinder, +cylinders or +size{K,M,G} (30345-37319, default 37319): +20M
Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): c
Changed system type of partition 6 to c (W95 FAT32 (LBA))

Снова напоминаю: я партиционирую флешку размером 1ГБ, а вы диск неизвестного мне размера, поэтому вводите ваши собственные размеры разделов! А вот команды, номера разделов, и типы файловых систем сверяйте по мне.
5. Осталось создать логический раздел для Ubuntu, его размер: сколько останется — дефолт (около 10 Гб), файловая система 83 (ext3).

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (31105-37319, default 31105):
Using default value 31105
Last cylinder, +cylinders or +size{K,M,G} (31105-37319, default 37319):
Using default value 37319
Command (m for help): t
Partition number (1-7): 7
Hex code (type L to list codes): 83

6. Теперь запишем все заказанные нами операции на диск. К сожалению, проверить мы ничего не можем, остается надеяться только на свою внимательность и аккуратность. Я привожу образец, того, что должно быть у вас написано в окне консоли. Все цифры я заменил черточками, чтобы не сбивать вас с толку.

$ sudo fdisk /dev/sda
The number of cylinders for this disk is set to —.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sda: — Gb, — bytes
— heads, — sectors/track, — cylinders
Units = cylinders of — * — = — bytes
Disk identifier: ___
Device Boot Start End Blocks Id System
/dev/sda1 — — — c W95 FAT32 (LBA)
/dev/sdb2 — — — c W95 FAT32 (LBA)
Command (m for help): d
Partition number (1-4): 2
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (— — —, default —): —
Last cylinder, +cylinders or +size{K,M,G} (— — —, default —):
Using default value —
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (— — —, default —):
Using default value —
Last cylinder, +cylinders or +size{K,M,G} (— — —, default —): +50G
Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): c
Changed system type of partition 5 to c (W95 FAT32 (LBA))
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (— — —, default —):
Using default value —
Last cylinder, +cylinders or +size{K,M,G} (— — —, default —): +10G
Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): c
Changed system type of partition 6 to c (W95 FAT32 (LBA))
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (— — —, default —):
Using default value —
Last cylinder, +cylinders or +size{K,M,G} (— — —, default —):
Using default value —
Command (m for help): t
Partition number (1-7): 7
Hex code (type L to list codes): 83
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

Программа fdisk записала изменения на диск и завершила свою работу. Давайте посмотрим итог нашей работы, для чего снова запустим программу fdisk:

$ sudo fdisk /dev/sdb
The number of cylinders for this disk is set to 37319.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sdb: 1031 MB, 1031798272 bytes
6 heads, 9 sectors/track, 37319 cylinders
Units = cylinders of 54 * 512 = 27648 bytes
Disk identifier: 0x91f72d24
Device Boot Start End Blocks Id System
/dev/sdb1 2 18965 512000+ c W95 FAT32 (LBA)
/dev/sdb2 18966 37319 495558 5 Extended
/dev/sdb5 18966 30344 307228+ c W95 FAT32 (LBA)
/dev/sdb6 30345 31104 20515+ c W95 FAT32 (LBA)
/dev/sdb7 31105 37319 167800+ 83 Linux
Command (m for help): q (Enter)

Введем команду q и нажмем Enter, чтобы выйти из программы fdisk.
Я доволен итогами партиционирования своей многострадальной флешки: Раздел /dev/sdb1 остался нетронут, появились один расширенный /dev/sdb2, и три логических /dev/sdb5, /dev/sdb6, /dev/sdb7 раздела. Последний предназначен для установки Линукс.
Должен вас предупредить, что, хотя разделы и помечены как FAT32, но отформатированы они не были. Поэтому пока на них ничего нельзя записать или примонтировать их куда-либо. Когда снова запустите ОС Windows, первым делом отформатируйте их. Для этого нужно в окне Мой компьютер щелкнуть правой кнопкой мыши на нужном разделе (D: и E:) и выбрать в появившемся меню Форматировать. Смотрите, не отформатируйте раздел (диск) С: !!!
После этого можно разместить на разделе D: все, что там было раньше, а раздел E: оставить до поры пустым. Раздела же /dev/sdb7 с файловой системой Линукс, ОС Windows не увидит и буквы ему не присвоит.
Предупреждение: Когда я говорю о буквах, которыми Windows обозначит новые разделы, то имею в виду идеальный случай. Вполне возможно, что ваша система присвоила букву D: CD-ROM’у, а букву E: съемному носителю. В таком случае у ваших разделов будут другие буквы, и вы сможете их узнать только по размеру в гигабайтах. Но ничего страшного в этом нет. Привыкнете.
Осталось сказать несколько слов о других вариантах, когда жестких дисков несколько, скажем два.
Схема действий в таком случае почти такая же, как описано выше. Нужно скопировать все ценное со второго винчестера на диск С:, что-то на съемные носители, и разметить освободившийся диск как вашей душе угодно, оставив под Линукс один логический раздел как минимум в 10ГБ. Пользуйтесь программой Gparted, если вам не понравилась fdisk. Кстати можно программой Gparted просмотреть результаты работы fdisk’а.