Por que o mdadm está me encurtando 33 setores no meu dispositivo raid de software virtual linear?

1

Estou construindo um novo sistema de computador, com o Windows 7 Professional e o Ubuntu. Estou seguindo este tutorial:

link

Eu quero poder executar minha instalação do Windows 7 dentro do VirtualBox no Linux, mas também inicializá-lo a partir do BIOS para aproveitar o hardware completo, se necessário.

Não estou tendo problemas quando tento criar a nova tabela de partição do disco virtual criado com mdadm .

Se eu executar um fdisk -l , obtenho isto:

Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 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: gpt
Disk identifier: 078AFEF0-6B0F-443D-8572-3D6413D0FF63

Device             Start        End   Sectors  Size Type
/dev/nvme0n1p1      2048     206847    204800  100M EFI System
/dev/nvme0n1p2    206848     468991    262144  128M Microsoft reserved
/dev/nvme0n1p3    468992  210184191 209715200  100G Microsoft basic data
/dev/nvme0n1p4 210184192  419899391 209715200  100G Microsoft basic data
/dev/nvme0n1p5 419899392  554117119 134217728   64G Linux filesystem
/dev/nvme0n1p6 554117120  973547519 419430400  200G Linux filesystem
/dev/nvme0n1p7 973547520 1000214527  26667008 12.7G Linux swap

Eu executei isso para criar meu disco virtual:

mdadm --build /dev/md0 --level=linear --raid-devices=4 /dev/loop0 /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3

Mas quando tento particionar /dev/md0 com gdisk meu dispositivo termina em 210184158 e não em 210184191, sendo 33 setores curtos. A partição EFI funciona bem, mas o NTFS (partição principal do Windows) não será lido corretamente quando eu uso 210184158 como o setor final. Por que mdadm está me causando 33 setores no meu último dispositivo?

    
por Willdorf 25.08.2016 / 21:51

1 resposta

1

Sua saída fdisk contém a linha:

Disklabel type: gpt

Os discos GPT armazenam uma cópia de backup da tabela de partições de disco e do cabeçalho no final do disco. Você pode ler aqui :

16 KiB (by default) before the last logical sector of the disk

Secondary GPT table - It is byte-for-byte identical to the Primary table. Used mainly for recovery in case the primary partition table is damaged.

Last logical sector of the disk or Last 512 bytes

Secondary GPT Header - Contains the Unique Disk GUID, Location of the Secondary Partition Table, Number of possible entries in the partition table, CRC32 checksums of itself and the Secondary Partition Table, Location of the Primary GPT Header. This header can be used to recover GPT info in case the primary header is corrupted.

Como o tamanho do setor é de 512 bytes, 16KiB + o último setor lógico corresponde a 33 setores, exatamente o que você está perdendo.

    
por 26.08.2016 / 09:17