LINUX.ORG.RU

notice от fdisk -l


0

2

Коробка NAS, из вебморды создается RAID JBOD для одного диска (другого там не дано). Захожу через SSH, спрашиваю fdisk -l

N0204:~# fdisk -l

Disk /dev/sda: 31.9 GB, 31943819264 bytes
255 heads, 63 sectors/track, 3883 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks  Id System
/dev/sda1               1         262     2097152  fd Linux raid autodetect
Partition 1 does not end on cylinder boundary
/dev/sda2             327        3884    28572672  fd Linux raid autodetect
/dev/sda3             262         327      524288  fd Linux raid autodetect
Partition 3 does not end on cylinder boundary

Partition table entries are not in disk order

чем череваты эти: Partition x does not end on cylinder boundary и Partition table entries are not in disk order?



Последнее исправление: commeta (всего исправлений: 1)

Пережитки прошлого - CHS: 1 цилиндр(C) = 63 головки(H) * 255 секторов (S)* 512 байт. Максимальный размер 120Гигабайт из-за места отводимого в 0-секторе для полей для записи в формате CHS
Для дисков в режиме LBA48 не имеет смысла

adriano32 ★★★
()
Ответ на: комментарий от adriano32

Порядок это то что sda3 физически второй по порядку, но в 0-секторе его запись третья. ПОменв местами в 0-ом секторе записи о втором и третьем разделе всё встанет на свои места. Не критично.
Я делаю это вручную в hexedit, многие другие удаляют fdisk'om разделы и тут же создают такого же размера по тем же границам в нужном порядке.

adriano32 ★★★
()
Ответ на: комментарий от YAR

fdisk -cul

N0204:~# fdisk -ul

Disk /dev/sda: 31.9 GB, 31943819264 bytes
255 heads, 63 sectors/track, 3883 cylinders, total 62390272 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks  Id System
/dev/sda1            2048     4196351     2097152  fd Linux raid autodetect
Partition 1 does not end on cylinder boundary
/dev/sda2         5244928    62390271    28572672  fd Linux raid autodetect
/dev/sda3         4196352     5244927      524288  fd Linux raid autodetect
Partition 3 does not end on cylinder boundary

Partition table entries are not in disk order
N0204:~#
commeta
() автор топика
Ответ на: комментарий от adriano32

adriano32
Спасибо за разъяснение, диск кстати 32gb поэтому он скорее LBA 28. Тогда оставлю как есть, раз не критично.

commeta
() автор топика
Ответ на: комментарий от adriano32

>> многие другие удаляют fdisk'om разделы и тут же создают такого же размера по тем же границам в нужном порядке

Жесть как она есть. Там же имеется

f fix partition order

GotF ★★★★★
()
Ответ на: комментарий от GotF

я с -c чего то не вкурил, он мне fdisk: invalid option — c ответил

N0204:~# fdisk -cul
fdisk: invalid option -- c
BusyBox v1.8.3 (2010-11-04 20:24:44 CST) multi-call binary

Usage: fdisk [-luv] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK

Change partition table

Options:
        -l              List partition table(s)
        -u              Give Start and End in sector (instead of cylinder) units
        -s PARTITION    Give partition size(s) in blocks
        -b 2048         (for certain MO disks) use 2048-byte sectors
        -C CYLINDERS    Set the number of cylinders
        -H HEADS        Set the number of heads
        -S SECTORS      Set the number of sectors
        -v              Give fdisk version

commeta
() автор топика
Ответ на: комментарий от commeta

Старый / урезанный fdisk.


# fdisk -l /dev/sda

Disk /dev/sda: 500.1 GB, 500106780160 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b9db6

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          17      131072   fd  Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2              17       60802   488253431+  fd  Linux raid autodetect
Partition 2 does not end on cylinder boundary.

# fdisk -cul /dev/sda

Disk /dev/sda: 500.1 GB, 500106780160 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976771055 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: 0x000b9db6

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048      264191      131072   fd  Linux raid autodetect
/dev/sda2          264192   976771054   488253431+  fd  Linux raid autodetect

# fdisk -v
fdisk (util-linux-ng 2.17.2)

# fdisk -- 2>&1 | grep '\-c'
 -c                        switch off DOS-compatible mode
YAR ★★★★★
()
Ответ на: комментарий от commeta

>> BusyBox

А, тогда нормально. В бизибоксе обычно ограниченные версии утилит. «c» это отключение режима совместимости с DOS, соответственно перестают выводиться эти предупреждения.

root ~ # fdisk /dev/sda

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').

Command (m for help): p

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000767c1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        6528    52428800   fd  Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2            6528       58744   419430400   fd  Linux raid autodetect
Partition 2 does not end on cylinder boundary.

Command (m for help): c
DOS Compatibility flag is not set

Command (m for help): p

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000767c1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        6528    52428800   fd  Linux raid autodetect
/dev/sda2            6528       58744   419430400   fd  Linux raid autodetect
GotF ★★★★★
()
Ответ на: комментарий от commeta

Угу.

# fdisk -cu /dev/sda

Command (m for help): x

Expert command (m for help): m
Command action
   b   move beginning of data in a partition
   c   change number of cylinders
   d   print the raw data in the partition table
   e   list extended partitions
   f   fix partition order
   g   create an IRIX (SGI) partition table
   h   change number of heads
   i   change the disk identifier
   m   print this menu
   p   print the partition table
   q   quit without saving changes
   r   return to main menu
   s   change number of sectors/track
   v   verify the partition table
   w   write table to disk and exit
YAR ★★★★★
()
Ответ на: комментарий от GotF

Я как параноик и красноглазик предпочитаю открыть hexedit'ом /dev/sda и ручками поменять местами записи о разделах в0-ом секторе в таких случаях. Благо знание структуры 0-гос сектора для msdos таблиц имеется. Впрочем как и о GPT.

adriano32 ★★★
()
Ответ на: комментарий от YAR
fdisk -cul /dev/sda
fdisk: invalid option -- c

так он тоже не умеет

но! запустил fdisk /dev/sda ->extra functionality (experts only) ->fix partition order все ok. далее write table to disk and exit

ругается Calling ioctl() to re-read partition table fdisk: WARNING: rereading partition table failed, kernel still uses old table: Device or resource busy

мыслю так что к компьютеру подключать и с cd грузится придется

commeta
() автор топика
Ответ на: комментарий от adriano32

эх еслиб под busybox`ом hexedit был... а так все равно к компу цеплять придется.

commeta
() автор топика
Ответ на: комментарий от commeta

> kernel still uses old table

Перезагрузи девайс

YAR ★★★★★
()
Ответ на: комментарий от commeta

fdisk пытается вызвать blockdev --rereadpt, но сделать это на диске на котором смонтированы разделы нельзя пока не размонтируешь всё. Так как у тебя на этом винте корень насколько я понял, то только после перегруза схавает.
И маленький совет: перед такими операциями заниматься делай dd if=/dev/sda of=/media/flash/mbr_backup bs=512 count=1

adriano32 ★★★
()
Ответ на: комментарий от adriano32

да там корень, отмонтировать не могу

commeta
() автор топика
Ответ на: комментарий от commeta

я все понял тему можно закрывать, спасибо

commeta
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.