Разметка диска для linux
Состояние перевода: На этой странице представлен перевод статьи GPT fdisk. Дата последней синхронизации: 1 февраля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
GPT fdisk состоит из программ gdisk, cgdisk, sgdisk, и fixparts. Они представляет собой набор инструментов для разметки диска, созданный Родом Смитом. Они работают с дисками с глобальным уникальным идентификатором (GUID) с таблицей разделов (GPT), а не со старыми (и всё ещё более распространенными) таблицами разделов основной загрузочной записи (MBR).
gdisk, cgdisk и sgdisk имеют одинаковую функциональность, но предоставляют разные пользовательские интерфейсы. gdisk — текстовый и интерактивный режим, sgdisk — режим командной строки, и cgdisk — интерфейс на основе curses. Эта статья охватывает утилиты gdisk(8) и sgdisk(8) .
- Для базовых функций разметки можно использовать cgdisk(8) с текстовым пользовательским интерфейсом.
- На сайте GPT fdisk есть подробные пошаговые инструкции для gdisk, cgdisk, sgdisk и FixParts.
Разметка диска в Linux
Во всем, что вы изучаете нужна практика и работа с жесткими дисками linux не исключение. Но практиковаться на реальном диске, рискуя повредить файловую систему не совсем правильно, а создавать виртуальную машину для таких целей слишком непрактично. Но есть решение. В Linux все считается файлами, и жесткий диск в том числе представлен в виде файла. Из этого выплывает интересная возможность. Мы можем использовать обычный файл вместо жесткого диска для своих экспериментов.
Создадим себе тестовый полигон командой:
sudo dd if=/dev/zero of=/disk.img count=2000 bs=1M
Таким образом, мы получим файл размером 2000 мегабайт, заполненный нулями, с которым можно спокойно работать. Запустим parted, передав ему вместо устройства наш файл:
sudo parted /disk.img
Когда надо будет работать с реальным диском, просто передайте путь к файлу его устройства утилите:
sudo parted /dev/sda
Программа запустится в интерактивном режиме и вы сможете выполнять нужные команды. Сначала попытаемся посмотреть список разделов на устройстве:
Он пуст потому что даже нет таблицы разделов. Пока её нет, разметка дисков в Linux не может быть выполнена, нам предстоит ее создать. Для этого воспользуйтесь командой mktable:
(parted) mktable gpt
Будем мы создали таблицу разделов типа gpt, но можно выбрать одну из этих: aix, amiga, bsd, dvh, gpt_sync_mbr, gpt, mac, msdos, pc98, sun, loop
Теперь давайте создадим новый раздел с файловой системой ext2 размером 100 мегабайт. Для этого есть команда mkpart, как вы помните ей нужно передать три параметра: тип раздела, файловую систему и координаты. Тип раздела может быть: primary, logical, extended (первичный, логический и расширенный).
В gpt можно создавать нужное количество первичных разделов и не задумываться об их типе. Это все было создано для MBR, в этой таблице есть ограничение на количество первичных разделов - только четыре. Поэтому приходилось создавать три первичных и один расширенный, в который вкладывались уже сколько нужно логических.
Ну так вот, создаем первичный:
(parted) mkpart primary ext2 0 400М
Поскольку это первый раздел, начинаем мы с нуля, а заканчиваем нужным нам размером - 400 мегабайт.
Смотрим список разделов еще раз:
Создадим еще несколько разделов, например для корня системы и для домашней папки:
(parted) mkpart primary ext4 400 1000M
(parted) mkpart primary ext4 1000M -0M
Параметр -0 означает вести отсчет от конца раздела, таким образом будет занято все доступное пространство под третий раздел. Смотрим что получилось:
Работа с диском в Linux осуществляется по их номерам. Давайте уменьшим последний раздел и создадим после него ещё один:
(parted) resizepart 3 1600M
Также можно указать нужный размер в процентах:
(parted) resizepart 3 60%
А теперь создание раздела parted:
mkpart primary ext4 1600M -0M
Удалим только что созданный четвертый раздел:
Зададим метки для существующих разделов с помощью команды name:
(parted) name 1 boot
(parted) name 2 root
(parted) name 3 home
Сделаем первый раздел загрузочным командой set:
Можно устанавливать следующие флаги: boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres, bios_grub, atvrecv, diag, legacy_boot, type, irst.
Вот в принципе и все. Разбивка диска на разделы Linux завершена. Работу с файловыми системами мы в этой статье опустим, так как для этого используются уже другие команды, которые мы рассмотрим в одной из следующих статей.
Шаг 4. Создание раздела ESP
В Gparted нам необходимо создать только раздел ESP для UEFI. Для этого выберите "Незамеченно", а затем нажмите по нему правой кнопкой и выберите "New":
В качестве файловой системы для раздела надо выбрать FAT32, размер - 100 мегабайт. Далее нажмите кнопку "Apply" для применения изменений.
Затем нажмите "Manage Flags" и установите галочки напротив флагов "boot" и "efi".
Далее переходим к установщику Ubuntu.
Оцените статью:
Об авторе
38 комментариев
Убунту устанавливает по умолчанию 512 Мб boot/esp. Из каких соображений вы рекомендуете 100 мб?
100 мб по умолчанию ставит window 10, и этого вполне достаточно что бы вписать в это пространство убунту при двойной установке. На русскоязычнорм форуме убунту тоже рекомендуют 100 мб. Хотя если не выходит то и 200 мб и 300 мб. В моём случае, если раздел esp создаёт установщик убунту, то никакие размеры никакого влияния не оказывают - убунту на мой ноут упорно не желает устанавливаться с uefi. Просто наотрез 🙂
Здравствуйте! Могу ли установить Ubuntu c UEFI без создания сист.раздела как вы описываете на сайте с помощью Gparted, а сразу начну с разметки разделов, где будет выделено место для этого раздела EFI в начале диска. - ?
Размер более 100 мб нужен на случай,если вы планируете ставить несколько систем рядом,возможно с несколькими ядрами . при обновлении системы (какой-либо) может элементарно не хватить места для еще одного ядра.
Какого такого ядра? Ядро лежит в /boot а не в /boot/efi
Точно,попутал малость. это для boot желательно более 100 МБ
Виндоус ставит исключительно для себя 100 Мб, а убунту приспосабливается- вынуждена. Если делать инсталляцию вручную, то желательно 200- 300 Мб, причем новый минт и убунту 18.04 берут по умолчанию 512 Мб. Некоторые линуксы (OpenSuse, например) всегда требовали для себя 512. У меня ZorinOS (на Ubuntu 16.04) стоит, я ему 300 Мб выделил- столько же, кстати, берет по умолчанию сегодняшний Manjaro. Я контролировал заполнение с gparted- 100 Мб- однозначно мало и мера вынужденная. Или постоянно чистить.
1. Как раз для Ubuntu отключить UEFI Secure Boot не обязательно. Они раньше всех подружили свою ОС с Windows. То же самое относится к продуктам от Red Hat.
2. ESP раздел /boot/efi желательно создавать больше 100 мб, чтобы потом не пришлось его чистить от старых установок и переустановок Linux
Согласен, никто уже дефолтными 100Иб не ограничивается, если даже флещки по 16Гб - норма. Я ставлю 256Мб (нравится цифра) или 256000Кб (тоже цифрка нравится, да еще поддерживается производителями накопителей, ну не любят они 1024Кб а лишь 1000Кб, и все тут, так накопителькажутся жирнее!)
При переустановке системы, установке нового дистрибутива или просто реорганизации файловых систем мы часто имеем дело с жесткими дисками. Часто нужно добавлять, удалять или изменять размер разделов, управлять их флагами или конвертировать файловые системы. Для этого в Linux есть достаточно различных инструментов как с графическим интерфейсом, так и консольных. Разобраться в графическом интерфейсе Gparted, я думаю вам не составит труда, но в некоторых случаях бывает нужна разбивка жесткого диска на разделы linux в терминале, без доступа к Х серверу, а это может стать серьезной проблемой.
В этой статье мы разберем как выполнять основные операции, которые мы привыкли делать в Gparted, такие как разметка диска, удаление и создание раздела, в терминале, а поможет в этом команда parted Linux. Сначала рассмотрим саму команду parted.
Резервное копирование и восстановление таблицы разделов
Перед внесением изменений в диск вы можете сделать резервную копию таблицы разделов и схемы разделов диска. Вы также можете использовать резервную копию, чтобы скопировать одну и ту же структуру разделов на несколько дисков.
Используя sgdisk, вы можете создать двоичную резервную копию, состоящую из защитной MBR, основного заголовка GPT, резервного заголовка GPT и одной копии таблицы разделов. В приведённом ниже примере таблица разделов /dev/sda сохраняется в файл sgdisk-sda.bin :
Позже вы можете восстановить резервную копию, запустив:
Если вы хотите клонировать структуру разделов вашего текущего устройства ( /dev/sda в данном случае) на другой диск ( /dev/sdc ) запустите:
Если оба диска будут на одном компьютере, вам необходимо рандомизировать GUID диска и разделов:
Шаг 2. Выбор порядка загрузки
Для того чтобы ваша система смогла загрузиться с только что записанной флешки нужно отключить UEFI Secure Boot. Этот режим позволяет загружаться только подписанным операционным системам, а подписанными являются только ОС от Microsoft. Поэтому для Linux этот режим надо отключать. У меня эта настройка тоже есть на вкладке Boot:
Кроме того, надо установить на первое место флешку:
После этого можно перезагружать компьютер и приступать к установке. Если у вас появилось вот такое окно, значит все хорошо. Здесь надо выбрать "Try Ubuntu without installing", это обязательное условие:
Я не буду описывать все шаги установки, которые надо выполнить, они ничем не отличаются от установки обычной ОС, отличие только в установке загрузчика и разметке диска. На нем и остановимся далее.
Преобразование между MBR и GPT
gdisk, sgdisk и cgdisk способны преобразовывать диски MBR и BSD disklabels в GPT без потери данных. После преобразования все первичные и логические разделы MBR становятся разделами GPT с правильными GUID типов разделов и уникальными GUID разделов.
После преобразования потребуется переустановить загрузчик, чтобы настроить его на загрузку с GPT.
- GPT хранит вторичную таблицу в конце диска. По умолчанию эта структура данных занимает 33 сектора по 512 байт (16,5 КиБ). MBR не имеет подобной структуры данных в конце диска, поэтому последний раздел на диске MBR иногда простирается до самого конца диска и не позволяет выполнить полное преобразование. Если это произошло, необходимо отказаться от преобразования и изменить размер последнего раздела.
- Известны проблемы с повреждением резервной копии GPT на ноутбуках с чипсетом Intel, работающих в режиме RAID. Решением является использование AHCI вместо RAID, если это возможно.
Для преобразования таблицы разделов MBR в GPT с помощью sgdisk используйте опцию -g / --mbrtogpt :
Для преобразования GPT в MBR используйте опцию -m / --gpttombr . Имейте в виду, что преобразовать более четырёх разделов из GPT в MBR невозможно.
Шаг 6. Назначение разделов
Если вы выбрали другой вариант разметки, то перед вами откроется меню со списком всех разделов. Найдите внизу окна "Устройство для установки загрузчика" и выберите в списке раздел для EFI.
Затем кликните по разделу для EFI в списке и выберите "Системный раздел EFI":
Далее можно продолжить установку как обычно. Вам надо создать корневой раздел, и по желанию вы можете создать раздел для загрузчика, подкачки и домашний раздел. Подробнее про установку Ubuntu 18.04 вы можете прочитать по ссылке.
Выводы
В этой статье мы рассмотрели как установить Linux на UEFI, а также как управлять порядком загрузки в установленной системе. Теперь, если у вас возникнет желание установить эту операционную систему на свой новый ноутбук с EFI, то вы уже знаете как это сделать. Если у вас остались вопросы, спрашивайте в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Шаг 5. Вариант разметки дисков
Когда система предложит выбрать способ разметки можно позволить системе все разметить автоматически. Но это только в том случае, если вы у вас уже не установлена какая-либо операционная система. Иначе выбираем "Свой вариант":
Сортировка разделов
В ситуации, когда, например, новый раздел создаётся между двумя существующими или раздел удаляется, нумерация разделов может перестать соответствовать их реальному расположению на диске, и для исправления можно выполнить сортировку. В этом примере используется /dev/sda .
Если вы не используете постоянные имена для блочных устройств, то вам может понадобиться обновить файлы конфигурации, в которых используется нумерация разделов, в частности /etc/fstab и/или /etc/crypttab .
Примечание: Перед использованием новых разделов ядро должно перечитать обновлённую таблицу. Перезагрузитесь или попросите ядро перечитать таблицу разделов.
Установка Linux на Legasy BIOS
Это вариант для владельцев плат UEFI, которые не хотят разбираться в тонкостях использования этой технологии и согласны использовать свое устройство как раньше с BIOS. Большинство материнских плат позволяют эмулировать режим BIOS. В этом режиме вы можете установить Linux безо всяких проблем и дополнительных разделов, так как это делалось в BIOS.
Чтобы включить режим Legasy BIOS надо войти в настройки BIOS/UEFI с помощью кнопки F2, Del или Shift+F2 и найти там соответствующий пункт. Например, у меня этот пункт находится на вкладке Boot. Здесь нужно выбрать режим загрузки UEFI или Legasy.
После сохранения настроек вы можете устанавливать свою операционную систему как обычно. Если же вас такой вариант не устраивает, дальше мы рассмотрим как установить Linux именно на UEFI.
Отключение автоматического монтирования раздела GPT
systemd-gpt-auto-generator(8) будет автоматически монтировать разделы в соответствии с Discoverable Partitions Specification. Иногда это нежелательно.
Автоматическое монтирование можно отключить путём добавления атрибута раздела 63 .
Запустите gdisk, например:
Введите p для просмотра списка разделов и посмотрите номера разделов, для которых вы хотите отключить автоматическое монтирование.
Введите x (экспертные команды).
После завершения используйте команду w для записи новой таблицы на диск и выхода.
Также можно использовать sgdisk с опцией -A / --attributes= ; смотрите sgdisk(8) . Например, для установки атрибута 63 разделу /dev/sda2 выполните:
Шаг 1 (альтернатива). Запись Linux на флешку UEFI в Windows
Если вы решили записать Linux в Windows, то лучше использовать утилиту Rufus. В ней необходимо выставить такие параметры:
- Схема раздела и тип системного интерфейса: GPT для компьютеров с UEFI;
- Файловая система: FAT32.
Все остальные параметры - по умолчанию. После завершения записи ваша флешка готова к использованию.
Опции и команды parted
У parted всего несколько опций и огромное количество команд.
- -h - вывести справку о программе
- -v - вывести версию программы
- -s - скриптовый режим, программа работает без запросов к пользователю
- -i - интерактивный режим, пользователь вводит команды в интерактивном режиме. По умолчанию программа работает в этом режиме.
Команд не очень много, но даже помнить их все вовсе не обязательно. Рассмотрим только те, которые нам пригодятся в сегодняшних примерах:
- help команда - помощь по выбранной команде;
- mkpart тип раздела файловая система начало конец - создание раздела linux с файловой системой начиная с позиции начало заканчивая конец, два последних параметра задаются в мегабайтах по умолчанию;
- mktable тип - создать таблицу разделов;
- print - отобразить таблицу разделов;
- quit - выйти;
- resizepart раздел конец - изменить размер раздела;
- rm раздел - удалить раздел;
- select раздел - установить раздел как текущий;
- set раздел флаг состояние - установить флаг для раздела. Состояние может быть on (включен) или off(выключен).
Раньше поддерживались также опции работы с файловой системой mkfs, check, mkpartfs но начиная с версии 2.4 они были удаленны. Но программа не стала хуже.
Я понимаю что сейчас разметка дисков в linux для вас непонятна и расплывчата, но с примерами станет намного яснее. Больше не будем о теории, перейдем к примерам.
Contents
Синтаксис parted
Синтаксис parted выглядит следующим образом:
$ parted [опции] устройство [команда]
В квадратных скобках указанны необязательные аргументы.
- опции указывают как будет работать программа, например, интерактивный режим работы или скриптовый, или нужно просто вывести справку.
- устройство - жесткий диск с которым будет работать программа.
- команда - действие которое нужно выполнить над жестким диском.
Запись изменений на диск
Для записи новой таблицы на диск и выхода используйте команду w .
Создание таблицы разделов и самих разделов
Первый шаг в разметке диска — создание таблицы разделов. После этого создаются собственно разделы в соответствии с желаемой схемой разметки.
Перед началом вы можете сделать резервную копию вашей текущей таблицы разделов и схемы.
Ниже показано, как использовать gdisk для выполнения как создания таблицы разделов, так и создания фактических разделов. Также вы можете использовать основанную на curses версию cgdisk, однако следующие инструкции к ней неприменимы. Смотрите cgdisk(8) для её использования.
gdisk автоматически выполняет выравнивание по 2048 512-байтовым секторам (1 МиБ) что должно быть совместимо со всеми расширенными форматами HDD и подавляющим большинством SSD.
Чтобы использовать gdisk, запустите программу с именем блочного устройства, которое вы хотите изменить. В этом примере используется /dev/sda :
Расширение диска GPT
После увеличения диска (например, в аппаратном RAID-массиве или на диске виртуальной машины) вновь добавленное место можно будет использовать не сразу, так как GPT хранит свои данные в конце диска. Необходимо переместить резервный заголовок GPT в новый конец диска.
Запустите sgdisk с опцией -e / --move-second-header , например:
После этого посмотрите список разделов, и вы должны увидеть появившееся свободное место.
Советы и рекомендации
Шаг 3. Разметка диска для UEFI
У UEFI в этом плане есть несколько отличий от BIOS. Во первых, это использование таблицы разделов диска GPT. Это новая технология, которая имеет массу преимуществ над MBR, среди которых очень большое количество первичных разделов (в MBR только четыре), восстановление при повреждениях, и многое другое. Подробнее о том чем GPT отличается от MBR читайте в отдельной статье. Второе отличие в том, что файлы загрузчика операционной системы больше не хранятся в первых 512 байтах жесткого диска. Все они хранятся на отдельном разделе, который называется ESP.
Перед тем, как нажать "Install Ubuntu" желательно подготовить диск с помощью Gparted. Откройте утилиту из главного меню образа. Затем выберите Device -> Create Partition Table:
В списке выберите таблицу разделов GPT:
Дальше переходим к созданию разделов.
Выводы
Теперь вы знаете как пользоваться parted Linux и этой информации достаточно чтобы не потеряться в случае, если окажетесь без доступа к графическому интерфейсу и вам понадобится разбивка жесткого диска в консоли Linux.
Linux — самая «щедрая» desktop ОС в плане выбора файловых систем и их использования. Глупо не воспользоваться таким ресурсом, ведь при умелом подходе мы сможем сделать нашу систему быстрее и безопаснее.
Итак, как недостойное try-юниксоида отметаем предложение «распилить диск одним куском», произрастающее явно из win-мира. У нас тут свои идеи имеются, что строить и куда копать.
Однако, для начала следует определится, как именно будет использоваться данный ПК после установки на него системы. Тактика разметки для рабочей станции заметно отличается от тактики разметки для сервера. Далее я буду указывать предпочтительные настройки для своего домашнего semi-headless сервера — эдакого промежуточного варианта, а в примечании — более оптимальные параметры для (возможного) узкоспециализированнного решения.
Итоговый список разделов и их размеры примерно таковы-
Давайте разберемся, достаточно ли это оптимально?
Я считаю, что более чем. Прежде всего — разделов не «многовато» — их в самый раз. Пройдемся по ним более детально:
/dev/hda1 100M ext2 /boot
Совершенно очевидный шаг для тех, кто не собирается денно и ношно компилировать новые варианты ядра системы и экспериментировать с загрузчиками.
Обратите внимание на ТИП — ext2 — использование «старого» формата позволит избежать любых возможных проблем с любым загрузчиком.
Имеет смысл разместить на самостоятельном первичном разделе.
/dev/hda2 980M swap
SWAP ака область подкачки обычно рекомендуют устанавливать размером вдвое больше размера оперативной памяти, однако при достаточном ее количестве множитель 1,5 будет уместнее. В крайнем случае мы всегда сможем выделить на любом диске еще одну область подкачки и подключить ее к системе. Суммарный эффект от 2-х областей на разных дисках будет больше, чем от одной большой области на одном диске, тем паче системном. Кстати, если Вы планируете запускать что-то активно использующее память — наиболее верной стратегией будет сразу разместить область подкачки на другом, отличном от системного, диске. Этот совет частенько встречается и он довольно разумен.
А вот другой часто встречающийся совет — «отказаться от файла подкачки» я не могу назвать разумным. В случае непредвиденной ситуации «экономия» гигабайта жесткого диска может оказаться весьма накладной.
Вновь обращаю внимание на ТИП — swap и отсутствие точки монтирования — разделу подкачки она не требуется.
Размещаем на расширенном разделе вместе с остальными партициями.
/dev/hda3 10G ext3 /
Это, как видно из точки монтирования — корень (или root) нашей файловой системы. Все необходимые системе каталоги, не получившие от нас собственных разделов, будут размещаться здесь. Включая каталоги с устанавливаемыми программами и обновлениями.
И снова к типу файловой системы — ext3 — это журналируемая версия ext2, обеспечивающая более быструю проверку в случае предыдущего аварийного завершения работы ПК. Поверьте мне, когда я пишу «более быструю» — я подразумеваю «ОЧЕНЬ быструю в сравнении с ext2». Выбирайте этот тип файловой системы, если не знаете, что Вам взять.
PS. «Журналируемая» — не синоним «избыточная». Журнал файловой системы используется ею для своих собственных нужд (если Вам интересно — для непротиворечивости ссылочной целостности), на Ваши данные система чихать хотела. Отсюда совершенно логичное правило — хочешь сделать хорошо — сделай сам! Делайте бекапЫ самостоятельно.
/dev/hda4 10G
Нет, это не опечатка. Тут действительно (пока) ничего нет. Собственно, этот раздел Вы можете и не создавать, но в таком случае у Вас не будет возможности оценить шелковистость и уместность подложенной соломки :). Место размещения нашего НЗ так же очень примечательно — после root и перед home — если один из разделов начнет быстро расти — без особых проблем сможете увеличить его вдвое.
Вероятнее всего Вам этого хватит.
PS. Хотя я бы рекомендовал расходовать НЗ постепенно, заниматься расширением раздела с захватом пустого пространства не так весело, как перераспределять место между двумя забитыми смежными. Я уж не говорю о потенциальной небезопасности передвижении стен, за которыми кто-то сидит :).
PS. Не то, чтобы не очевидно, но на всякий случай напоминаю — при создании на своем ПК ftp-сервера в этом же разделе поселится и «пользователь» FTP, ему так же, как и Вам, будет нужно место для директорий upload, download и что Вы там еще придумаете. Имеет смысл обдумать этот вопрос заранее. Или «расширить» директорию, подмонтировав в нее на место /home/ftp/upload какой-нибудь отдельный жесткий диск, если Вы жестко собрались что-то обменивать.
PPS. Уповаю на Вашу благоразумность, но все же не могу не обратить Вашего внимания на тот очевидный факт, что… Директория /home самая ценная часть Вашего жесткого диска. Делайте бекапы. Целиком или выборочно, всех файлов или только определенных документов, но бекапы нужны. Восстановление «умерших» треков ничто по сравнению с попыткой еще раз набрать две-три сотни страниц по какой-нибудь не особо интересной теме.
PPPS. Совершенно очевидно, что фраза «делайте бекапы» означает:
- планомерность их создания по расписанию.
Компьютеры, в отличие от людей, почти не страдают от лени. Просто признайте что он дисциплинированнее Вас и поручите ему самому следить за однажды данным Вами графиком. - множественность их создания.
Хорошая тактика — по меньшей мере 2 дополнительных места хранения Вашего реферата или что там у Вас есть. - распределенность их местонахождения.
Положить в той-же директории архив с файлом — плохая идея. Гремлены, поселившиеся в одночасье на вашем жестком диске, одинаково хорошо хомячат и текстовые документы, и бинарные архивы. Положите бекап на физически другой диск. На флешку. На CD. Научитесь пользоваться Dropbox. Умеете? Ну, тогда научите меня им пользоваться :)
Перечисленные меры — минимальный уровень безопасности сохранности Вашей информации! Минимальный означает «ниже некуда». Осознайте это до того, как ваша докторская по-английски удалится к цифровым праотцам.
Придерживая подобного плана в разметке диска при установке Linux Вы сможете значительно сэкономить время на последующем обслуживании системы и тем паче — на ее восстановлении, если несчастье посетит Ваш дом.
"-А как же остальные хххG на моем огромном диске?" — спросите Вы. Сделайте еще один раздел и расположите на нем любимые фильмы, музыку или что-нибудь еще.
Подготовлено с помощью pod2html.
UP. Всем, кого мысль о разбивке на «о ужас» 4-5 разделов так коробит:
1) Сделать деление на разделы нужно только один раз, при установке системы. Вам не нужно каждый раз по памяти монтировать каталоги при загрузке. Не понимаю, что вас беспокоит.
2) Пока о налоге на «лишние разделы» как-то не слышал. Не вижу причин делать разделов меньше, чем того хочется.
У многих начинающих пользователей линукс возникают сомнения, как правильно разбить жесткий диск. Постараюсь немного облегчить муки выбора нашим коллегам.
У нас в распоряжении есть — физическая разбивка дисков на разделы(fdisk, gparted), соф-RAID (mdadm), менеджер логических дисков (LVM), ширование dm-crypt (остальным не стоит забивать голову).
Пути разбивки дисков неисповедимы, поэтому мы начнем с самого простого.
1. Физическая разбивка дисков
Это самый простой, надежный и совместимый «дедовский» метод. Он позволяет четко очертить границы разделов и их взаимное положение на диске.
При разбивке диска можно учесть его физические особенности и получить некоторый прирост производительности. Дело в том, что ближе к краю диска скорость чтения может быть в несколько раз выше, чем ближе к центру. Соответственно, если расположить например /boot(128 мб), swap (memory * 2 or 2.5), /(root) то мы получаем хорошую скорость загрузки и работы с разделом подкачки. Если есть несколько дисков, то можно расположить swap в начале каждого. Но парится со swap есть смысл, если вы работаете с большими объемами данных — linux не использует swap без крайней нужды. (проверьте free -m). Отказываться от использования swap крайне не рекомендуется, так как linux хорошая система, но чудес не бывает. Открыв файл на 1ГБ можно заблокировать систему намертво без возможности разблокирования.
Разбивка диска на большое количество разделов оправдана только, если это делается для какой-то особой цели. В других случаях — достаточно обойтись простейшим / (root) и swap.
Очень часто пользователи отделяют /home от / (root) — это не имеет никакого практического смысла в однопользовательских системах. Обычно, / (root), /var, /home разделяют на серверах, чтобы пользователи со злым умыслом не заполнили логи или свою домашнюю директорию. Кстати, смонтировать /home с noexec можно и не делая отдельного раздела (man mount).
Если вы пользуетесь парралельно windows то я рекомендую использовать FAT32 для разделов с музыкой/фильмами, к которым вы хотите иметь доступ в обоих системах (и ни в коем случае не делать /home или домашнюю папку в FAT32!!). NTFS хорошо поддерживается, но недостаточно, чтобы ей пользоваться каждый день (чтобы снять unclean shutdown который не дает смонтировать раздел- нужно грузить windows), ошибки в файловой системе могут вызывать подвисания и потерю данных (привет жадному Биллу).
Запомните: черезмерная разбивка — корень всех бед. Разбивать диски «особым» образом нужно только под КОНКРЕТНУЮ задачу.
2. Логическая разбивка дисков
Не бойтесь LVM — он не такой страшный. С его помощью можно переразбивать диски, расширять партиции, добавлять физические устройства и расширяться на них, делать теневое копирование, бекап аналогичный «time machine» появился еще примерно в 2002 году. Не бойтесь, делайте бекап и пользуйтесь гибкостью LVM.
Для работы LVM, MD, DM обязательно нужен физический раздел /boot который позволит загрузчику(grub, Lilo etc) скачать минимальный образ системы (initrd) с необходимыми драйверами и конфигами для старта основной системы.
С логической разбивкой все сложнее. Вложенность разделов может быть произвольная.
Например как делается полное шифрование в ubuntu: /boot DM-CRYPT[LVM[/(root) swap]] — физический раздел /boot, затем физический раздел с dm-crypt, в котором находится LVM в свою очередь в котором два логических раздела /(root) и swap.
С вложенностью шифрования и raid можно играться как угодно.
Пример из жизни параноика:
/boot DM-CRYPT[ LVM[ /root DM-CRYPT-random[/tmp] DM-CRYPT-random[/home] DM-CRYPT-random[/var/log] DM-CRYPT-random[swap] ]]
При каждой загрузке /tmp /home /var/log и swap инициализируются с рандомным ключом. Конечно это ставит жирный крест на hibernate но при каждой загрузке- система абсолютно чистая от логов и временных файлов. Вполне сгодится для студентов или любителей побродить по порносайтам.
3. Советы по оптимизации
/boot можно сделать в файловой системе ext2 — она быстрей, чем ext3 и этого будет достаточно.
На активно использующемся разделе можно отключить access time — флаг noatime. Так часто делают на веб-серверах для уменьшения нагрузки на жесткий диск.
Как показала многолетняя практика, не стоит надеяться на надежность простого либо навороченного решения. Стоит использовать самое удобное и делать регулярный rsync на внешний носитель. В таком случае отпрадают вопросы на счет восстановления данных, которые при любом решении (особенно при шифровании) сильно усложняют жизнь. Например беды на шированной партиции при наличии Luks могут вывести систему из строя без возможности восстановления данных. Шифрованные данные более подвержены сильным повреждениям, чем нешифрованные.
(советуйте, добавлю)
В linux можно сделать абсолютно все, что угодно и это будет работать. Главное, руководствоваться здравым смыслом и не брезговать читать man вместо довольно часто вредных и устаревших howto.
Итак, резюмируем:
Для десктопов и ноутбуков оптимальный метод разбивки — полное отсутствие разбивки.
Для тех, кто не любит бекапиться, использовать «сложные методы» вроде LVM. Может подойти вариант:
swap (memory * 2), / (остальное)
Для юзеров убунты достаточно выбрать: Использовать все свободное место под LVM, тогда у вас останется много возможностей «на вырост».
Если разбивать /, /home то вы рано или поздно столкнетесь с нехваткой места на одном из разделов.
Создание новой таблицы
Важно: Если вы создадите новую таблицу разделов на диске с данными, то все данные на нём будут удалены. Убедитесь, что это действительно то, что вы хотите сделать.
Чтобы создать новую таблицу разделов GUID и стереть все текущие разделы, напишите o в строке. Пропустите этот шаг, если нужная вам таблица уже создана.
Управление загрузчиком UEFI с помощью eifbootmgr
Когда система загрузится вы можете отобразить настройки UEFI по умолчанию выполнив команду:
Рассмотрим подробнее что означает каждый из параметров:
- BootCurrent - загрузчик, который был использован для запуска этой операционной системы;
- BootOrder - порядок загрузчиков, в котором менеджер загрузки будет их перебирать во время старта системы. Если первый загрузчик не сработал, то будет использован второй и так далее;
- BootNext - загрузчик, который будет запущен при следующей загрузке;
- Timeout - таймаут на протяжении которого будет показываться меню выбора загрузчика, перед тем, как он будет выбран автоматически;
- Пункты 0000 - 0004 - загрузчики которые можно использовать.
Вы можете изменить порядок загрузки с помощью опции -o, например, сделаем так чтобы первым загружалась ОС из оптического диска:
sudo efibootmgr -o 0,1,2,3
И вернем обратно на первое место Ubuntu:
sudo efibootmgr -o 3,0,1,2
Можно изменить таймаут, чтобы отображалось меню выбора системы:
sudo efibootmgr -t 20
Здесь мы установили таймаут в 20 секунд.
Шаг 1. Запись Linux на флешку UEFI в Linux
Для записи образа на флешку в Linux лучше использовать утилиту Etcher. Программа запишет носитель, который можно загружать как в UEFI, так и в обычной системе. После запуска программы надо выбрать образ системы:
Затем карту памяти и дождаться завершения записи:
Также можно записать образ на флешку вручную. Это проще чем для обычного BIOS, хотя и потребует больше действий. Сначала отформатируйте ваш носитель в FAT32. Это можно сделать в стандартной утилите управления дисками Gnome:
Затем распакуйте содержимое установочного образа в корень флешки:
sudo mount /путь/к/образу.iso /mnt
sudo mount /dev/sdb1 /media/flash/
sudo cp -r /mnt/* /media/flash
Здесь /dev/sdb1 - имя раздела вашей флешки. Вы можете выполнить все эти действия в файловой менеджере. Не обязательно использовать команды. Далее нужно установить на раздел флешки, куда вы распаковали свои файлы два флага - boot и lba. Это можно сделать с помощью Gparted. Просто запустите программу, выберите в списке дисков свою флешку:
Нажмите правой кнопкой по разделу, выберите Управление флагами и установите галочки на против флагов boot и lba.
Каким бы способом вы не пользовались, ваша флешка готова и вы можете с нее загружаться. Большинство образов Linux уже содержат загрузчик EFI и прошивка компьютера его найдет при следующей перезагрузке.
EFI-приложение gdisk
Его нет в пакетах, но Род Смит предоставляет собранное бинарное приложение EFI на SourceForge. Скачайте gdisk-efi-*.zip и распакуйте архив. Для использования скопируйте gdisk_x64.efi в системный раздел EFI и запустите его с помощью вашего загрузчика или через UEFI Shell.
gdisk_x64.efi позволяет редактировать таблицу разделов ещё до загрузки операционной системы. Он используется так же, как и двоичный файл gdisk в Linux.
Примечание: gdisk_x64.efi не умеет работать с файловыми системами, так что он не сможет делать резервную копию таблицы в файл или восстанавливать таблицу из файла резервной копии.
Перед тем, как начинает загружаться операционная система, специализированное программное обеспечение компьютера инициализирует все компоненты, проверяет их готовность к работе и только потом передает управление загрузчику ОС.
Раньше для этих целей использовался набор программ BIOS, но этот стандарт сейчас считается устаревшим, а ему на замену пришла технология UEFI, которая поддерживает защищенную загрузку, имеет приятный графический интерфейс настройки и много других преимуществ. Большинство современных материнских плат и ноутбуков выпускаются уже с UEFI. В этой статье мы рассмотрим как выполняется установка Linux на UEFI и с какими проблемами вы можете столкнуться.
Шаг 7. Завершение установки
После того как все файлы распакуются и установится загрузчик установка Linux на UEFI будет завершена, вы можете перезагрузить комьпютер и пользоваться своей системой как обычно.
Но давайте еще рассмотрим управление пунктами меню и загрузчиками EFI.
Восстановление заголовка GPT
Если основной или резервный заголовок GPT оказался повреждён, можно восстановить его из сохранившегося заголовка с помощью gdisk. В данном примере используется /dev/sda .
Выберите r для опций восстановления и преобразования (только для экспертов). Далее выберите
- b : использовать резервный заголовок GPT (воссоздать основной)
- d : использовать основной заголовок GPT (воссоздать резервный)
После этого используйте команду w для записи новой таблицы на диск и выхода.
Установка Linux на платы с UEFI
Я буду рассматривать установку на примере Ubuntu, но все действия аналогичны и для других дистрибутивов. Сначала необходимо записать образ диска на флешку. Большинство дистрибутивов уже поддерживают загрузку в UEFI.
Установка
Чтобы просмотреть таблицы разделов и разделы на блочном устройстве, вы можете запустить gdisk, указав устройство (например: /dev/sda ), /dev/nvme0n1 , /dev/mmcblk0 , и т.д.):
или с помощью sgdisk:
Создание разделов
Создайте новый раздел с помощью команды n . Введите номер раздела, первый сектор, последний сектор и тип раздела.
Номер раздела
Номер раздела — это номер, присвоенный разделу, например, раздел с номером 1 на диске /dev/sda будет /dev/sda1 . Номера разделов могут не совпадать с реальным порядком разделов на диске, в этом случае их можно отсортировать.
Рекомендуется использовать номер по умолчанию, который предложит gdisk.
Первый и последний сектор
Первый и последний сектор раздела могут быть указаны в виде номеров секторов или в виде позиций, измеряемых в кибибайтах ( K ), мебибайтах ( M ), гибибайтах ( G ), тебибайтах ( T ) или пебибайтах ( P ).
Позиция может быть задана:
- в абсолютном выражении от начала диска. Например, 40M в качестве первого сектора указывает позицию 40 МиБ от начала диска.
- в относительном выражении, предваряя размер символами +размер или -размер . Например, +2G указывает на позицию через 2 ГиБ после сектора, предложенного по умолчанию, а -200M указывает на позицию 200 МиБ перед последним доступным сектором.
Нажатие Enter без ввода значения использует значение по умолчанию, которое является началом самого большого доступного блока для первого сектора и концом того же блока для последнего сектора.
- При разметке всегда рекомендуется указывать относительные размеры разделов с помощью нотации +размер и не использовать размеры меньше 1 МиБ. Такие разделы всегда будут выровнены в соответствии со свойствами устройства.
- Оставьте 1 МиБ свободного места в первых 2 ТиБ диска (например, используя +1M в качестве первого сектора раздела) на случай, если вам понадобится создать раздел загрузки BIOS.
Тип раздела
Выберите тип раздела, введя внутренний код gdisk или указав GUID типа раздела вручную. Значение по умолчанию Linux filesystem (GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4 , внутренний код gdisk 8300 ) должно быть подходящим для большинства случаев.
Повторяйте эту процедуру, пока не получите желаемые разделы.
Читайте также:
- Восстановление этого диска с помощью дисковой утилиты невозможно
- Как использовать процессор видеокарты для вычислений cpu
- Какие центральные процессоры устанавливается в центральное процессорное устройство цпу эл
- Емкость жесткого диска определяет производительность компьютера
- Qualcomm snapdragon 636 хороший ли процессор