Страница 1 из 2
Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 19:31
Olej
Эта тема перекочевала вот отсюда:
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 не даёт.
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 19:44
Olej
Хм...
Любопытно.
Код: Выделить всё
[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
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 19:55
Olej
Olej писал(а):
Любопытно.
Любопытно, потому что:
- в какие-то давние времена утверждалось, что 0-дорожка содержит MBR в 0-м секторе, а все остальные сектора этой дорожки остаются пустыми...
- ... потом в эти пустые стали записываться вирусы (Stels был такой одним из первых, ядрёный)... LILO-загрузчик, кажется...
- 1-й раздел начинался с 0-сектора 1-й дорожки, чтобы начинаться с начала дорожки...
- вот оттуда и возникала цифра 63 ... сначала там были цифры и поменьше (число sectors/track), но потом дошли до 64 sectors/track, и LBA логически пересчитывать стал в эту цифру - на том и остановились: 64... sectors/track
Это было настолько долго, что...
- 2048 / 64 = 32 - это не 2 и не 3 дорожки - 32 пустых дорожки в начале диска, это 32х64х512 = 1 Mb пустых в начале...
Что это и зачем?
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 20:07
Olej
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...
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 20:21
Olej
Я добавил в диагностики выше вывод версий fdisk вида:
Код: Выделить всё
[olej@nvidia images]$ fdisk -v
fdisk (util-linux-ng 2.18)
Похоже, что поведение fdisk сменилось между версиями util-linux-ng: 2.16 и 2.17 ... т.е. относительно недавно.
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 20:28
Sergey371
Это конечно не "вина" Федоры, тем более что fdisk Линуксовый стандарт де факто и имеется наверное во всех дистрибутивах. Это скорее свидетельство какого то нового(уже наверное не совсем нового) веяния оставлять довольно большой "запас" в начале диска(вопрос для чего) и стремления к кратности раздела 4KiB блоку. Поиском узнал что ключём -c=dos можно вернуть fdisk-у "привычное поведение", но всё же остаётся интерес для чего же этот запас 1MiB и для чего кратность 4KiB блоку.
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 20:36
Olej
Sergey371 писал(а):Это скорее свидетельство какого то нового(уже наверное не совсем нового) веяния оставлять довольно большой "запас" в начале диска(вопрос для чего)
Для вирусов?
Прежних 32Kb (дорожки в 64 сектора) перестало хватать?
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 20:39
Sergey371
Нутром чую что для каких то супер-пупер загрузчиков, но вот для каких?
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 20:56
Olej
Sergey371 писал(а):Нутром чую что для каких то супер-пупер загрузчиков, но вот для каких?
Сначала был тупой MBR в 1 сектор...
Потом когда-то LILO писал большой загрузчик (куда было "впаяно" и меню LILO) в 0-дорожку.
LILO ничего не понимал про файловые системы.
Потом GRUB сделали 2-х ступенчатым:
- stage1 - совсем небольшой загрузчик...
- stage2, который подгрузится после stage1 - который каждый разный для каждой файловой системы ... но он уже знает файловую систему, находит файл меню grub.conf по имени (поэтому вы можете его запросто редактировать), находит файл ядра и его грузит...
- а если и не знает такой файловой системы, то передаёт управление по цепочке:
- на partition диска, и пусть загрузчик
раздела сам разбирается или умрёт...
Всё идёт в сторону уменьшения размеров загрузчиков, а не увеличения.
Re: Разбиение диска (fdisk и др.)
Добавлено: 22 окт 2011, 22:00
Ali
Необходимость оставлять 2048 секторов, думаю, объясняется несколькими причинами.
- диски переросли 2TB. Стало не хватать разрядности mbr, появились диски с 4KB сектором. Они должны быть выровнены для оптимизации производительности.
- твердотельные диски должны быть выровнены для оптимизации производительности и продления срока службы
- диски переросли 2TB и появился новый стандарт описания диска -- GUID Partition Table (GPT)
- на смену BIOS идёт UEFI
ЗЫ
http://habrahabr.ru/company/paragon/blog/97436/