netch80: (Default)
[personal profile] netch80
Как сделать установку нового диска в десктоп незабываемой от полного непонимания, что вообще творится и на каком свете находишься? Надо всего лишь просочетать несколько факторов:

1. Если диск не упомянут в пункте "Hard drive BBS priorities" в настройке BIOS, то та его не отдаёт в I/O через int 13h. В результате GRUB не может его увидеть.

1б. Первым в списке стоял тот диск, с которого не загружаются ;(

2. Простых надёжных способов собрать grub.cfg под новые условия (смена корневого раздела) нет, а замена UUID редактором не позволяет подсказать, что надо было ещё добавить "insmod part_gpt" (на старом такого не было).

3. На диске с GPT но без "BIOS boot partition" GRUB ставит свой core.img урезанным и неверно работающим. Но чтобы понять, что не так, его родной документации не хватает, там связь замолчана.

4. Если GRUB не нашёл по указанным UUID и пути типа (hd1,msdos5) раздела со своими модулями и конфигами, он хватает первый попавшийся, который нашёл.

4б. При этом он ещё перезаписывает UUID в параметрах загрузки, чтобы совсем уже никто не догадался.

5. Спросить, по какому пути GRUB прошёл и прочитал свои конфиги, откуда грузил модули - невозможно.

6. На то, загрузит ли BIOS внешнюю флэшку, если она была вставлена до перезагрузки, влияет погода на Марсе. Если нет - пункт в boot menu есть, но молча игнорируется.

Таки взлетел. Выдыхаю:)

Date: 2022-01-08 05:31 pm (UTC)
dadv: (Default)
From: [personal profile] dadv
За что боролись, называется. И вот оно было надо? У тебя загрузочный диск больше 4GB, что создаёт трудности с MBR?

Date: 2022-01-08 06:26 pm (UTC)
dadv: (Default)
From: [personal profile] dadv
Я, конечно, имел в виду 2TB - ограничение MBR. В смысле, почему не использовать старый давным-давно отлаженный код для работы с MBR?

Date: 2022-01-08 07:32 pm (UTC)
dadv: (Default)
From: [personal profile] dadv
Пункты 2,3,4,4б это проблемы кода загрузчика в части работы с GPT. Остальное - проблемы кода BIOS.

Date: 2022-01-08 09:59 pm (UTC)
dadv: (Default)
From: [personal profile] dadv
Я не очень вообще понимаю, что ты имеешь в виду под старым/новым диском, потому что про это ни слова в посте нету, а телепатировать мне не хочется.

Ты хочешь сказать, что проблема 2 в GRUB есть как и с MBR, так и с GPT?

Проблема 3 это четкая проблема с кодом, почему-то фряха всю жизнь обходится без установки чего-либо в нераспределенную область, а ставит boot2 или zfsboot в область своего слайса.

(no subject)

From: [personal profile] dadv - Date: 2022-01-08 11:04 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 11:41 am (UTC) - Expand

(no subject)

From: (Anonymous) - Date: 2022-01-10 05:56 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 11:33 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 01:18 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 01:21 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 01:22 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 01:27 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-17 07:03 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 12:19 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 06:41 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 09:49 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 09:56 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 11:07 am (UTC) - Expand

Date: 2022-01-08 08:24 pm (UTC)
From: [identity profile] edo-rus.livejournal.com

Я, конечно, имел в виду 2TB - ограничение MBR

так диски больше 2ТБ уже есть, и массово (во всяком случае у меня в хозяйстве уже достаточно машин, на которых просто нет накопителей меньше 2ТБ). проще везде использовать gpt, чем метаться между gpt и mbr.

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

Date: 2022-01-08 09:11 pm (UTC)
From: [personal profile] permeakra
Все-таки, диск с системой (и, следовательно, загрузочный) - это, как правило, SSD не более 2TB, даже если в системе есть HDD большого объема. Поэтому скорее нет смысла пытаться использовать GPT без острой необходимости.

Date: 2022-01-08 10:08 pm (UTC)
dadv: (Default)
From: [personal profile] dadv
При этом минусов у GPT тоже хватает и на практике (а не в теории) они перевешивают теоретические плюсы. На практике extended-разделы MBR не нужны вообще, вместо этого можно и нужно обходиться менеджерами томов внутри единственного MBR-раздела (в ZFS встроенный, ещё есть disklabel/bsdlabel, ну и в линуксах своё). Проблемы выравнивания просто не существует, это вопрос качества кода и дефолтов софта для создания разделов. Проблемы "CHS-адресации" уже много лет как не существует на практике, никого не колышит "противоречие CHS" и вообще эмуляция CHS давно не нужна. На практике ограниченность типов разделов чисто теоретическая, реально никого не колышат конфликты, потому что все валидируют содержимое раздела, и GPT эту валидацию не отменяет. UUID-адресация вероятно хороша, но вынос её на уровень пользователя/админа это полный идиотизм, такие идентификаторы не должны юзера колебать от слова никак, на то есть номера от 1 до 4 в MBR и метки в GPT. Нумерация от 1 до 4 - ни разу не проблемная, а если кому-то она создаёт проблемы, то наверное ему нужно подумать о смене профессии :-)

Date: 2022-01-08 10:34 pm (UTC)
From: [identity profile] edo-rus.livejournal.com

При этом минусов у GPT тоже хватает и на практике (а не в теории) они перевешивают теоретические плюсы.

так вы пока минусов не назвали )
я один назвал (служебная информация в конце диска требует дополнительных действий в случае изменения размера диска), но по мне он не особо существенен.
а вот поддержка дисков более 2ТБ всё-таки важна.

(no subject)

From: [personal profile] dadv - Date: 2022-01-08 11:23 pm (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-08 11:45 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-08 11:55 pm (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 12:00 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 12:09 am (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 01:59 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 03:15 am (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 06:33 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 03:26 am (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 07:19 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 03:51 am (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 06:24 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 10:46 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 12:13 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 11:48 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 06:07 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 12:38 am (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 01:28 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 03:05 am (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 05:54 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 10:41 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 11:59 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-08 11:14 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 12:01 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 06:51 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-08 11:40 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 12:07 pm (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 06:30 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 06:35 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 06:33 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 09:19 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 10:17 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 11:16 am (UTC) - Expand

Date: 2022-01-08 11:35 pm (UTC)
From: [personal profile] permeakra
Это все смотрится некрасиво, если смотреть изнутри. Типовой же пользователь же с этим просто не сталкивается. Для конечного пользователя главное - отсутствие чудес, т.е проблем с труднонаходимым решением, и с MBR чудес гарантированно меньше, потому что она древняя как говно мамонта, поддержку вынужденно встроили везде, а типовые проблемы вылезли еще в 1990х. Это особенно критично для загрузочного диска, потому что проблемы с ним могут вылезти в невозможности выйти в интернет и найти решение.
Edited Date: 2022-01-08 11:37 pm (UTC)

(no subject)

From: [personal profile] dadv - Date: 2022-01-08 11:42 pm (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-09 12:12 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 03:34 am (UTC) - Expand

(no subject)

From: [personal profile] permeakra - Date: 2022-01-09 08:57 am (UTC) - Expand

(no subject)

From: [personal profile] permeakra - Date: 2022-01-09 09:53 am (UTC) - Expand

(no subject)

From: [personal profile] permeakra - Date: 2022-01-09 10:16 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 09:39 am (UTC) - Expand

Date: 2022-01-08 10:02 pm (UTC)
From: [identity profile] edo-rus.livejournal.com

Все-таки, диск с системой (и, следовательно, загрузочный) - это, как правило, SSD не более 2TB

раз (https://www.hetzner.com/dedicated-rootserver/ax101/configurator#/)
два (https://www.hetzner.com/dedicated-rootserver/sx64/configurator#/)

притом в первую конфигурацию ещё можно добавить диски меньше 2ТБ (но зачем?), во вторую же уже нельзя.

и да, локальные машины с ssd больше 2ТБ у меня тоже есть, вот пример с ещё не пущенной в прод:

root@debian:~# lsblk -d
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme2n1 259:0    0   3.5T  0 disk 
nvme0n1 259:1    0   3.5T  0 disk 
nvme1n1 259:7    0   3.5T  0 disk 


P. S. предвижу возражение «ну это сервера, для десктопов это всё неактуально».
но зачем умножать сущности? тем более, что для десктопов это пока не очень актуально.

Edited Date: 2022-01-08 10:03 pm (UTC)

Date: 2022-01-08 10:23 pm (UTC)
dadv: (Default)
From: [personal profile] dadv
Если на сервере, подобном тем, что по ссылке, нет и нельзя добавить пару небольших SSD для загрузки операционки, то я делаю так в случае FreeBSD: средствами менеджера GRAID создаю из N больших дисков один массив из N+1 тома.

Первый том это мелкое зеркало, занимающее первые 8-10 гигабайт каждого из дисков, в нулевом секторе создаю MBR с единственным разделом, покрывающим весь этот зеркальный том, на разделе операционная система в виде небольшого отдельного пула ZFS (можно и UFS при желании). Для системы этот раздел виден в качестве устройства /dev/raid/r0. GRAID обеспечивает тупое поблочное программное зеркалирование этого тома, автоматически зеркалируются загрузчики всех уровней, бесплатно.

Оставшееся пространство каждого диска GRAID представляет в виде индивидуальных (SINGLE) томов /dev/raid/r1, ..., /dev/raid/rN и они отдаются ZFS под второй основной пул RAIDZ или RAIDZ2.

GPT на таком сервере просто низачем не нужен.
Edited Date: 2022-01-08 10:23 pm (UTC)

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2022-01-08 11:27 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-08 11:35 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-09 12:10 pm (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 06:38 am (UTC) - Expand

(no subject)

From: [personal profile] dadv - Date: 2022-01-10 09:44 am (UTC) - Expand

Date: 2022-01-08 05:58 pm (UTC)
From: [identity profile] edo-rus.livejournal.com
0. а почему не efi?
по мне это куда более прямой способ загрузки: весь загрузчик ОС лежит в файлах, а не размазан по MBR и неразмеченному пространству, нет int 13h с ограничением на размер дисков (тот же nvme без option rom редкий bios через int 13h отдаёт), запускается сразу из x64.

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

3. ЕМНИП у меня в такой конфигурации grub вообще не ставился.

4б. не понял, это как? сам бутлоадер (а не его утилиты) перезаписывал файлы конфигов?

6. обычно есть какая-нибудь горячая кнопка для boot menu.
Edited Date: 2022-01-08 05:59 pm (UTC)

Date: 2022-01-08 07:58 pm (UTC)
From: [identity profile] edo-rus.livejournal.com

Обычно таки ставится. На лаптопе вот:

эээ… я что-то потерял нить, при чём тут листинг efi-раздела?
я говорил, что grub-legacy на диске с gpt у меня безальтернативно требовал специальный раздел, о котором вы сами же пишете

дальше он хочет "BIOS boot partition", куда и записывает продолжение (полный толстый собранный под эту загрузку core.img)

Date: 2023-06-25 11:42 pm (UTC)
From: [identity profile] edo-rus.livejournal.com

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

наткнулся на свой старый коммент, я угадал
https://www.opennet.ru/opennews/art.shtml?num=59164

Date: 2022-01-08 06:50 pm (UTC)
From: [personal profile] muwlgr
Однажды напишу в жж/дв о своём способе создания гибридных загрузочных флэшек (съёмных дисков), одинаково хорошо работающих и под старым bios, и под uefi. Общий принцип в том, что если установить grub-pc, прогнать grub-install на новое устройство и затем снести grub-pc и поставить grub-efi , то код grub-pc на bios-устройстве сохранится.
Сейчас только отмечу, что когда я устанавливал новый диск в десктопную мамку, я сразу создавал на нём второй mbr-раздел с нижней границей 1024*63*16==1032192 512-байтных секторов, и затем первый mbr-раздел с типом ef от дозволенной нижней границы (обычно 2048) до следующей дозволенной верхней (обычно 1032192-1).
Также добавлю, что таблица разделов gpt нужна только для дисков объёмом 2.5 ТБ или больше, т.е. где число 512-байтных секторов превышает 2**32-1 . Ну или если этот фиксированный или съёмный диск не предполагается использовать на bios/mbr-системах вообще никогда в будущем.
И в заключении отмечу, что использование Linux LVM2 значительно упрощает перенос всех существующих файловых систем на новый диск или диски через pvmove.
Edited Date: 2022-01-08 07:01 pm (UTC)

Date: 2022-01-08 07:34 pm (UTC)
dadv: (Default)
From: [personal profile] dadv
Если устройство не загрузочное, ему вообще не нужны таблицы MBR/GPT. Как минимум под FreeBSD его в зависимости от задач можно целиком отдать под ZFS, или под GRAID, или под disklabel - в общем, под любой менеджер томов с 64-битной адресацией.

Profile

netch80: (Default)
netch80

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 8th, 2026 12:39 am
Powered by Dreamwidth Studios