LINUX.ORG.RU

Разметка диска | EFI

 


0

1

Доброго времени суток. При установке Linux на SSD, на котором до этого была установлена Windows 10, возник вопрос на этапе разметки дисков, а именно:

На данный момент диски разделены след. образом:

dev/nvme0n1p1 500M - Windows recovery environment

dev/nvme0n1p2 100M - EFI System

dev/nvme0n1p3 16M - Microsoft reserved (?)

dev/nvme0n1p4 232G - Microsoft Basic Data

Как я понимаю, для Linux в общем случае должно быть что-то вроде:

/boot - это уже имеющийся у меня EFI, который n1p2, да?

/ - это сама ОС

/swap

/home

Я в этом плохо разбираюсь. Я правильно понимаю, что сейчас в p2 у меня лежит гуишная асусовская замена биоса? Если да - я же не могу ее просто «сдвинуть» в самое начало диска? Ведь где-то хранится ее адрес, необходимый для загрузки ОС? Как тогда быть с p1? По сути это просто трата 500М свободного места. Ни то чтобы мне было жалко, просто хочется чтобы был порядок, зачем лишний мусорный раздел?

/boot - это уже имеющийся у меня EFI, который n1p2, да?

Нет. /boot — это одно, а ESP — это совсем другое. Считай ESP — это как MBR, там только загрузчик.

mord0d ★★★ ()
Ответ на: комментарий от mord0d

В некоторых дистрибутивах поддерживается /boot на ESP. По сути, он работает почти везде, кроме точно Debian, где скрипт обновления ядра использует хардлинки, не работающие на FAT.

Но я бы не смешивал по причине известной надёжности FAT.

anonymous ()
Ответ на: комментарий от mord0d

Спасибо за ответ. Но в любом случае вопрос остается открытым: как я могу перенести EFI в начало дискового пространства, чтобы появилась возможность использовать 500 мб, которые сейчас отведены под p1? И можно ли это сделать, не переустанавливая EFI? Я так понимаю, что производитель ноута установил туда наиболее оптимальную версию, и её удаление и переустановка - колхоз? Не хочется этого делать хотя бы потому, что меня всё устраивает.

p1cador ()

Обычно ESP раздел монтируется в /boot/efi. Отдельный /boot как правило не нужен, это костыль для очень древних биосов, который позволял обойти ограничение на размер раздела. Еще его иногда используют, чтобы грузиться с программного RAID, или с LVM.

Khnazile ★★★★★ ()
Ответ на: комментарий от p1cador

Ты можешь удалить вообще все разделы, установщик создаст их заново. На EFI System Partition нет никаких важных данных. Прошивка ноута находится на SPI-флешке, которая вообще отдельная сущность, и к дискам не имеет никакого отношения.

Khnazile ★★★★★ ()
Ответ на: комментарий от p1cador

Ты посмотри, что там в ESP. Обычно там только части загрузчиков от ОС, т.е. как пару сотен байт в MBR, поэтому можно сносить и переставлять. Могли быть там загрузчики от фирменных утилит, но я не вижу особых разделов.

boowai ★★★★ ()
Последнее исправление: boowai (всего исправлений: 1)
Ответ на: комментарий от p1cador

Чисто технически ты можешь удалить первый раздел или создать на нём другую файловую систему и использовать его.

Но для Windows у тебя должен сохраниться порядковый номер раздела, на котором она была установлена.

Иначе тебе придётся как минимум переустанавливать загрузчик Windows и пересоздавать bcdboot данные.

А возможно и переустанавливать Windows.

Поэтому лучше не изменяй порядок следования разделов, т.е. как был у тебя системный раздел Windows, с директорией Windows и Program Files на 4 разделе, так и должно остаться.

anonymous ()

Я правильно понимаю…

Абсолютно неправильно. Единственный раздел, который необходим линуксу, это корень. Если в режиме ЕФИ, то еще ESP-раздел. Если не знаешь для чего все остальное, то кроме проблем это тебе ничего не принесет. Поэтому, не мудри. Сноси всю разметку и устанавливай по умолчанию.

andytux ()
Ответ на: комментарий от anonymous

В некоторых дистрибутивах поддерживается /boot на ESP.

В этом нет необходимости. Но не надо путать /boot и ESP.

Но я бы не смешивал по причине известной надёжности FAT.

И смешивать тоже не надо, да.

mord0d ★★★ ()
Ответ на: комментарий от p1cador

как я могу перенести EFI в начало дискового пространства, чтобы появилась возможность использовать 500 мб, которые сейчас отведены под p1?

Windows может сломаться, если перенести ESP, который она использует. Там какая-то валидация происходит, я не знаю подробностей.

mord0d ★★★ ()
Ответ на: комментарий от anonymous

но так аккуратнее и проще.

Проще — да. Аккуратнее — сомнительно. /boot — помойка, ESP — очень маленький раздел, выполняющий единственную функцию.

Но не надо путать /boot и ESP.

Где я их путаю?

Не ты, а топикстартер.

mord0d ★★★ ()

Корень / нужен.

EFI - тоже нужен, а вот куда он будет смонтирован - в /boot, в /boot/efi или даже в /efi зависит от дистрибутива. В графических установщиках можно просто указать его как «Системный раздел EFI» и не форматировать. Установщик сам примонтирует куда надо.

Раздел /swap не нужен. Своп можно сделать файлом, если понадобится.

Раздел /home тоже не нужен, если не планируешь хранить важные файлы непосредственно в домашней папке линукса.

Если можешь переустановить Винду, то лучше снеси все и разметь заново. Винде, кстати, тоже одного раздела достаточно, так что разделы Microsoft reserved и Windows recovery можно не делать.

qtm ★★ ()
Ответ на: комментарий от anonymous

Не люблю лишние точки монтирования.

Считаешь, лучше скидать всё в одну кучу?

Опции монтирования (особенно nosuid, noexec), сжатие, разные файловые системы в конце концов.

Да, новичку я такое не порекомендую, и ему лучше пока ограничиться минимальным количеством разделов, но ты-то должен понимать. ☺

mord0d ★★★ ()
Ответ на: комментарий от mord0d

Считаешь, лучше скидать всё в одну кучу?

Не всё, но эти не против бы.

nosuid

ХЗ.

noexec

Она не работает.

nodev можно ещё, но практического смысла тоже мало. Если их можно применить, то хорошо, но делать эти потешные опции целью я бы не стал.

anonymous ()
Ответ на: комментарий от anonymous

Считаешь, лучше скидать всё в одну кучу?

Не всё, но эти не против бы.

Ладно, тогда более конкретно: с FAT32 кто угодно может делать что угодно (тем более драйверы есть вообще везде). То есть потенциально Windows сможет напакостить в файлы, ей не принадлежащие.

Чем меньше будет таких файлов "без присмотра", тем лучше.

nosuid

ХЗ.

У меня много что смонтировано с nosuid.

noexec

Она не работает.

Всегда работало, что в Linux, что в FreeBSD, а у тебя не работает. ☺ Ну и да, я про нормальные файловые системы, а не про FAT32 (на ESP права пофиг вообще). Ну и смотреть на stat бессмысленно — оно отображает права файла/диры, ему до атрибутов файловой системы нет дела, но даже если у тебя файл будет -rwx-r-xr-x, запустить ты его не сможешь, если файловая система смонтирована с noexec.

mord0d ★★★ ()

монтируешь dev/nvme0n1p2 в /boot/EFI, хотя если ставишь убунту этого делать не нужно. Для убунты достаточно в винде через «управление дисками» урезать «сжать том». Перезагрузиться и установить убунту. Там все очень просто.

bhfq ★★★★★ ()

Спасибо всем за ответы. Я навеоное не верно выразился. Винда мне не нужна, на этом ссд будет для линукс. С efi я асе понял, спасибо. Остался последний вопрос: Как я понял после гугления - софт устанавливается в /usr (части софта, которым достаточно рид-онли прав), настройки софта - в /home/$USERNAME, бинарники - в /bin При этом на арч вики рекомендуют примерно следующую схему разметки:

/boot - до 500мб

/ - 25-30gb

/swap

/home - всё остальное

Вопрос: если по большей части софт располагается не в /home, а в / - почему тогда под /home на официальной вики рекомендуют так дохрена места (всё оставшееся). Почему не под / ? Ведь настройки программ по дефолту весят меньше самих программ. Также хотелось бы узнать, стоит ли вообще потрошить /home, /var, /tmp, /swap на разделы? Как я понимаю, для /home все же лучше создать раздел - чтобы в случае чего, при сносе и переустановке ос сохранились настройки программ. А что делать с остальным? (/var, /tmp, /swap). ПС для файловой мусорки есть отдельный HDD, на SSD нужна будет только ОС, пара Ide и проекты. Как бы разметили диск вы? А также может можете дать пару советов по настройке линукса под работу с ssd? Чисто исходя из экспириенса. Потому что на форумах мнения очень разные. Кто-то советует файловую систему btrfs, кто-то говорит, что она не стабильна и лучше ext с какими-то (не помню уже) флагами. Кто-то вообще говорит лучше разместить, /var на HDD (лол?). Пока что я склоняюсь к следующей разметке:

/boot 300MB

/home = 50GB

/ = остаток (~200 GB)

  • монтировать HDD
p1cador ()

Правильная таблица разделов для тебя (если ты не хочешь LUKS и/или LVM):

/boot/efi - EPS, 200-500 MB
/ - все оставшееся место

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

aquadon ★★★★★ ()
Ответ на: комментарий от p1cador

«Всякая веревка, порезанная на куски, окажется слишком короткой.»

если по большей части софт располагается не в /home…

Потому, например, что пара фильмов в хорошем качестве переплюнет по размеру весь софт. Или, например, steam находится в /home.

стоит ли вообще потрошить /home, /var, /tmp, /swap на разделы?

Нет. Ничего кроме проблем не получишь.

Как я понимаю, для /home все же лучше создать раздел - чтобы в случае чего, при сносе и переустановке ос сохранились настройки программ.

Но ведь в настройках и могут быть ошибки, которые вынуждают переустанавливать систему. А ты притащишь эти ошибки в новую систему. В следствии ошибок на отдельном хоме-разделе, он может не монтироваться. В этом случае ты вообще не запустишь систему, ни старую, ни новую. Отдельный хоме для тех, кто очень хорошо понимает, зачем он нужен. Ты не понимаешь. Про /var, /tmp вообще забудь - не мешай системе работать. Swap - уже несколько лет по умолчанию используется свап-файл, находящийся на корневом разделе. По моему, это куда более удобный и гибкий вариант.

ПС для файловой мусорки есть отдельный HDD

Вот это замечательно. И это куда лучше, надежнее и гибче, чем отдельный хоме-раздел. /boot не то, что не нужен, а даже вреден. Тем более, в ЕФИ-режиме, его функции выполняет ESP-раздел.

Как-бы разметил я. Только необходимое. ESP-раздел - 100мб, вполне достаточно, даже если есть виндовс (она занимает там львиную долю). Корень - у меня обычно 8-16гб, зависит от того, сколько у тебя будет софта. Раздел[ы] для «файлопомойки».

andytux ()
Ответ на: комментарий от andytux

ESP-раздел - 100мб, вполне достаточно, даже если есть виндовс (она занимает там львиную долю)

Вообще всё наоборот ) Windows там хранит около 30МБ обычно.

Для Linux 100МБ ESP - это крайне мало. Одно ядро ~50МБ. Если решите держать два ядра для выбора загрузки, это уже под завязку. Многие дистрибутивы хранят два последних ядра по умолчанию. Некоторые дистрибутивы вообще никакие старые ядра не удаляют без отдельной команды. Даже те дистрибутивы, которые не хранят версии ядер одного пакета - зато могут устанавливать разные ядра из разных пакетов (current, lts, hardend). В общем - для Linux обычно рекомендуют 500МБ. Ну, или понимать головой какой размер вам нужен )

anonymous ()
Ответ на: комментарий от anonymous

Для Linux 100МБ ESP - это крайне мало

Вот смотрю прямо сейчас. Размер ESP-раздела - 100мб. Каталог Microsoft на нем занял 25мб. Еще столько-же занял микросовтовсий-же Recovery. Плюс еще столько-же ее каталог Boot. Каталог Ubuntu - 4,2мб. Да, если там хранить ядра, то этого конечно очень мало, нужно как минимум полгига. Но *бунту там ядра не держит, ни одного., только сам ЕФИ-загрузчик, даже модули груба находятся на системном разделе. К слову, для своих нужд я туда еще скопировал груб целиком, вместе с модулями, - 6,5мб. Свободно 12мб.

andytux ()
Ответ на: комментарий от p1cador

Вопрос: если по большей части софт располагается не в /home, а в / - почему тогда под /home на официальной вики рекомендуют так дохрена места (всё оставшееся). Почему не под / ? Ведь настройки программ по дефолту весят меньше самих программ.

Сам софт очень редко занимает более 30GB (если не считать игры из steam; но они ставятся в home, как пишут).

greenman ★★★★★ ()
Ответ на: комментарий от mord0d

Всегда работало

 % /lib64/ld-linux-x86-64.so.2 /tmp/ls 
/tmp/ls: error while loading shared libraries: /tmp/ls: failed to map segment from shared object

Действительно, работает. Но со скриптами вряд ли когда-нибудь будет так же.

anonymous ()
Ответ на: комментарий от anonymous

Но со скриптами вряд ли когда-нибудь будет так же.

Не знаю как в Linux, но в FreeBSD работает и со скриптами:

 % mount | grep nfs_share
data-0/nfs_share on /var/nfs_share (zfs, NFS exported, local, noatime, noexec, nosuid, nfsv4acls)
 % /var/nfs_share/script
zsh: permission denied: /var/nfs_share/script
 % sh
$ /var/nfs_share/script
sh: /var/nfs_share/script: Permission denied
$ ^D%
 % tcsh
> /var/nfs_share/script
/var/nfs_share/script: Permission denied.

Но! Если файл является симлинком на скрипт на файловой системе без noexec:

 % /var/nfs_share/script
It works!

Сам скрипт:

#!/bin/sh
/bin/cat <<-EOF
It works!
EOF
mord0d ★★★ ()
Ответ на: комментарий от anonymous

Зачем так, просто sh /var/nfs_share/script должно сработать нормально.

Да, это будет работать.

Такая «безопасность» уровня семидесятых.

Тем не менее, дополнительный уровень лишним не будет.

Ну и да: большинство скриптов, взятых из интернета, мои юзеры не заставят работать нормально — линуксоиды толкают в скрипты башизмы, многие утилиты называются и/или работают иначе. :3

mord0d ★★★ ()

Юзай btrfs. Под нее один раздел выделяешь и там создаешь @, @home и @swap. Swap в отдельном сабвольюме, чтобы этот мусор (своп-файлы) в снапшоты не попадал. Управление снапшотами ‒ snapper, swap’ом ‒ systemd-swap.

tz4678 ()
Последнее исправление: tz4678 (всего исправлений: 1)