LINUX.ORG.RU

Как установить загрузчик на нужный мне диск?

 


0

1

У меня есть два SSD на ПК. На 1 (внутренний, sda) - установлена Windows 10. На 2 (внешний, sdb) - ставлю сюда Linux. Размечаю внешний SSD следующим образом - https://imgur.com/a/EHrLGkF

После этого через Boot Menu замечаю, что у меня загрузчик оказался на внутреннем SSD. Что я делаю не так в разметке?

Какая-то странная у тебя разметка. Если у тебя есть win 10, то твой пк поддерживает EFI, тогда почему у тебя разметка под BIOS? Сделай на диске partition table GPT и вместо «ext4 1000mb /boot» сделай «fat32 128mb /boot/efi». Но даже с тем, что у тебя сейчас, у тебя загрузчик должен быть на внешнем ssd, должно быть ты что-то напутал

kronos2411
()
Ответ на: комментарий от emcode
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0002,000D
Boot0000* Windows Boot Manager  HD(2,GPT,d1e8d0c2-9f2a-444c-a998-aad576e02cdf,0x109000,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...h................
Boot0001* ubuntu        HD(2,GPT,d1e8d0c2-9f2a-444c-a998-aad576e02cdf,0x109000,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0002* KINGSTON SA400S37240G BBS(HD,,0x0)..BO
Boot000D* StoreJet 0    BBS(HD,,0x0)..BO

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

Ну, как бы и вот. ESP раздел на HD2, через него грузятся обе ОС. Если хочешь таскать внешний диск вместе с загрузчиком в GPT, то как минимум создай на нем ESP. Честно говоря, хз как поведет себя GRUB когда увидит второй ESP, наверное при таком раскладе grub-install /dev/sdX проинсталлит EFI загрузчик на указанный диск, никогда не пробовал.

emcode
()

Чтобы понять, что не так, нужно узать, что ты хочешь. Если хочешь два независимых диска, чтобы на каждом был свой загрузчик, то ситуация точно как в этой теме.

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

Тебе правильно написали.

Раньше в компьютерах был BIOS, теперь UEFI.

В случае BIOS первичный код загрузчика прописывался в главную загрузочную запись загрузочного устройства. В нулевой сектор.

А остальная его часть на раздел.

В случае UEFI код загрузчика помещается не в главной загрузочной записи, а в файле на разделе специального типа.

Т.е. на диске должна быть разметка GPT, раздел с типом EFI System Partition и файловой системой FAT32 и на этой файловой системе должен быть файл по пути /EFI/Boot/bootx64.efi

В твоей разметке ты на внешнем SSD диске не создавал EFI System Partition.

Поэтому EFI файл загрузчика был помещён на EFI раздел на внутреннем SSD.

Учи матчасть, а не говори «Увы, не получилось».

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

Я сейчас поставил дебиан, создав раздел /boot/efi. Установился загрузчик на внешний SSD. Только почему-то там и Windows Boot Manager можно выбрать - https://imgur.com/a/C9DqYVS. Это вообще нормально или такого не должно быть?

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

Загрузись в debian. Выполни в терминале команды

mount
sudo fdisk -l

и выложи куда-нибудь ответы команд (текстом или фото)

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

Ты прочитал это сообщение: Как установить загрузчик на нужный мне диск? (комментарий)

Всё понял? Какие выводы сделал?

Ты создал EFI System Partition на внешнем SSD? Если нет, то подумай где будут лежать EFI файл от загрузчика grub.

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

mount

$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=8163608k,nr_inodes=2040902,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1636772k,mode=755)
/dev/sdb2 on / type ext4 (rw,noatime,stripe=8191)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=15216)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
/dev/sdb3 on /home type ext4 (rw,noatime,stripe=8191)
/dev/sdb1 on /boot/efi type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1636768k,mode=700,uid=1000,gid=1001)

sudo fdisk -l

Device         Start       End   Sectors   Size Type
/dev/sda1       2048   1085439   1083392   529M Windows recovery environment
/dev/sda2    1085440   1290239    204800   100M EFI System
/dev/sda3    1290240   1323007     32768    16M Microsoft reserved
/dev/sda4    1323008 102402047 101079040  48,2G Microsoft basic data
/dev/sda5  102402048 468858879 366456832 174,8G Microsoft basic data


Disk /dev/sdb: 223,6 GiB, 240057409536 bytes, 468862128 sectors
Disk model:                 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: gpt
Disk identifier: 0B91A407-5982-4217-8FB9-FA46D9DBCA73

Device        Start       End   Sectors  Size Type
/dev/sdb1      2048   2099199   2097152    1G Microsoft basic data
/dev/sdb2   2099200  43059199  40960000 19,5G Linux filesystem
/dev/sdb3  43059200 468856991 425797792  203G Linux filesystem

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

Честно говоря, в точности не помню. Я установил Debian раньше, чем прочитал комментарий. Выбирал раздел /boot/efi с FAT32

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

Ты голову включать будешь?

Сравни вывод fdisk -l для /dev/sda и /dev/sdb.

И ещё раз прочти вот этот комментарий.

И найдёшь ответ на свой вопрос: " И на внутреннем SSD нет никаких следов от последней установленной ОС (Debian)?".

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

Ты голову включать будешь?

Сравни вывод fdisk -l для /dev/sda и /dev/sdb.

И ещё раз прочти вот этот комментарий: Как установить загрузчик на нужный мне диск? (комментарий)

И найдёшь ответ на свой вопрос: " И на внутреннем SSD нет никаких следов от последней установленной ОС (Debian)?".

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

Значит, я снова не создал EFI System Partition, поскольку в моём выводе fdisk -l EFI System находится на dev/sda2 (внутреннем SSD). А на внешнем Type UEFI нет. Верно?

Maxsize
() автор топика
Последнее исправление: Maxsize (всего исправлений: 2)
Ответ на: комментарий от Maxsize

Что-то вроде того.

В принципе в системе достаточно одного ESP раздела, но у тебя переносной диск.

В вывод mount:

/dev/sdb1 on /boot/efi type vfat 

В принципе, это и есть ESP раздел.

Только тип его указан странно, но работает.

Посмотри что находится в /boot/efi.

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

А дальше что?

Если там есть файл *.efi то EFI файлы загрузчика там.

И тогда EFI раздел на внешнем SSD.

Только у него тип не совсем корректный стоит, но ничего страшного.

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

Только для такой загрузки EFI файл загрузчика на внешнем SSD должен лежать по пути Boot/bootx64.efi.

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

только пошёл чайку попить и «комментарий мне» увели :))

в ответе mount упоминаются разделы диска /dev/sdb – ты установил debian на внешний диск, как и планировал. Раздел /dev/sdb1 не определяется как ESP, хотя по факту он и есть ESP. Что-то ты при его создании «накосячил»…

из ответа fdisk -l очевидно, что винда на одном диске, а линукс на другом.

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

Получилось запустить систему на другом компьютере. Я понял, почему всё получилось именно так, как получилось. Я создал три раздела перед установкой: 1. /boot с флагом boot, 2. / 3. /home/. ESP раздел я не создавал. Значит, если я хочу, чтобы у меня был корректный тип раздела, мне нужно вместо /boot создавать ESP?

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

Значит, если я хочу, чтобы у меня был корректный тип раздела, мне нужно вместо /boot создавать ESP?

Нет, /boot - это не тип раздела, а точка монтирования.

Сходи почитай что-нибудь по Linux. И о процессе включения компьютера, загрузчиках, BIOS / UEFI, схемах разметки GPT / MBR. Что такие таблица разделов, что такое тип раздела. Что такое fdisk.

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

В статье пишут: «Для простоты вы также можете использовать ESP в качестве самого раздела /boot вместо отдельного раздела /boot для загрузки EFISTUB. Другими словами, после создания и форматирования системного раздела EFI, как указано выше, просто смонтируйте на /boot.» Из этого я делаю вывод, что мой раздел должен выглядеть вот так - https://imgur.com/a/gzCp3At

Maxsize
() автор топика
Последнее исправление: Maxsize (всего исправлений: 2)
Ответ на: комментарий от Maxsize

вроде бы всё верно… но флажок boot почему не установил? подождём мнение и того анонимуса.

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

я про это уже писал. формально fdisk его не признал, как ESP-раздел. а так-то UEFI его принимает и дебиан загружается.

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

Флажок boot не нужен.

Флаг boot - это флаг активности раздела, который нужен для BIOS (MBR) загрузчиков MS Windows / MS-DOS.

У этих загрузчиков формат запуска был такой, что в первых 466 байтах был очень простой код, который умел только находить активный раздел и вызывать с него основной загрузчик.

Повторяю, /dev/sdb1 уже смонтирован в /boot/efi и это и есть ESP раздел.

Просто в таблице разделов указан другой тип раздела.

Это ни на что не влияет.

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

Что такое признал / не признал?

Есть таблица разделов, в ней хранится информация о начальном и конечном секторе раздела и типе файловой системы. Тип - это просто число, по которому операционная система понимает какой драйвер файловой системы использовать для монтирования структур данных.

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

Так что ничего менять не нужно. Запись с типом раздела в таблице разделов ни на что не влияет.

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

Флажок boot не нужен.

Флаг boot - это флаг активности раздела, который нужен для BIOS (MBR) загрузчиков MS Windows / MS-DOS.

не совсем уверен что в этом, там ниже есть флажок legacy-boot – вот он должно быть для

BIOS (MBR) загрузчиков MS Windows / MS-DOS.

Повторяю, /dev/sdb1 уже смонтирован в /boot/efi и это и есть ESP раздел.

Просто в таблице разделов указан другой тип раздела.

абсолютно согласен

Это ни на что не влияет.

на ТС влияет )

ну и чисто гипотетически где-то может быть прошивка UEFI, которая может отказаться передавать управление загрузчику на этом разделе (хотя это очень-очень вряд ли)

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

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

да ладно, ты не горячись. я описал свое видение ситуации не строгими терминами. и желание ТС что-то менять идёт от недостатка опыта и знаний. так-то тему можно объявлять решенной.

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

Так и всё-таки? Как лучше всего устанавливать ОС? Чтобы было максимально правильно. https://imgur.com/a/gzCp3At - так? Или ещё флаг на boot нужно поставить, кроме esp?

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

Как лучше всего устанавливать ОС?

зачем?! у тебя же всё работает…

Или ещё флаг на boot нужно поставить, кроме esp?

я не знаю, что делает графический инсталлятор дебиан. выяснить это можно либо на практике, либо почитать документацию к графическому инсталлятору дебиан. описан там этот этап?

если уж так сильно хочется можно в fdisk изменить тип раздела на ESP – как описано в арчвике. загружаешься с флешки находишь диск с линуксом, исправляешь у того раздела тип флаги (ссылку на арчевики я давал), сохраняешь изменения.

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

Или ещё флаг на boot нужно поставить, кроме esp?

Зависит от твоего конкретного УЕФИ. До некоторого времени для линукса я ни на одном резделе не ставил ни одного флага, пока не попался один ноут с УЕФИ. Без флага «boot» он не видел никаких загрузочных устройств-разделов, ни в ЕФИ, ни в легаси режимах. Тоже самое с количеством ESP-разделов. Зависит только от твоего конкретного УЕФИ, как он к этому отнесется. Если нормально, то даже на одном диске может быть несколько ESP-разделов. Единственное обязательное условие для ESP-раздела - файловая система FAT/FAT32.

andytux ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.