Загрузка…
Когда ставил систему на ноутбук, не было особо много времени, делал всё по привычке с почти закрытыми глазами. Потом обнаружил как-то, что жёсткий диск с физическими секторами 4096, в то время как логические 512 байт (до сих пор не пойму, почему нельзя было их сделать тоже 4096, да и забить на совместимость со старыми ОС – для тем, кому не нужно).
Сейчас озаботился тем, чтобы добавить ещё один раздел в LVM, так как места не хватает. До этого оставил «свободное место» в конце диска… думая, вдруг захочу оффтопик поставить второй системой. Ну «на всякий случай». Всякий случай не произошёл, потому думаю на этом забить.
Вот выхлоп fdisk -l -u /dev/sda
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Единицы: sectors по 1 * 512 = 512 байт
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Тип метки диска: gpt
Идентификатор диска: F87A6278-F1D1-4EEF-B700-A1910009C43C
Устр-во Start Конец Секторы Size Тип
/dev/sda1 34 1044224 1044191 509.9M BIOS boot
/dev/sda2 1044225 2088449 1044225 509.9M EFI System
/dev/sda3 2088450 631242044 629153595 300G Linux LVM
/dev/sda4 631242752 633339903 2097152 1G Linux своп
/dev/sda5 633339904 843053055 209713152 100G Linux LVM
Partition 1 does not start on physical sector boundary.
Partition 2 does not start on physical sector boundary.
Partition 3 does not start on physical sector boundary.
Собственно, после /dev/sda5 идёт свободное место – думаю создать ещё один раздел и добавить его в LVM.
Но смутило предупреждение, что партиции 1, 2 и 3 «does not start on physical sector boundary». Раньше, невнимательный, не замечал. Как вы, наверное, поняли – ноутбуком пользуюсь уже года два или больше – всё ок, на производительность I/O не жалуюсь особо. Но может зря? Может, быстрее будет? Или игнорировать это предупреждение?
Ещё немного сыкатно, что LVM – безопасно его двигать без уменьшения размера раздела?.. Думаю, что безопасно… по логике вещей – partitionmanager позволяет это сделать – но стоит ли?
P.S. Да, ещё тут вроде бы GPT в каком-то режиме совместимости с MBR – который мне, так понимаю, нужен, чтобы грузился grub. sda2 – загрузочный раздел, там grub. Загрузку с UEFI я в своё время не осилил и забил – не нашёл под рукой флешки, которая бы грузилась с UEFI и не понял, как её создать. В общем, на это мне без разницы.
В некоторых случаях, при создании раздела с помощью fdisk, при просмотре списка разделов мы видим сообщение: “Partition N does not start on physical sector boundary“. О том, что это такое и как это исправить, рассказывается ниже.
Новые модели жётских дисков используют так называемый расширенный формат. Такие жёсткие диски используют физический размер сектора в 4096 байт вместо традиционных 512. Но fdisk и операционная система работают с размером сектора в 512 байт и получается нестыковка между физическим и логическим размером сектора, что тот же fdisk вам показывает в виде сообщения:
Sector size (logical/physical): 512 bytes / 4096 bytes
Не углубляясь в дебри того как это работает и зачем нужно, просто запомните, что не следует оставлять разделы с таким предупреждающим сообщением как “Partition N does not start on physical sector boundary“. Работать они, конечно, будут, но производительность дисковых операций при работе с такими разделами будет существенно хуже.
Теперь о том как это исправить. Это очень просто. Вы должны в fdisk’е переключиться с дорожек на секторы, нажав букву “u” в основном меню.
Command (m for help): u Changing display/entry units to sectors
Далее вам нужно выровнять раздел так, чтобы начальный сектор раздела был всегда кратен 8, т.е. цифра начала раздела всегда делилась нацело на 8. Т.е. 64, 256 – это правильно, а вот 63 или 255 – неправильно! Если, допустим вам нужно создать раздел, который находится за другим разделом, который заканчивается на 2097189348. Следующий раздел по идее должен начаться с сектора 2097189349, но если вы создадите раздел, начав с этого сектора, то и получите предупреждение “Partition N does not start on physical sector boundary“. Какой же должен быть начальный номер сектора? Вычисляем: целая часть от деления 2097189349 на 8 равна 262148668 и есть остаток 5, а нам нужно, чтобы его не было. Увеличиваем 262148668 на 1 и снова умножаем на 8, получаем 262148669 * 8 = 2097189352 – вот он искомый номер: следующий раздел должен начинаться с сектора 2097189352!
- 6400 просмотров
1. Solve it
I also encounter this problem, and this is how I suppress the annoying warning!
The key point is: set the start to any logical sector, which is a multiple of 8
.
I set 204800
(because I can only choose from 65535-976773167).
step1 fdisk
$ fdisk /dev/sdf
The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除
命令(输入 m 获取帮助):p
磁盘 /dev/sdf:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 33553920 字节
磁盘标签类型:dos
磁盘标识符:0xa2254a70
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
# the key point
# ⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬⏬
起始 扇区 (65535-976773167,默认为 65535): 204800 (chose a multiple of 8)
Last 扇区, +扇区 or +size{K,M,G} (204800-976773167,默认为 976773167):
将使用默认值 976773167
分区 1 已设置为 Linux 类型,大小设为 465.7 GiB
# 🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
step2 format the disk
$ mkfs.ext4 /dev/sdf1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=8191 blocks
30523392 inodes, 122071046 blocks
6103552 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2271215616
3726 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
step3 the result
And, finally the warning is disappear.
$ fdisk -l /dev/sdf
磁盘 /dev/sdf:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 33553920 字节
磁盘标签类型:dos
磁盘标识符:0xa2254a70
设备 Boot Start End Blocks Id System
/dev/sdf1 204800 976773167 488284184 83 Linux
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223.6G 0 disk
├─sda1 8:1 0 500M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 170G 0 part
├─centos--sda-root 253:0 0 100G 0 lvm /
├─centos--sda-swap 253:1 0 20G 0 lvm
└─centos--sda-home 253:2 0 50G 0 lvm /home
sdb 8:16 0 1.8T 0 disk /data2
sdc 8:32 0 1.8T 0 disk
sdd 8:48 0 1.8T 0 disk /data1
sde 8:64 0 1.8T 0 disk /home
sdf 8:80 0 465.8G 0 disk
└─sdf1 8:81 0 465.7G 0 part
2.How this problem looks like
Show disk
[root@dt120 data1]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223.6G 0 disk
├─sda1 8:1 0 500M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 170G 0 part
├─centos--sda-root 253:0 0 100G 0 lvm /
├─centos--sda-swap 253:1 0 20G 0 lvm
└─centos--sda-home 253:2 0 50G 0 lvm /home
sdb 8:16 0 1.8T 0 disk /data2
sdc 8:32 0 1.8T 0 disk
sdd 8:48 0 1.8T 0 disk /data1
sde 8:64 0 1.8T 0 disk /home
sdf 8:80 0 465.8G 0 disk
└─sdf1 8:81 0 465.7G 0 part
fdisk
$ fdisk /dev/sdf
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xff020bf0 创建新的 DOS 磁盘标签。
The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
命令(输入 m 获取帮助):p
磁盘 /dev/sdf:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 33553920 字节
磁盘标签类型:dos
磁盘标识符:0xff020bf0
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (65535-976773167,默认为 65535):
将使用默认值 65535
Last 扇区, +扇区 or +size{K,M,G} (65535-976773167,默认为 976773167):
将使用默认值 976773167
分区 1 已设置为 Linux 类型,大小设为 465.7 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdf:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 33553920 字节
磁盘标签类型:dos
磁盘标识符:0x2b6ce6ea
设备 Boot Start End Blocks Id System
/dev/sdf1 65535 976773167 488353816+ 83 Linux
Partition 1 does not start on physical sector boundary.
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223.6G 0 disk
├─sda1 8:1 0 500M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 170G 0 part
├─centos--sda-root 253:0 0 100G 0 lvm /
├─centos--sda-swap 253:1 0 20G 0 lvm
└─centos--sda-home 253:2 0 50G 0 lvm /home
sdb 8:16 0 1.8T 0 disk /data2
sdc 8:32 0 1.8T 0 disk
sdd 8:48 0 1.8T 0 disk /data1
sde 8:64 0 1.8T 0 disk /home
sdf 8:80 0 465.8G 0 disk
└─sdf1 8:81 0 465.7G 0 part
format
$ mkfs.ext4 /dev/sdf1
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdf1 alignment is offset by 512 bytes.
This may result in very poor performance, (re)-partitioning suggested.
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=8191 blocks
30523392 inodes, 122088454 blocks
6104422 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2271215616
3726 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
the problem
Partition 1 does not start on physical sector boundary.
$ fdisk -l /dev/sdf
磁盘 /dev/sdf:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 33553920 字节
磁盘标签类型:dos
磁盘标识符:0xa2254a70
设备 Boot Start End Blocks Id System
/dev/sdf1 65535 976773167 488353816+ 83 Linux
Partition 1 does not start on physical sector boundary.
- Печать
Страницы: [1] Вниз
Тема: Partition 2 does not start on physical sector boundary. (Прочитано 3602 раз)
0 Пользователей и 1 Гость просматривают эту тему.
redbeatles
Доброго времени суток, камрады!
Случайно потерялась флэшка, хотел посмотреть инфо и тут увидел страшненькую запись красным цветом в выводе sudo fdisk -l -u. Кто в курсе, с чем это связано и как исправить?
А также я впервые сталкиваюсь с Диск /dev/ram0 … Диск /dev/ram15, это что еще за звери по 64Mb?
Всего в системе 2 диска:
SSD: 120Gb: sdb1 /
SSD: 120Gb: sdb2 /boot
SSD: 120Gb: sdb3 /swap
HDD: /dev/sda1 810,6G 83 /home
HDD: /dev/sda2 120,9G 5 Расширенный – вот это неизвестный мне зверь и с ним есть проблема.
HDD: /dev/sda5 120,9G 83 /home/user/virtualbox – специально выделил кусок на виртуальные машины.
Спасибо за Вашу помощь!
Вывод:
sudo fdisk -l -u
Ubuntu 14.04 LTS
Zalman MS800 Plus + Asus H97-PRO + Intel Core i7-4790 + 4хDDR3-1600 8GB + Asus PCI-Ex GeForce GTX660 2GB + SSD/Intel 530 120GB + WD Caviar Blue 1TB
Sly_tom_cat
На сообщение – забить – это расширенный раздел – наследие MBR разметки – по сути просто контейнер для разделов (логических) который сам является первичным разделом.
Там в нем крайне редко читается первый сектор и все. То что он не на границе физического сектора – наплевать – ибо нужно там всего 512 байт из тех 4Kb которые будут считаны с диска.
Гораздо больше вопросов у меня вызывают размеры корня, свопа и особенно /boot на ssd нафига такие объемища выделять… или я не правильно что-то понял…. и зачем вообще было /boot выносить отдельным разделом?
Пользователь добавил сообщение 29 Июня 2016, 00:56:50:
На RAM* – просто не обращайте внимания.
« Последнее редактирование: 29 Июня 2016, 00:56:50 от Sly_tom_cat »
EvangelionDeath
Sly_tom_cat, нынче для boot надо 300-500МБ минимум) Так что 256МБ даже мало) А вот для чего его отдельно делать, єто действительно загадка
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04
redbeatles
Парни, ну, я мягко говоря не профи, хотя и с Ubuntu больше 5-6 лет начиная с 9-ки. Поэтому еще с тех времен как-то прочел пару обзоров, так там не только boot, там и usr и tmp выделяли и т.д. Сейчас я tmp вынес в RAM, чтобы не дергать ssh лишний раз. Но вот с разделом под boot у меня старая песня. Всегда делал 200mb, это я закатал 16.04 и решил чуть больше.
p.s. Ну, это месяц переживу, там когда выйдет поинт релиз, наверное сделаю с нуля все. Кое в чем я ошибся тут при установке.
Ubuntu 14.04 LTS
Zalman MS800 Plus + Asus H97-PRO + Intel Core i7-4790 + 4хDDR3-1600 8GB + Asus PCI-Ex GeForce GTX660 2GB + SSD/Intel 530 120GB + WD Caviar Blue 1TB
EvangelionDeath
redbeatles, забудьте о том, что вы прочли. У Вас сервер? Такое делается, что минимизировать риски потери данных при сбоях и ускорить восстановление системы. На десктопе данные манипуляции излишни и как показывает практика – часто вредят.
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04
Sly_tom_cat
redbeatles, На мой взгляд у вас не оптимальная разметка SSD.
/boot полезно выносить на отдельный раздел в очень специфичных случаях: использование LVM или криптование всего диска, реже это нужно на серверах, при использовании RAID массивов, напрмер.
Для домашнего использования выносить /boot на отдельный раздел не оправдано ни разу.
Свап 16 gb – тоже странное решение. Какой у вас объем оперативки? 16Gb? Если да то своп-раздел можете смело не создавать (если позже понадобится – создадите в файле).
Итого у вас можно сделать:
1 раздел на ssd с btrfs (она довольно хорошо оптимизирована для работы на ssd) под корень (вместе с boot и home), а раздел с HDD – можно монтировать для нужд долговременного хранения/бекапов.
- Печать
Страницы: [1] Вверх