Назад | Перейти на главную страницу

Может ли Windows прочитать неразмеченный том NTFS? (Один большой раздел)

Итак, по разным причинам я получил единый логический том 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.