Разбиение диска (fdisk и др.)

Установка, обновление, настройка Linux

Модераторы: Olej, adminn

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Разбиение диска (fdisk и др.)

Непрочитанное сообщение Olej » 22 окт 2011, 19:31

Эта тема перекочевала вот отсюда:
viewtopic.php?f=9&t=1498&p=2292#p2292

В частности, там было сказано следующее:
Sergey371 писал(а):К стати на счёт разделов, недавно обратил внимание на изменение поведения fdisk при разбиении дисков, раньше(fc8..fc10) первый раздел по умолчания начинался с 63-го сектора:

Код: Выделить всё

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc1   *          63     2120579     1060258+  fd  Автоопределение Linux raid
А сейчас(fc15) с 2048-го:

Код: Выделить всё

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1            2048     1975994      986973+  fd  Автоопределение Linux raid
И указать 63-й сектор в качестве начального fdisk не даёт.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Olej » 22 окт 2011, 19:44

Хм... ;-)
Любопытно.

Код: Выделить всё

[olej@nvidia ~]$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb3  /dev/sdb5  
[olej@nvidia images]$ cat /etc/issue
RFRemix release 14.1 (Laughlin)
Kernel \r on an \m (\l)
[olej@nvidia images]$ fdisk -v
fdisk (util-linux-ng 2.18)

Код: Выделить всё

[olej@nvidia ~]$ sudo fdisk /dev/sda
Команда (m для справки): p
Диск /dev/sda: 250.1 ГБ, 250059350016 байт
255 heads, 63 sectors/track, 30401 cylinders, всего 488397168 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bfcf6

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048   143362047    71680000   83  Linux
/dev/sda2       143362048   479182847   167910400   83  Linux
/dev/sda3       479182848   488396799     4606976   82  Linux своп / Solaris
...
[olej@nvidia ~]$ mount
/dev/sda1 on / type ext4 (rw)
...
/dev/sda2 on /home type ext4 (rw)
...
- это диск, разбитый Fedora 14 (RFP14), и видно, что разбивалось по-быстренькому и вручную (я уже не помню, на каком компьютере что и как разбиваю, но mount то помнит! ;-) )

А это на том же компьютере 2-й диск ... с установкой Windows XP, которая делалась с Zver.DVD и даже не на этом компьютере (потом переставили), но делался средствами Windows какими-то:

Код: Выделить всё

[olej@nvidia ~]$ sudo fdisk /dev/sdb

Команда (m для справки): p

Диск /dev/sdb: 160.0 ГБ, 160041885696 байт
255 heads, 63 sectors/track, 19457 cylinders, всего 312581808 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7c8982da

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1   *          63   102430439    51215188+   7  HPFS/NTFS
/dev/sdb2       102430440   163862999    30716280    c  W95 FAT32 (LBA)
/dev/sdb3       163863000   312576704    74356852+   f  W95 расшир. (LBA)
/dev/sdb5       163863063   225295559    30716248+   b  W95 FAT32
/dev/sdb6       225295623   312576704    43640541    7  HPFS/NTFS
Последний раз редактировалось Olej 22 окт 2011, 20:18, всего редактировалось 2 раза.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Olej » 22 окт 2011, 19:55

Olej писал(а): Любопытно.
Любопытно, потому что:

- в какие-то давние времена утверждалось, что 0-дорожка содержит MBR в 0-м секторе, а все остальные сектора этой дорожки остаются пустыми...

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

- 1-й раздел начинался с 0-сектора 1-й дорожки, чтобы начинаться с начала дорожки...

- вот оттуда и возникала цифра 63 ... сначала там были цифры и поменьше (число sectors/track), но потом дошли до 64 sectors/track, и LBA логически пересчитывать стал в эту цифру - на том и остановились: 64... sectors/track

Это было настолько долго, что... :-o

- 2048 / 64 = 32 - это не 2 и не 3 дорожки - 32 пустых дорожки в начале диска, это 32х64х512 = 1 Mb пустых в начале...

Что это и зачем?
Последний раз редактировалось Olej 22 окт 2011, 20:09, всего редактировалось 1 раз.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Olej » 22 окт 2011, 20:07

Olej писал(а):Что это и зачем?

Код: Выделить всё

[olej@notebook ~]$ cat /etc/issue
Fedora release 12 (Constantine)
Kernel \r on an \m (\l)
[olej@notebook ~]$ fdisk -v 
fdisk (util-linux-ng 2.16.2)
[olej@notebook ~]$ sudo fdisk /dev/sda

Количество цилиндров для этого диска установлено в 7297.
С этим все в порядке, но значение больше, чем 1024,
и в отдельных установках могут возникнуть проблемы с:
1) программами, запускаемым при загрузке (напр., старые версии LILO)
2) загрузкой и программами разметки из других ОС
   (напр., DOS FDISK, OS/2 FDISK)

Команда (m для справки): p

Диск /dev/sda: 60.0 ГБ, 60022480896 байт
255 heads, 63 sectors/track, 7297 cylinders, всего 117231408 секторов
Units = секторы of 1 * 512 = 512 bytes
Disk identifier: 0xd961d961

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *          63      409662      204800   83  Linux
Раздел 1 не заканчивается на границе цилиндра.
/dev/sda2          409663    92160062    45875200   8e  Linux LVM
Раздел 2 не заканчивается на границе цилиндра.
/dev/sda3        92160063    96357869     2098903+  81  Minix / старый Linux
Раздел 3 не заканчивается на границе цилиндра.
/dev/sda4        96357870   117226304    10434217+  83  Linux
- это многострадальный ноутбук, на котором делалось-переделалось, передвигалось и переставлялось... ;-)

Код: Выделить всё

olej@atom:~$ cat /etc/issue
Ubuntu 10.04.3 LTS \n \l
olej@atom:~$ fdisk -v
fdisk (util-linux-ng 2.17.2)
olej@atom:~$ sudo fdisk /dev/sda
[sudo] password for olej: 

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Команда (m для справки): p

Диск /dev/sda: 30.0 ГБ, 30016659456 байт
255 heads, 63 sectors/track, 3649 cylinders, всего 58626288 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00073858

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048    56115199    28056576   83  Linux
/dev/sda2        56117246    58626047     1254401    5  Расширенный
/dev/sda5        56117248    58626047     1254400   82  Linux своп / Solaris

- а это Ubuntu ... не более поздняя, чем Fedora 14 ... установка здесь на твердотельный SDD 30Gb - так что это выдумка не исключительно Fedora...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Olej » 22 окт 2011, 20:21

Я добавил в диагностики выше вывод версий fdisk вида:

Код: Выделить всё

[olej@nvidia images]$ fdisk -v
fdisk (util-linux-ng 2.18)
Похоже, что поведение fdisk сменилось между версиями util-linux-ng: 2.16 и 2.17 ... т.е. относительно недавно.

Sergey371
Писатель
Сообщения: 60
Зарегистрирован: 06 окт 2011, 19:54
Откуда: Рига, Латвия
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Sergey371 » 22 окт 2011, 20:28

Это конечно не "вина" Федоры, тем более что fdisk Линуксовый стандарт де факто и имеется наверное во всех дистрибутивах. Это скорее свидетельство какого то нового(уже наверное не совсем нового) веяния оставлять довольно большой "запас" в начале диска(вопрос для чего) и стремления к кратности раздела 4KiB блоку. Поиском узнал что ключём -c=dos можно вернуть fdisk-у "привычное поведение", но всё же остаётся интерес для чего же этот запас 1MiB и для чего кратность 4KiB блоку.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Olej » 22 окт 2011, 20:36

Sergey371 писал(а):Это скорее свидетельство какого то нового(уже наверное не совсем нового) веяния оставлять довольно большой "запас" в начале диска(вопрос для чего)
Для вирусов? :lol:
Прежних 32Kb (дорожки в 64 сектора) перестало хватать? :mrgreen:

Sergey371
Писатель
Сообщения: 60
Зарегистрирован: 06 окт 2011, 19:54
Откуда: Рига, Латвия
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Sergey371 » 22 окт 2011, 20:39

Нутром чую что для каких то супер-пупер загрузчиков, но вот для каких?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Olej » 22 окт 2011, 20:56

Sergey371 писал(а):Нутром чую что для каких то супер-пупер загрузчиков, но вот для каких?
Сначала был тупой MBR в 1 сектор...

Потом когда-то LILO писал большой загрузчик (куда было "впаяно" и меню LILO) в 0-дорожку.
LILO ничего не понимал про файловые системы.

Потом GRUB сделали 2-х ступенчатым:
- stage1 - совсем небольшой загрузчик...
- stage2, который подгрузится после stage1 - который каждый разный для каждой файловой системы ... но он уже знает файловую систему, находит файл меню grub.conf по имени (поэтому вы можете его запросто редактировать), находит файл ядра и его грузит...
- а если и не знает такой файловой системы, то передаёт управление по цепочке:

Код: Выделить всё

chainloader +1
- на partition диска, и пусть загрузчик раздела сам разбирается или умрёт...

Всё идёт в сторону уменьшения размеров загрузчиков, а не увеличения.

Ali
Писатель
Сообщения: 57
Зарегистрирован: 08 окт 2011, 08:00
Контактная информация:

Re: Разбиение диска (fdisk и др.)

Непрочитанное сообщение Ali » 22 окт 2011, 22:00

Необходимость оставлять 2048 секторов, думаю, объясняется несколькими причинами.
  • диски переросли 2TB. Стало не хватать разрядности mbr, появились диски с 4KB сектором. Они должны быть выровнены для оптимизации производительности.
  • твердотельные диски должны быть выровнены для оптимизации производительности и продления срока службы
  • диски переросли 2TB и появился новый стандарт описания диска -- GUID Partition Table (GPT)
  • на смену BIOS идёт UEFI
ЗЫ
http://habrahabr.ru/company/paragon/blog/97436/

Ответить

Вернуться в «Администрирование Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: FAST WebCrawler [Crawler] и 8 гостей