Чому розділ починається на секторі 2048 замість 63?


54

У мене було два накопичувачі, однакові на яких розміщені два типи RAID.

Один загинув, і я замінив його під гарантію на ту ж модель.

Намагаючись розділити його, перший розділ може розпочатися лише в секторі 2048, замість 63, який був раніше. Приводи мають різну геометрію як попередні, так і інші. (Менше головки / більше циліндрів)

Старий диск:

$ sudo fdisk -c -u -l /dev/sdb 

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000aa189

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63   174080339    87040138+  83  Linux
/dev/sdb2       174080340   182482334     4200997+  82  Linux swap / Solaris
/dev/sdb3       182482335  3907024064  1862270865   fd  Linux raid autodetect

Відновлюваний привід, отриманий від гарантії:

$ sudo fdisk -c -u -l /dev/sda

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
81 heads, 63 sectors/track, 765633 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d0b5d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  ...

Чому так?


1
Вихід не означає , що це Advanced Format 4K диск: Sector size (logical/physical): 512 bytes / 512 bytes.
bwDraco

1
Чому це було знято?
bwDraco

1
Я не погоджуюсь із голосною думкою, я також не знав про помилкове уявлення про вирівнювання треків, і інформація JdeBP є корисною та стосується дійсного питання.
Гаррет

Запитання та відповіді на адресу: superuser.com/q/565577/19956 , unix.stackexchange.com/q/81556/3054 .
пт

Використовуючи нові дискові накопичувачі, рекомендується GPT, який 2048за замовчуванням використовує стартовий сектор. Старіший диск, ймовірно, був відформатований за допомогою старої утиліти та використовував формат таблиці не розділів GPT. Для розділення новіших дисків "Розширений формат 4K" використовуйте утиліти GPTfdisk . Для RAID не забудьте правильно ввести fd00 Linux RAIDта позначити свої розділи.
TrinitronX

Відповіді:


44

Оскільки ваш старий диск був розділений на стару утиліту, таку як Linux fdisk, яка марно реалізувала вирівнювання доріжок, використовуючи повністю підроблену геометрію диска, про яку ви бачите повідомлення, а ваш новий диск був або розділяється новою утилітою, яка ( за замовчуванням) натомість вирівнює межі 1MiB.

Подальше читання


7
Іншими словами, сектору LBA номер 63 відповідає циліндр 0, головка 1, сектор 1 у форматі CHS , який є першим сектором, який ви можете використовувати у форматі MBR. Однак число 63 не ділиться на 8, що спричиняє проблеми з 4K накопичувачами, тому деякі сучасні інструменти запускають перший розділ у 2048 році, що також забезпечує майбутню сумісність GPT.
billc.cn

8
Бувають випадки, коли хтось прагне закреслити коментарі, особливо коментарі, коли інші намагаються ввести явні помилки в рот. Ці "інші слова" невірні , тому вони - не те, що я написав . Перший сектор, який можна використовувати (як декілька людей) для первинного розділу з таблицею розділів MBR, є LB №2 або навіть LB # 1, якщо не потрібна сумісність з такими речами, як LVM IBM. І вирівнювання 1MiB не має нічого спільного з сумісністю таблиць розділів EFI.
JdeBP

Правильно, мабуть, я помилився у першій частині, але під другим бітом я мав на увазі, що якщо ви почнете з 2048 року, у вас не буде проблем із перетворенням накопичувача на GPT у майбутньому, отже, слово "також" та "майбутнє" .
billc.cn

5
Це все-таки неправильно. У вас все одно не буде проблем . Виконайте арифметику. Навіть оригінальне вирівнювання кордону (підробленої) доріжки забезпечує більш ніж достатньо місця. Ці 60 512-байтних секторів можуть містити 240 записів таблиці EFI. Знову ж таки: вирівнювання 1MiB не має нічого спільного з сумісністю таблиці розділів EFI.
JdeBP

4
fdiskце не «стара утиліта», вона активно підтримується. Просто НЕ використовуйте "підроблену геометрію диска" через -c=dos(вона вимкнена за замовчуванням!). Роздільна сторінка прямо застерігає від цього, оскільки CHS мертвий як дискотека. Посилання на сторінку JdBP є мертвим, але історія вирівнювання 1MiB (2048 сектора) можна знайти запис в Вікіпедії Logical Disk Manager . Це бородавка для Windows Vista: "Використання межі вирівнювання на 1 МіБ дозволяє безпечніше редагувати таблицю розділів за допомогою Vista Vista Disk Mgt."
Девід Тонхофер

36
fdisk -c=dos

Ви використовували стару таблицю розділів DOS під час створення свого розділу. Новіші версії fdiskне використовують режим сумісності dos за замовчуванням.


3
У прийнятій відповіді є якась цінна інформація, але ця відповідь має дорогоцінний камінь, який мені знадобився для вирішення проблеми.
jcbwlkr

fdisk не дозволить мені відтворити розділ, починаючи з сектору 2048, без цього аргументу - я отримавFirst sector (3072-314572799, default 3072):
tomfanning

5
Це критично важливо, якщо ви намагаєтесь змінити розмір розділу, що за допомогою fdisk означає видалення та відтворення його; вам потрібен розділ, щоб почати там же.
mcr

більше не працює з fdisk from util-linux 2.28: /
akostadinov

1
знайшли його fdisk -c=dos -u=cylinders /dev/sdbв gist - gist.github.com/jkullick/febf46756435f1fa99dc56f00782de03
akostadinov

7

Можливо, тут буде корисно додати коментар. Для розділу LUKS кажуть, що він видаляє та знову створює розділ у тому самому місці, але більшого розміру перед викликом cryptsetup resize. Але коли ви давно створили свій розділ, він починається в секторі 63. Використовуючи fdisk, розділ буде відтворено при неправильному зміщенні, що призведе до втраченого розділу.

Мені вдалося відновити його, використовуючи fdisk -c=dosможливість без проблем створити розділ із сектора 63.


1

Не впевнений, чому він почався на 63-му місці, але згідно з fdisk, розмір вашого сектора становить 512.

Отже, якщо ви хочете, щоб ваші розділи, і таким чином кластери були вирівняні, ваше початкове зміщення має бути розділеним на 512. 2048 є досить поширеним в ці дні.

Якщо ви віддаєте перевагу нерівним секторам, то ви завжди можете отримати GPart для переміщення свого розділу назад до 63.

Редагувати:

Ооопс. Не бачили, що у вас RAID. Ймовірно, ви повинні розмістити свій RAID та розмір смужки.


1
63 - це 111111 у двійковій формі. БІОС ПК, номер сектору кодується в шість біт, в результаті чого максимальна кількість секторів складає 111111 (63) на доріжку. Цей максимум все ще використовується для віртуальної геометрії CHS.
Кріс Рейд

1

Хоча я усвідомлюю, що відповіли на власне питання, швидке виправлення випуску першого циліндра 63 проти 2048 року є чимось таким:

sfdisk -d /dev/sdb | sfdisk --force /dev/sda

(якщо ви впевнені, що у вас накопичувачі однакового розміру)

Потім можна продовжити додавання різних розділів назад до RAID, де ви отримали скарги на те, що розділи не однакового розміру через різницю пускового циліндра 63/2048, що скидає можливі розміри розділів.


Ви повинні пояснити, що це робить, джерело призначення?
Pawel Cioch

0

Вибір 1 міб (2048 * 512-байт емульований розмір блоку) є чудовим для всіх конфігурацій апаратного зберігання. Оскільки структури даних файлової системи, як правило, узгоджені з початковою точкою розділу, це може бути важливим для максимальної швидкості зчитування / запису зберігання.

Наприклад:

RAID може використовувати смуги даних розміром від 16 до 256 KiB. 1 MiB - це ціле число, кратне цьому, тому запуск розділу в 1 MiB сумісний з базовою моделлю RAID.

SSD-диски зазвичай мають розмір блоку стирання від 128 до 256 сторінок NAND, який залежно від накопичувача може становити 256 KiB або 512 KiB. Отже, знову ж таки, запуск розділу на 1 МіБ сумісний з основними характеристиками зберігання SSD.

Обертові жорсткі диски Advance Format 512e мають розмір фізичного блоку 4 KiB, і знову ж таки, 1 MiB є цілим кратним (хоч і досить великим) цього.

Тож якщо у вас є накопичувач AF і розділяєте його як GPT, можливо, ви будете абсолютно задоволені своїм першим розділом, починаючи з блоку LBA 40 (ціле число, кратне 8-ти логічних блоків у кожному фізичному блоці вашого жорсткого диска), навряд чи будь-який реальний- Всесвітнє сховище втрачається, лише починаючи з блоку LBA 2048 (1 МіБ), що є просто більш гнучким значенням для програмного забезпечення для розділення за замовчуванням, оскільки воно підходить майже для будь-якої конфігурації обладнання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.