fdisk: tabela de partições “não em disco” mas “Ordem já está correta”? e problemas herdados do GRUB

1

Por alguns dias eu estou quebrando minha cabeça sobre o seguinte:

  • a tabela de partição está desarrumada, mas não é.
  • o grub-legacy dá problemas em algumas partições durante a inicialização, mas não quando invocado em um shell quando o linux está em execução.

Eu suspeito que os dois sintomas estão relacionados, mas não tenho certeza.

Informações básicas:

  • O Grub-legacy foi iniciado a partir de um XFS em / dev / sda4 a.k.a. (hd0,3) por anos sem problemas.
  • As coisas ficaram confusas ao redimensionar o sistema de arquivos FAT32 em sda1 usando o Gparted (aparentemente há um bug no libparted 3.2 responsável por isso). De repente, o grub não conseguiu mais acessar o sda4.

Aqui está a saída do fdisk referente à tabela de partição quebrada e não quebrada:

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sda: 74.5 GiB, 80026361856 bytes, 156301488 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
Disklabel type: dos
Disk identifier: 0x85068506

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1            2048   8390655   8388608    4G  c W95 FAT32 (LBA)
/dev/sda2  *      8390656  29296639  20905984   10G  7 HPFS/NTFS/exFAT
/dev/sda3        29296640 136712191 107415552 51.2G  f W95 Ext'd (LBA)
/dev/sda4       136712192 156301487  19589296  9.3G 83 Linux
/dev/sda5        29298688  33492991   4194304    2G 83 Linux
/dev/sda6        33495040  75438079  41943040   20G 83 Linux
/dev/sda7        75440128  83828735   8388608    4G 83 Linux
/dev/sda8        83830784  88025087   4194304    2G 83 Linux
/dev/sda9        88027136  94318591   6291456    3G 82 Linux swap

Partition table entries are not in disk order.

Command (m for help): x

Expert command (m for help): f
Nothing to do. Ordering is correct already.

parted lista a tabela de partições da seguinte forma:

# parted /dev/sda unit s print free                                                    
Model: ATA WDC WD800JB-00JJ (scsi)
Disk /dev/sda: 156301488s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start       End         Size        Type      File system     Flags
        63s         2047s       1985s                 Free Space
 1      2048s       8390655s    8388608s    primary   fat32           boot, lba
 2      8390656s    29296639s   20905984s   primary   ntfs
 3      29296640s   136712191s  107415552s  extended                  lba
 5      29298688s   33492991s   4194304s    logical   ext2
 6      33495040s   75438079s   41943040s   logical   ext3
 7      75440128s   83828735s   8388608s    logical   ext3
 8      83830784s   88025087s   4194304s    logical   ext3
 9      88027136s   94318591s   6291456s    logical   linux-swap(v1)
        94318592s   136712191s  42393600s             Free Space
 4      136712192s  156301487s  19589296s   primary   ext2

Sobre o grub durante a inicialização:

  • informa "Erro 5: tabela de partições inválida ou corrompida" para sda7 e sda8.
  • ele relata "tipo de sistema de arquivos desconhecido" para sda4, embora seja um simples ext2 (até agora).

Eu pesquisei muitos fóruns / wikis / etc, mas ainda não resolvi esse quebra-cabeça. Eu só percebi que minha tabela de partição é alinhada com 1MiB (daí as lacunas do setor de 2048). Eu fiz algumas deleção de partição / recreação / reformatação / verificação etc, sem sucesso.

Estou executando o slackware 14.2 (salix, na verdade) com o kernel 3.10. Todos os sistemas de arquivos linux são ext2 ou ext3.

Estou muito curioso para descobrir a causa desses sintomas. Por favor me ajude a resolver isso.

    
por plons 10.05.2017 / 15:48

1 resposta

0

A razão pela qual diz Partition table entries are not in disk order. é porque eles não são. Seu sda4 está no final do disco, mas sda5-9 está localizado antes disso.

Em parted , a saída deve ser algo assim:

# parted /dev/loop0 unit s print free
Model: Loopback device (loopback)
Disk /dev/loop0: 156301488s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start       End         Size        Type      File system  Flags
        63s         2047s       1985s                 Free Space
 1      2048s       8390655s    8388608s    primary                lba
 2      8390656s    29296639s   20905984s   primary                boot
 3      29296640s   136712191s  107415552s  extended               lba
 5      29298688s   33492991s   4194304s    logical
 6      33495040s   75438079s   41943040s   logical
 7      75440128s   83828735s   8388608s    logical
 8      83830784s   88025087s   4194304s    logical
 9      88027136s   94318591s   6291456s    logical
        94318592s   136712191s  42393600s             Free Space
 4      136712192s  156301487s  19589296s   primary

Note que é apenas a explicação sobre a mensagem fdisk . Se você converter a última partição primária em uma lógica, a mensagem desaparece. Não tenho certeza se isso está relacionado de alguma forma a seus outros problemas de partição.

    
por 10.05.2017 / 16:15