Итак, по разным причинам я получил единый логический том Linux объемом 45 ТБ без таблицы разделов, отформатированный как NTFS, содержащий 28 ТБ данных (размер самой файловой системы составляет 28 ТБ).
Файловая система была создана в Linux и может монтироваться в Linux. Проблема возникает, когда я пытаюсь смонтировать это в виртуальной машине Windows на базе KVM на том же самом устройстве. Windows видит не файловую систему 28 ТБ, а диск 1,8 ТБ, содержащий несколько бесполезных разделов произвольного размера.
Я предполагаю, что это связано с тем, что Windows пытается прочитать первые несколько байтов реальных данных файловой системы NTFS в виде таблицы разделов.
Я вижу несколько возможных решений этой проблемы, но не могу понять, как на самом деле выполнить любое из них:
Текущая "таблица разделов", о которой сообщает parted, следующая:
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/chandos--dh-data: 48.0TB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 48.0TB 48.0TB ntfs
У меня была аналогичная проблема, когда я случайно создал образ раздела, а не диска. Изображения копировались по сети, и у меня не было времени скопировать их снова. Однако они были намного меньше 28 ТБ, и я использовал процесс, который требовал создания копии изображения.
Исходное изображение было получено с использованием:
dd if=/dev/sda1 of=/image.bin
Чтобы добавить таблицу разделов, не копируя все по сети, я скопировал в файл только MBR.
dd if=/dev/sda of=/mbr.bin bs=512 count=1
Затем я добавил mbr и скопировал данные.
fdisk -l /mbr.bin
# take the start position * units in bytes (ex start at 256 * units of 512 bytes = 131072 bytes)
truncate -s (disk size in bytes + number of above) /newfile.bin
dd if=/mbr.bin of=/newfile.bin
dd if=/image.bin of=/newfile.bin oflag=seek_bytes seek=(number from above)
После завершения /newfile.bin
имеет полную таблицу разделов + данные.
На самом деле я не нашел хорошего решения для этого. К счастью, есть еще одна полка для дисков с ~ 30 ТБ пространства, которую я могу использовать для миграции на новый раздел. Это займет много времени, но все должно сработать.
Было предположение, что с помощью Устройство сопоставления устройств Linux (создание виртуального устройства, которое сопоставляет поддельную таблицу разделов GPT из файла вместе с логическим томом LVM), но я оставлю это для кого-то более умного.
Редактировать: Фактически закончил тем, что написал решение этого Вот
Для диска с объемом более 2 ТБ необходимо использовать таблицу разделов GPT. для диска <2 ТБ достаточно MBR.