В общем, всё в топике.
Мне не нравится GPT, поскольку оно связано с UEFI, поддерживается шиндошс, хоть и плохо и тд, но большие жесткие диски рано или поздно будут у каждого линуксоида.
Вот я и хочу у дорогого Коллективного Разума уточнить, а есть ли другие способы разбиения жесткого диска кроме GPT, с которых может загружаться GNU/Linux и BSD, но не MS-DOS (вроде как на размере диска больше какого-то около пары терабайт LBA уже не канает), желательно ещё и не поддерживаемый распространёнными проприетарными ОС, но работающий и для OpenBSD и для GNU/Linux и желательно для других полноценных ОС?
Например, можно ли сделать LVM на весь жесткий диск и при этом так что бы оно загружалось?
А если ничего кроме GPT, уже работающего нет, может быть всем ЛОРом скооперируемся и разработаем новый стандарт разбиения жестких дисков на разделы, желательно такой стандарт, который был бы легко понятен для редактирования вручную, был бы лёгок для реализации на ассемблере, но при этом не страдал ограничениями на количество и тип разделов?
За основу можно взять например LVM и BSD disklabel.
После того как стандарт будет разработан, можно уже попытаться протолкнуть патчи для поддержки этого стандарта в мейнстрим Linux и основных BSD, а может быть и других менее популярных свободных ОС типа Haiku.
Перемещено tazhate из talks
P.S. Стандарт придуман:
Берём классическую схему MS-DOS, в ней первый байт 16-байтной записи используется как признак «активности раздела». Теперь это будет флаговый байт, в который мы добавим ещё два флага:
0x00 — Раздел данных, целеком помещающийся в первые 2 тебибайта диска, использующий 512-битные сектора
0x40 — Раздел данных, использующий 512-битные сектора, где байты CHS используются как старшие байты LBA
0x60 — Раздел данных, использующий 4096-битные сектора, где байты CHS используются как старшие байты LBA
0x80 — корневой раздел ОС, целеком помещающийся в первые 2 тебибайта диска, использующий 512-битные сектора
0xC0 — корневой раздел ОС, использующий 512-битные сектора, где байты CHS используются как старшие байты LBA
0xE0 — корневой раздел ОС, использующий 4096-битные сектора, где байты CHS используются как старшие байты LBA.
Если на одном компьютере установлено несколько ОС, то нет разницы, корневой раздел какой из них будет корневым, потому что этот флаг всё равно нужен только шиндошс и DOS
При этом получается, что раздел не может быть длинней чем 2^68 байт при размере сектора 4 килобайта, это 256 эксбибайт, этого должно хватить лет на 20, а потом можно таки ввести новую схему или просто просто повысить размер одного сектора например до мегабайта, при этом будет задействованы остальные биты флагового байта, тогда размер поднимется до 64 зебибайт