Разметка системного диска при установке desktop-дистрибутива 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. Хотя я бы рекомендовал расходовать НЗ постепенно, заниматься расширением раздела с захватом пустого пространства не так весело, как перераспределять место между двумя забитыми смежными. Я уж не говорю о потенциальной небезопасности передвижении стен, за которыми кто-то сидит :).
/dev/hda5 10G ext3 /home
О, мы уже дошли до нашего «хомяка»! Раздел home, как это и следует из названия, дает пристанище всем личным директориям пользователей, с их, пользователей, картинками, документами и прочим нехитрым скарбом. Кроме того в личной «папке» пользователя лежат разнообразные настройки и прочая и прочая. Отсюда вполне логичная арифметика — на каждого пользователя стоит отводить по 8-10G места. Если Вы собираетесь активно использовать систему в содружестве с кем-то еще — заложите места побольше моих 10G.
PS. Не то, чтобы не очевидно, но на всякий случай напоминаю — при создании на своем ПК ftp-сервера в этом же разделе поселится и «пользователь» FTP, ему так же, как и Вам, будет нужно место для директорий upload, download и что Вы там еще придумаете. Имеет смысл обдумать этот вопрос заранее. Или «расширить» директорию, подмонтировав в нее на место /home/ftp/upload какой-нибудь отдельный жесткий диск, если Вы жестко собрались что-то обменивать.
PPS. Уповаю на Вашу благоразумность, но все же не могу не обратить Вашего внимания на тот очевидный факт, что… Директория /home самая ценная часть Вашего жесткого диска. Делайте бекапы. Целиком или выборочно, всех файлов или только определенных документов, но бекапы нужны. Восстановление «умерших» треков ничто по сравнению с попыткой еще раз набрать две-три сотни страниц по какой-нибудь не особо интересной теме.
PPPS. Совершенно очевидно, что фраза «делайте бекапы» означает:
- планомерность их создания по расписанию.
Компьютеры, в отличие от людей, почти не страдают от лени. Просто признайте что он дисциплинированнее Вас и поручите ему самому следить за однажды данным Вами графиком. - множественность их создания.
Хорошая тактика — по меньшей мере 2 дополнительных места хранения Вашего реферата или что там у Вас есть. - распределенность их местонахождения.
Положить в той-же директории архив с файлом — плохая идея. Гремлены, поселившиеся в одночасье на вашем жестком диске, одинаково хорошо хомячат и текстовые документы, и бинарные архивы. Положите бекап на физически другой диск. На флешку. На CD. Научитесь пользоваться Dropbox. Умеете? Ну, тогда научите меня им пользоваться 🙂
Перечисленные меры — минимальный уровень безопасности сохранности Вашей информации! Минимальный означает «ниже некуда». Осознайте это до того, как ваша докторская по-английски удалится к цифровым праотцам.
/dev/hda6 10G ext3 /var
Вот мы и дошли до последнего (по моему скромному мнению) обязательного раздела нашей системы. Довольно странная директория на самом деле вполне обыденна — там лежат всякоразнообразные логи /log, директория /tmp, директория /www, содержащая документы и скрипты Вашего возможного сервера и директория /lib, в которой к примеру, лежат файлы Вашей базы MySQL. Если Вы точно не планируете делать общедоступный сервер с активной нагрузкой — можете уполовинить предложенные мною 10G — вероятнее всего проблем не будет.
Придерживая подобного плана в разметке диска при установке Linux Вы сможете значительно сэкономить время на последующем обслуживании системы и тем паче — на ее восстановлении, если несчастье посетит Ваш дом.
«-А как же остальные хххG на моем огромном диске?» — спросите Вы. Сделайте еще один раздел и расположите на нем любимые фильмы, музыку или что-нибудь еще.
Подготовлено с помощью pod2html.
UP. Всем, кого мысль о разбивке на «о ужас» 4-5 разделов так коробит:
1) Сделать деление на разделы нужно только один раз, при установке системы. Вам не нужно каждый раз по памяти монтировать каталоги при загрузке. Не понимаю, что вас беспокоит.
2) Пока о налоге на «лишние разделы» как-то не слышал. Не вижу причин делать разделов меньше, чем того хочется.
Источник
Пожалуйста помогите с разметкой диска под UEFI
Пожалуйста помогите с разметкой диска под UEFI.Хочу установить Archlinux на ноутбук с UEFI, не могу правильно сделать разметку диска, кому не сложно напишите как правильно сделать разметку, форматирование и монтирование, что бы работало UEFI.Жёсткий диск 1 ТБ.Делал по этой инструкции http://ziggi.org/ustanovka-i-nastroyka-arch-linux-xfce-chast-1/ , но ничего не получилось
512mb — efi boot
Остальное на своё усмотрение.
Boot флаги разделам ставить не надо.
Зачем мне это вики, я делал по вики, но конкретно с UEFI не выходит.И я делал этот раздел и монтировал mkdir -p /mnt/boot/efi mount /dev/sdaX /mnt/boot/efi , затем arch-chroot /mnt/ pacman -S refind-efi , refind-install и в конце меня ласково послали на вот эту ошибку «The ESP doesn’t seem to be mounted! Trying to find it. // doesn’t seem to be on a VFAT filesystem.The ESP must be mounted at //boot or //boot/efi and it must be VFAT!Aborting!»
раздел efi boot в fat32?
wiki говорит что нужно «Вне зависимости от того, какой загрузчик вы выберете, сперва установите пакет dosfstools, чтобы вы могли управлять системным разделом EFI после установки»
В FAT32 , затем форматировал командой , mkfs.vfat -F32 /dev/sda1 (boot/efi на первом разделе)
Boot флаги разделам ставить не надо.
Таки ESP должен быть с boot-флагом.
Ничего не понял(.Не могли бы вы проявить щедрость и написать команды, для разбивки диска размером 1ТБ
1. Открываешь cgdisk
2. 1ый раздел делаешь размером 512mb в fat32 и помечаешь флагом boot. Остальные разделы по вкусу.
3. Монтируешь разделы (сначала корень) и 1ый раздел монтируешь в /boot/efi (как требует refind)
4: .
5. PROFIT
- GPT
- 512MB@FAT32
- дальше на свой вкус
Есть подозрение, что rEFInd’у надо, чтобы твоя операционка была загружена через пункт в UEFI, а не с флэшки, например. По крайней мере, efibootmgr без этого не работает.
а как поставить загрузочный флаг?Я раньше ставил через cfdisk теперь там такого нет.
В type укажи ef00 и все.
Всё я сделал разметку правильно, теперь возник вопрос как правильно отформатировать разделы, NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931,5G 0 disk ├─sda1 8:1 0 2G 0 part -должен быть /boot/efi ├─sda2 8:2 0 10G 0 part -должен быть [SWAP] ├─sda3 8:3 0 50G 0 part -должен быть / └─sda4 8:4 0 869,5G 0 part -должен быть /home
Какими командами это правильно сделать?И как потом монтировать разделы?Помогите пожалуйста, просто боюсь сделать ,что то не так.
- mkfs.ext4 /dev/sda3 && mount /dev/sda3 /mnt
- mkfs.ext4 /dev/sda4 && mkdir /mnt/home && mount /dev/sda4 /mnt/home
- mkfs.vfat -F32 /dev/sda1 && mkdir /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi
- mkswap /dev/sda2 && swapon /dev/sda2
*ext4 можешь заменить на другую желаемую ФС.
Спасибо)А какой лучше ставить загрузчик для UEFI?
при нахождении на MBR. при GPT не требуется
Зависит от условий. Если есть дуалбут, то наверное будет поудобнее какой-нибудь grub-efi. Если же такового нет, то можно использовать ядерный EFI_STUB без всяких сторонних загрузчиков.
А какими командами устанавливать EFI_STUB и dosfstools?
Я размечаю 2 раздела 1. efi-раздел, 2. корень. Размечаешь по схеме: gdisk /dev/sda:
Монтируешь sda2 в /mnt, sda1 /mnt/boot:
Дальше установка настройка системы:
Это же ман для установки на macbook, он мне не подойдёт.
можно использовать ядерный EFI_STUB без всяких сторонних загрузчиков
Да и с дуалботом тоже можно и удобно (загрузка быстрее происходит).
прочитай все что сможешь про UEFI, rEFInd, и попытайся осмыслить
возьми виртуалку, потренируйся
Так придется постоянно тыкать FB (или другое) при загрузке для вызова меню и последующего выбора нужного загрузчика. По моему, это менее удобно, чем автоматический запуск GRUB и выбор нужного пункта.
не могу правильно сделать разметку диска, кому не сложно напишите как правильно сделать разметку, форматирование и монтирование, что бы работало UEFI
ды там 100500 разных вариантов как это можно сделать.. 🙂
(я конечно приувеличил цифру. но суть в том что вариантов действительно много).
трудно сказать какой из этих вариантов действительно правильный.
при этом надо не забывать что некоторые кривые UEFI-прошивки не умеют читать FAT16 , а некоторые другие кривые UEFI-прошибки не умеют читать FAT32 на маленьких разделах (но умеют FAT32 на больших разделах).
но перед тем как что-то делать — советую разобраться с утилитой efibootmgr (что она делает, и как ей пользоваться).
а когда разберёшься с утилитой efibootmgr — то уже будешь примерно знать какой вариант необходим именно тебе.
в этой инструкции — используется fdisk (или cfdisk).
а эту утилиту ни в коем случае нельзя использовать в наше современное время. иначе ССЗБ.
вместо неё нужно использовать gdisk (или cgdisk).
Вот как я делал и в итоге ошибка.
Делаю русскую раскладку
nano /etc/locale.gen (Ищю #ru_RU.UTF-8 UTF-8 , убираю #) (закрываю файл: Ctrl + X , соглашаюсь на сохранение)
Подключаю интернет по WIFI
— стираю таблицу разделов
С помощью (cgdisk /dev/sda) разбиваю диск на разделы
Устанавливаю базовую систему
pacstrap /mnt base base-devel gummiboot genfstab -p /mnt >> /mnt/etc/fstab arch-chroot /mnt /bin/bash
nano /etc/locale.gen раскомментирую строку #en_US.UTF-8 UTF-8 и строку #ru_RU.UTF-8 UTF-8
В /etc/mkinitcpio.conf, в разделе HOOKS, прописываю хук keymap. В разделе MODULES прописываю свой драйвер видеокарты: i915 для Intel
pacman -S gummiboot — на этом установка застопорилась, выдаётся следующая ошибка:
«file system /boot is not a fat efi system partition (esp) file system»
gummiboot install — та же история.
если ты хочешь схему где будет gummiboot , то в этом случае монтируй UEFI-раздел как /boot/ а не как /boot/efi/ . то есть в этом случае твоё ядро и initrd-файл — будут находится внутри FAT32-файловой системы .
(UEFI-раздел с точкой монтирования «/boot/efi/» — нужен лишь тогда (и только тогда) лишь в случае когда ты хочешь загрузку именно через GRUB, а не через другой загрузчик)
Если ТС собирается использовать ArchLinux, как основную систему, а остальные — загружать при необходимости, то EFI stub будет удобней. Если же ему требуется каждый раз выбирать, то GRUB, reFInd и т.п. подойдут лучше.
Спасибо, скажите а когда я устанавливаю базовую систему арч есть разница между командами pacstrap /mnt base base-devel gummiboot и pacstrap -i /mnt base base-devel, если потом делать установку так:pacman -S gummiboot , gummiboot install?
Спасибо, скажите а когда я устанавливаю базовую систему арч есть разница между командами pacstrap /mnt base base-devel gummiboot и pacstrap -i /mnt base base-devel, если потом делать установку так:pacman -S gummiboot , gummiboot install?
я к сожалению не такой арчеспециалист 🙂
..и могу лишь только сказать — как обычно делаю я:
я ставлю только base-группу через pacstrap. (команда: pacstrap /mnt , без дополнительных параметров)
а потом уже доустанавливаю остальные пакеты вручную через pacman
Согласен. Если вторую систему не требуется часто груззить, то и EFI_STUB подойдет.
(UEFI-раздел с точкой
монтирования «/boot/efi/» — нужен лишь тогда (и только тогда) лишь в случае когда ты хочешь загрузку именно через GRUB, а не через другой загрузчик)
EFI_STUB это тот же gummiboot?Я сейчас установил gummiboot, зашёл в его конфиг по адресу /boot/loader/loader.conf, а там кроме timeout 3 и default с кучей цифр ничего нет.так и должно быть?Просто я пока не рискнул выйти из установщика и перезагрузить систему.
EFI_STUB это тот же gummiboot?
Нет. Gummiboot — это сторонний загрузчик, который умеет грузить EFI_STUB ядро. Хотя EFI_STUB ядро можно грузить напрямую.
А как установить EFI_STUB?
Если вторую систему не требуется часто груззить, то и EFI_STUB
подойдет.
А если новое ядро однажды не захочет стартовать, как загрузить старое?
> (UEFI-раздел с точкой монтирования «/boot/efi/» — нужен лишь тогда (и только тогда) лишь в случае когда ты хочешь загрузку именно через GRUB, а не через другой загрузчик)
ну. формально ты прав. 🙂
например можно придумать сложный случай, при котором загрузчик сначало инсталлирует драйвер для файловой системы, а только потом передаёт управление коду ядра (образ которого хранится в отдельной файловой системе).
а фактически — кроме ситуации с GRUB — врядли где-то ещё это будет актуально.
Я как-то не очень понял, у меня загрузочный efi раздел смонтирован в /boot и установлен grub2. Ядра лежат на fat32 тоже в /boot. Это сложный случай?
Настроить linux-fallback как EFI_STUB ядро тоже?
хм. а ваш случай — интересный однако!
только один фиг — вы лучше вместо своей ситуации — назовите мне ситуацию при которой будет одновременно присутствуют 2 фактора:
1. точка монтирования для UEFI раздела (/dev/sda1) — это «/boot/efi/» , а не «/boot/».
2. не используется GRUB (GRUB2).
и разумеется такой случай придумать можно.. но мне кажется он будет отнесён к сложному случаю 🙂
(а ваш случай — не попадает НИ под пункт <1>, НИ под пункт <2>. ):))
Я не понял. Нахрена все тоо что ты написал? GRUB-EFI можно установить в /boot (ESP) и так, если хочется, без всяких извращений.
Я не понял. Нахрена все тоо что ты написал? GRUB-EFI можно установить в /boot и так, если хочется, без всяких извращений.
хахаха :).. но я же не пытаюсь именно это оспорить.
я просто рассказываю о том что точка монтирования «/dev/sda1»->«/boot/efi/» — НЕ НУЖНА ни для чего кроме как для GRUB (GRUB2).
другими словами я какбы говорю:
«‘
если ты хочешь сделать «/dev/sda1»->«/boot/efi/» — то вероятнее всего ты хочешь установить GRUB (GRUB2).
«‘
и потом какбы добавляю:
«‘
в остальных случаях вероятнее всего тебе НЕ нужно делать «/dev/sda1»->«/boot/efi/». сделай лучше «/dev/sda1»->«/boot/».
«‘
а вы пытаетесь мне сказать что «/dev/sda1»->«/boot/efi/» — не нужно даже для GRUB (GRUB2)? но ведь это совсем другая тема.. 🙂 .
это перпендекулярно тому что я говорю.
🙂 и я даже не хочу начинать спор на тему того что якобы «не надёжно на FAT32 хранить файлы ядра и конфиги-и-модули Груба.. надо более надёжную журнализируемую файловую систему для файлов загрузки» — потому что это реально уже ДРУГАЯ тема. и найдётся кучу аргументов «за» и «против» 🙂
Источник