Почему mdadm зарезервировал мне 33 сектора на моем линейном виртуальном программном устройстве?

1

Я строю новую компьютерную систему с Windows 7 Professional и Ubuntu. Я следую этому уроку:

http://fds-team.de/cms/articles/2013-12/use-a-real-windows-7-partition-in-virtualbox-kvm-vmware-player-u.html

Я хочу иметь возможность запускать установку Windows 7 внутри VirtualBox в Linux, а также загружать ее из BIOS, чтобы при необходимости использовать все аппаратное обеспечение.

Таким образом, у меня не возникает проблем, когда я пытаюсь создать новую таблицу разделов виртуального диска, созданного с помощью mdadm.

Если я запускаю, fdisk -lя получаю это:

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

Я запустил это, чтобы создать свой виртуальный диск:

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

Но когда я пытаюсь создать раздел /dev/md0с gdiskмоим устройством, он заканчивается на 210184158, а не на 210184191, что на 33 сектора меньше. Раздел EFI работает нормально, но NTFS (основной раздел Windows) не будет правильно читать, когда я использую 210184158 в качестве конечного сектора. Почему mdadmна моем последнем устройстве у меня 33 сектора?

Willdorf
источник

Ответы:

1

Ваш fdiskвывод содержит строку:

Тип метки диска: gpt

Диски GPT хранят резервную копию таблицы разделов диска и заголовка в самом конце диска. Вы можете прочитать здесь :

16 КиБ (по умолчанию) перед последним логическим сектором диска

Вторичная таблица GPT - она ​​является байтовой, идентичной основной таблице. Используется в основном для восстановления в случае повреждения основной таблицы разделов.

Последний логический сектор диска или последние 512 байт

Вторичный заголовок GPT - содержит уникальный идентификатор GUID диска, расположение таблицы вторичных разделов, количество возможных записей в таблице разделов, контрольные суммы CRC32 и таблицу вторичных разделов, расположение основного заголовка GPT. Этот заголовок можно использовать для восстановления информации GPT в случае, если основной заголовок поврежден.

Поскольку размер вашего сектора составляет 512 байт, 16 КБ + последний логический сектор соответствует 33 секторам, именно то, что вам не хватает.

MariusMatutiae
источник