Восстановление Windows Spanned Disks (LDM) в Linux? - PullRequest
8 голосов
/ 08 декабря 2011

Можно ли читать разделы Windows 2008 LDM в Linux?

У нас есть пять 512 ГБ LUNS, экспортированных через ISCSI в мертвую Windows 2008, и эта коробка больше не хочет их. Windows считает, что они теперь являются необработанными устройствами ... Так что я хотел бы прочитать разделы с Linux. Я использую последнюю версию Ubuntu, чтобы попытаться сохранить хотя бы часть данных. Проблема в том, что вся документация, которую я нашел до сих пор, кажется устаревшей (часто речь идет о w2k или XP Logical Disk Manager (LDM). Но я думаю, что теперь все по-другому с 2008 годом.

Testdisk [0] дает мне следующий вывод

testdisk /list LUN01
TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
Please wait...
Disk LUN01 - 536 GB / 500 GiB - CHS 65271 255 63, sector size=512

Disk LUN01 - 536 GB / 500 GiB - CHS 65271 255 63
     Partition                  Start        End    Size in sectors
 1 P MS LDM MetaData               34       2081       2048 [LDM metadata partition]
No FAT, NTFS, EXT2, JFS, Reiser, cramfs or XFS marker
 2 P MS Reserved                 2082     262177     260096 [Microsoft reserved partition]
 2 P MS Reserved                 2082     262177     260096 [Microsoft reserved partition]
 3 P MS LDM Data               262178 1048576966 1048314789 [LDM data partition]

Примечание. Каждый из 5 LUN имеет одну и ту же таблицу разделов.

Во многих документах [1] речь идет о ldminfo, который не возвращает никакой полезной информации. Я подозреваю, что теперь он устарел, просто потому, что его было очень трудно найти :) И потому, что он не работает, я думаю, Windows 2008 использует другой формат.

# ldminfo LUN01
Something went wrong, skipping device 'LUN01'
# losetup /dev/loop1 LUN01
# losetup -a
/dev/loop1: [fd00]:14 (/mnt/LUN01)
# ldminfo /dev/loop1 
Something went wrong, skipping device '/dev/loop1'

Затем я попытался объединить их с помощью dmsetup, но опять не повезло. Вот как я использовал dmsetup:

# losetup /dev/loop1 LUN01
# losetup /dev/loop2 LUN02
# losetup /dev/loop3 LUN03
# losetup /dev/loop4 LUN04
# losetup /dev/loop5 LUN05
# blockdev --getsize /dev/loop1
1048577000
# cat > w2008.mapping
# Offset into   Size of this    Raid type       Device          Start sector
# volume        device                                          of device
0               1048577000  linear          /dev/loop1       0
1048577000      1048577000  linear          /dev/loop2       0
2097154000      1048577000  linear          /dev/loop3       0
3145731000      1048577000  linear          /dev/loop4       0
4194308000      1048577000  linear          /dev/loop5       0
# dmsetup create myfs w2008.mapping
# mount -t ntfs /dev/mapper/myfs /mnt/final
NTFS signature is missing.
Failed to mount '/dev/loop1': Invalid argument
The device '/dev/loop1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
# echo Poo.

Так что до сих пор нет файловой системы NTFS:)

У кого-нибудь есть идеи о том, как я могу извлечь данные оттуда или дать мне несколько указателей?

Ответы [ 3 ]

21 голосов
/ 01 марта 2014

Вот (гораздо более простой) ответ, теперь, когда существует ldmtool.ldmtool считывает метаданные LDM (также называемые динамическими дисками Windows) и (среди прочего) создает записи устройства отображения для соответствующих дисков, разделов и массивов RAID, что позволяет впоследствии получать к ним доступ и монтировать их, как и другие блочные устройства в Linux.

Программа имеет несколько ограничений, в основном из-за того, что она вообще не изменяет метаданные LDM.Таким образом, вы не можете создавать диски LDM в Linux (используйте для этого Windows), и вам не следует монтировать тома RAID в режиме чтения-записи, на которых отсутствуют диски.(ldmtool не изменит метаданные, чтобы отразить, что это произошло, и в следующий раз, когда Windows соберет RAID-массив, возникнут проблемы, поскольку не все диски будут синхронизированы.)

Вотследующие шаги:

  1. Установить ldmtool.В системах Debian и Ubuntu введите apt-get install ldmtool.Это должно быть так же просто в большинстве других последних дистрибутивов Linux.
  2. Выполнить ldmtool create all.
  3. Теперь у вас должна быть куча новых записей в / dev / mapper.Найдите нужный (в моем случае, массив RAID1, так что /dev/mapper/ldm_vol_VOLNAMEHERE-Dg0_Volume2) и просто смонтируйте его с помощью чего-то вроде mount -t ntfs /dev/mapper/ldm_vol_VOLNAMEHERE-Dg0_Volume2.

Чтобы сделать это автоматически во время загрузки, вы будетеСкорее всего, необходимо вставить вызов ldm create all в нужной точке последовательности загрузки, прежде чем будет смонтировано содержимое /etc/fstab.Хороший способ выполнения вызова:

[ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true

Но как правильно запустить этот фрагмент во время загрузки, будет сильно зависеть от используемого дистрибутива.Для Ubuntu 13.10 я вставил указанную строку в /etc/init/mountall.conf, прямо перед вызовом exec mountall ... в конце раздела скрипта.И теперь я могу смонтировать мой раздел Windows LDM RAID1 в /etc/fstab.Наслаждайтесь!

8 голосов
/ 19 декабря 2011

Хорошо, я отвечу на свой вопрос, чтобы избежать такой же боли для других.

0.ПРЕДУПРЕЖДЕНИЕ

Если вы выполняете восстановление, ВСЕГДА КОПИРУЙТЕ СВОИ ДАННЫЕ и работайте над копией.НЕ изменяйте исходные «испорченные» данные.Сказав это, продолжайте читать.

1.Ваш раздел выглядит так ...

Установите комплект материалов и тестовый диск.Надеемся, что будут пакеты для вашего дистрибутива:)

# mmls -t gpt LUN01
GUID Partition Table (EFI)
Offset Sector: 0
Units are in 512-byte sectors

    Slot    Start        End          Length       Description
00:  Meta    0000000000   0000000000   0000000001   Safety Table
01:  -----   0000000000   0000000033   0000000034   Unallocated
02:  Meta    0000000001   0000000001   0000000001   GPT Header
03:  Meta    0000000002   0000000033   0000000032   Partition Table
04:  00      0000000034   0000002081   0000002048   LDM metadata partition
05:  01      0000002082   0000262177   0000260096   Microsoft reserved partition
06:  02      0000262178   1048576966   1048314789   LDM data partition
07:  -----   1048576967   1048576999   0000000033   Unallocated

Примечание: testdisk даст вам ту же информацию с меньшим количеством деталей # testdisk / list LUN01

2.Извлечение метаданных дисков

Вся информация о порядке дисков, размере данных и других зашифрованных атрибутах раздела будет найдена в разделе метаданных LDM.W2k8 не сильно изменился, так как этот документ [2], хотя некоторые размеры отличаются, а некоторые атрибуты являются новыми (и, очевидно, неизвестными) ...

# dd if=LUN01 skip=33 count=2048 |xxd -a > lun01.metadata
# less lun01.metadata 

В строке 0002410 вы должны увидеть имя сервера,Обнадеживает?Но мы за порядком дисков и идентификатором диска.Прокрутите вниз.

2.1.Порядок дисков

В строке 0003210 вы должны увидеть 'Disk1', за которым следует длинная строка.

0003200: 5642 4c4b 0000 001c 0000 0006 0000 0001  VBLK............
0003210: 0000 0034 0000 003a 0102 0544 6973 6b31  ...4...:...Disk1
0003220: 2437 3965 3830 3239 332d 3665 6231 2d31  $79e80293-6eb1-1
0003230: 3164 662d 3838 6463 2d30 3032 3662 3938  1df-88dc-0026b98
0003240: 3335 6462 3300 0000 0040 0000 0000 0000  35db3....@......
0003250: 0048 0000 0000 0000 0000 0000 0000 0000  .H..............

Это означает, что первый диск этого тома идентифицируется следующим уникальным идентификатором (UID): 79e80293-6eb1-11df-88dc-0026b9835db3 Но на данный момент мы не знаем, какой из дисков имеет этот UID!Поэтому перейдите к записи Disk2 и запишите ее UID и т. Д. Для всех дисков, которые были у вас в томе.Примечание. Исходя из моего опыта, меняются только первые 8 символов, остальные остаются прежними.Действительно, W2k8, похоже, увеличивает идентификатор на 6. $ - это разделитель.

Например.:

Windows Disk1 UID : 79e80293-6eb1-11df-88dc-0026b9835db3
Windows Disk2 UID : 79e80299-...
Windows Disk3 UID : 79e8029f-...

2.2.Найти идентификатор диска

Перейти к строке 00e8200 (lun01.metadata).Вы должны найти «PRIVHEAD».

00e8200: 5052 4956 4845 4144 0000 2c41 0002 000c  PRIVHEAD..,A....
00e8210: 01cc 6d37 2a3f c84e 0000 0000 0000 0007  ..m7*?.N........
00e8220: 0000 0000 0000 07ff 0000 0000 0000 0740  ...............@
00e8230: 3739 6538 3032 3939 2d36 6562 312d 3131  79e80299-6eb1-11
00e8240: 6466 2d38 3864 632d 3030 3236 6239 3833  df-88dc-0026b983
00e8250: 3564 6233 0000 0000 0000 0000 0000 0000  5db3............
00e8260: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00e8270: 3162 3737 6461 3230 2d63 3731 372d 3131  1b77da20-c717-11
00e8280: 6430 2d61 3562 652d 3030 6130 6339 3164  d0-a5be-00a0c91d
00e8290: 6237 3363 0000 0000 0000 0000 0000 0000  b73c............
00e82a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00e82b0: 3839 3164 3065 3866 2d64 3932 392d 3131  891d0e8f-d929-11
00e82c0: 6530 2d61 3861 372d 3030 3236 6239 3833  e0-a8a7-0026b983
00e82d0: 3564 6235 0000 0000 0000 0000 0000 0000  5db5............
00e82e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

То, что мы ищем, это UID диска этого конкретного диска.Мы видим: - Идентификатор диска: 79e80299-6eb1-11df-88dc-0026b9835db3 - Идентификатор хоста: 1b77da20-c717-11d0-a5be-00a0c91db73c - Идентификатор группы дисков: 891d0e8f-d929-11e0-a8a7-0026b9836db * 10 * 1037 1037этот диск с UID 79e80299 -... является Windows Disk2, но для нас это был Physical Disk 1. Действительно, найдите этот UID в том порядке, в котором вы указали выше.Примечание: логического порядка нет.Я имею в виду, что Windows решает, как настроить порядок дисков, а не вы.Так что человеческой логики НЕТ, и не ожидайте, что ваш первый диск будет Disk1.

Так что не думайте, что приведенный выше порядок будет следовать человеческой логике.Я рекомендую вам просмотреть все данные LDM ваших дисков и извлечь их UID.(Вы можете использовать следующую команду, чтобы просто извлечь информацию PRIVHEAD: dd if = LUNXX skip = 1890 count = 1 | xxd -a)

Например:

(Windows) Disk1 : 79e80293-... == Physical disk 2
(Windows) Disk2 : 79e80299-... == Physical disk 1
(Windows) Disk3 : 79e8029f-... == Physical disk 3

Я уверен, чтогде-то в метаданных LDM вы можете найти тип тома (составной, RAID0, RAIDX и соответствующие размеры полос). Однако я его не копал.Я использовал метод «попробуй и повтори», чтобы найти свои данные.Так что если вы знаете, как настроить свою конфигурацию до драмы, вы сэкономите много времени.

3.Найдите файловую систему NTFS и ваши данные

Теперь нас интересует большой кусок данных, которые мы хотим восстановить.В моем случае это ~ 512 ГБ данных, поэтому мы не будем конвертировать все в ASCII.Я действительно не ищу, как Windows находит начало своего раздела NTFS.Но я обнаружил, что он логически начинается со следующего ключевого слова: R.NTFS.Давайте найдем это и найдем смещение, которое нам придется применить позже, чтобы увидеть нашу NTFS FS.

06:  02      0000262178   1048576966   1048314789   LDM data partition

В этом примере данные начинаются с 262178 и имеют длину 1048314789 секторов

Мы нашливыше этого Disk1 (из группы томов) фактически является вторым физическим диском.Мы извлечем часть его информации, чтобы узнать, где начинается раздел NTFS.

# dd if=LUN02 skip=262178 count=4096 |xxd -a > lun02.DATASTART-4k
# less lun02.DATASTART-4k

0000000: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
00fbc00: eb52 904e 5446 5320 2020 2000 0208 0000  .R.NTFS    .....
00fbc10: 0000 0000 00f8 0000 3f00 ff00 0008 0400  ........?.......
00fbc20: 0000 0000 8000 8000 ffaf d770 0200 0000  ...........p....

Здесь мы видим, что NTFS начинается с 00fbc00.Итак, зная, что мы можем начать извлекать наши данные из сектора 262178 + 00fbc00 байтов.Давайте сделаем немного шестнадцатеричного в десятичное преобразование с преобразованием байтов в сектор.

0xfbc00 байт = 1031168 байт = 1031168/512 секторов = 2014 секторов

Итак, наш раздел NTFS начинается с 262178 + 2014 = 264192 сектора. Это значение будет смещением, которое мы будем использовать позже на всех дисках. Давайте назовем это смещением NTFS. Очевидно, что общий размер уменьшен смещением. Итак, новый размер: 1048314789 - 2014 = 1048312775 секторов

4. Попробуйте смонтировать / посмотреть данные

С этого момента, либо он будет работать из коробки, потому что ваш раздел NTFS здоров или нет, потому что вы делаете это, чтобы восстановить некоторые данные. Следующий процесс одинаков, независимо от вашего статуса. Все следующее на основе [1] (см. ссылки внизу)

Составной том, заполнит том за другим. Где как полосатый (RAID0) скопирует порцию данных на многие диски (a.k.a файл распределяется по многим диски). В моем случае я не знал, был ли это составной или полосатый том. Самый простой способ узнать, если ваш объем не полный, это проверить, если у вас много нулей в конце всех ваших томов. Если это так, то он полосатый. Потому что, если он заполнен, если заполнит первый диск, то второй. я не уверен на 100%, но это то, что я заметил. Так дд куча секторов с конца раздела данных LDM.

4.0 Подготовка к доступу к вашим данным

Сначала смонтируйте файл dd или ваше устройство через устройство обратной связи с NTFS. Смещение и размер мы рассчитали выше. Однако смещение и размер должны быть в байтах не в секторах, которые будут использоваться с losttup. смещение = 264192 * 512 = 135266304 размер = 1048312775 * 512 = 536736140800

# losetup /dev/loop2 DDFILE_OR_DEVICE -o 135266304 --size 536736140800
# blockdev --getsize /dev/loop2
1048312775 <---- total size in sectors, same number than before

Примечание: вы можете добавить '-r' для монтирования в режиме только для чтения.

Проделайте все вышеперечисленное для всех физических дисков вашего тома. Показать результат с: losttup -a Примечание: если у вас недостаточно петлевых устройств, вы можете легко создать больше с помощью: # mknod -m0660 / dev / loopNUMBER b 7 NUMBER && chown root.disk / dev / loopNUMBER

Проверьте свое выравнивание, открыв первый диск группы (например, Disk2), чтобы увидеть если первая строка - R.NTFS. Если нет, то ваше выравнивание неверно. Проверьте свой расчеты выше и попробуйте еще раз. Или вы не смотрите на 1-й диск Windows

например:

First disk of the volume has been mounted on /dev/loop2 
# xxd /dev/loop2 |head
0000000: eb52 904e 5446 5320 2020 2000 0208 0000  .R.NTFS    ..... 
0000010: 0000 0000 00f8 0000 3f00 ff00 0008 0400  ........?.......

Все хорошо. Давайте перейдем к раздражающей части:)

4,1 Spanned

Составные диски на самом деле представляют собой цепочку дисков. Вы заполняете первый, затем вы используете второй и тд и тп. Создайте файл, который выглядит следующим образом, например:

# Offset into   Size of this    Raid type       Device          Start sector
# volume        device                                          of device
0               1048312775  linear          /dev/loop2       0
1048312775      1048312775  linear          /dev/loop1       0
2096625550      1048312775  linear          /dev/loop3       0

Примечания: - Не забудьте использовать хороший порядок дисков (вы нашли раньше). например: Физический диск2 затем следуют физический диск1 и физический диск3 - 2096625550 = 2 * 1048312775 и, очевидно, если у вас есть четвертый диск, он собирается быть в 3 раза больше размера смещения для 4-го диска.

4.2 Полосатый

Проблема с полосатым режимом (он же RAID0) заключается в том, что вы должны знать, какая у вас полоса размер. Видимо по умолчанию это 64 КБ (в моем случае это было 128 КБ, но я не знаю, если это был настроен системным администратором Windows :). В любом случае, если вы этого не знаете, вам просто нужно попробуйте все возможные стандартные значения и посмотрите, какое из них дает вам возможную жизнеспособность NTFS файловая система.

Создайте файл, подобный следующему, для 3 дисков с размером порции 128 КБ

                       .---+--> 3 chunks of 128k
0 3144938240  striped  3  128      /dev/loop2 0 /dev/loop3 0 /dev/loop1 0 
   `---> total size of the volume      `----------+-----------+---> disk order

/! \: Размер тома не соответствует размеру, который мы рассчитывали ранее. dmsetup нуждается размер тома делится на размер чанка (размер полосы) И на число дисков в объеме. Так и в нашем случае. У нас есть 3 диска 1048312775 секторов Таким образом, «нормальный» размер составляет 1048312775 * 3 = 3144938325 секторов, но из-за Противопоказанием пересчитаем размер и округлим # echo "3144938325/128 * 128" | До нашей эры 3144938240 секторов

  So 3144938240 is the size of your volume in a striped scenario with 3 disk and
  128 chunks (aka stripes)

4.3 Установите его.

Теперь давайте объединяем все вместе с помощью dmsetup:

# dmsetup create myldm /path/myconfigfile
# dmsetup ls
myldm       (253, 1)

# mount -t ntfs -o ro /dev/mapper/myldm /mnt 

Если он не монтируется. Тогда вы можете использовать testdisk:

# testdisk /dev/mapper/myldm
--> Analyse
----> Quick search
------> You should see the volume name (if any). If not it seems compromised :)
--------> Press 'P' to see files and copy with 'c'

5. Заключение

Вышесказанное сработало для меня. Ваш пробег может варьироваться. И, может быть, лучше иболее простой способ сделать это. Если так, поделитесь этим, чтобы больше никому не пришлось проходить через это хлопот :) Кроме того, это может выглядеть сложно, но это не так. Пока вы копируете свои данные где-то, просто попробуйте и повторите, пока не увидите что-то. Мне понадобилось 3 дня, чтобы понять, как собрать все кусочки вместе. Надеюсь, вышесказанное поможет вам не тратить 3 дня.

Примечание. Все приведенные выше примеры составлены. Возможно, есть некоторые несоответствия между примерами, несмотря на мою тщательность;)

Удачи.

6. Ссылки

2 голосов
/ 20 июля 2012

Диск Windows Dynamic Volume 5x, составной, всего 8 ТБ.

Это то, что я понял из ответа выше, и ссылаясь на [1] и [2].

Я обнаружил, что в разделе метаданных больше, чем просто GUID порядка дисков, информация. Существует четкая структура, которая содержит размер, смещение и смещение в пределах объема.

Используйте ответ выше разделов {2.1} и {2.2}, чтобы определить порядок приводов.

Мои 4x диски экспортируются как фрагменты 4x 2 ТБ и 1x меньшего размера из одного массива RAID5 с контроллера 3ware 9650se. Каждый диск имеет формат;

/dev/sdX1 = LDM metadata partition (~1mb)
/dev/sdX2 = Reserved msoft partition (~100mb)
/dev/sdX1 = LDM data partition (~1.99TB/20GB)

из 'xxd -a -l 65535 / dev / sdd1 | больше 'Я получаю

0002800: 5642 4c4b 0000 000c 0000 000e 0000 0001  VBLK............
0002810: 0000 4033 0000 0031 0109 0844 6973 6b31  ..@3...1...Disk1
0002820: 2d30 3100 0000 0000 0000 0000 0000 0b00  -01.............
0002830: 0000 0000 0007 de00 0000 0000 0000 0004  ................
                     ^---^ Note 07 de (offset)
0002840: fffb f000 0108 0102 0000 0000 0000 0000  ................
         ^-------^ Note fffb f000 (size)
0002850: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
0002880: 5642 4c4b 0000 000d 0000 000f 0000 0001  VBLK............
0002890: 0000 4033 0000 0031 010a 0844 6973 6b32  ..@3...1...Disk2
00028a0: 2d30 3100 0000 0000 0000 0000 0000 0b00  -01.............
00028b0: 0000 0000 0007 de00 0000 00ff fbf0 0004  ................
                     ^---^ Offset   ^--------^ Now see spanned offset
00028c0: fffb f000 0108 0103 0000 0000 0000 0000  ................
         ^-------^ note size again!
00028d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
0002900: 5642 4c4b 0000 000e 0000 0010 0000 0001  VBLK............
0002910: 0000 4033 0000 0031 010b 0844 6973 6b33  ..@3...1...Disk3
0002920: 2d30 3100 0000 0000 0000 0000 0000 0b00  -01.............
0002930: 0000 0000 0007 de00 0000 01ff f7e0 0004  ................
                     ^---^ Offset   ^--------^ Now see spanned offset
0002940: fffb f000 0108 0104 0000 0000 0000 0000  ................
         ^-------^ note size again!
0002950: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
0002980: 5642 4c4b 0000 000f 0000 0011 0000 0001  VBLK............
0002990: 0000 4033 0000 0031 010c 0844 6973 6b34  ..@3...1...Disk4
00029a0: 2d30 3100 0000 0000 0000 0000 0000 0b00  -01.............
00029b0: 0000 0000 0007 de00 0000 02ff f3d0 0004  ................
                     ^---^ Offset   ^--------^ Now see spanned offset
00029c0: fffb f000 0108 0105 0000 0000 0000 0000  ................
         ^-------^ note size again!
00029d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
0002a00: 5642 4c4b 0000 0010 0000 0012 0000 0001  VBLK............
0002a10: 0000 4033 0000 0031 010d 0844 6973 6b35  ..@3...1...Disk5
0002a20: 2d30 3100 0000 0000 0000 0000 0000 0b00  -01.............
0002a30: 0000 0000 0007 de00 0000 03ff efc0 0004  ................ 
                     ^---^ Offset   ^--------^ Now see spanned offset
0002a40: 17b7 d000 0108 0106 0000 0000 0000 0000  ................ 
         ^-------^ And my final drive is the smallest
0002a50: 0000 0000 0000 0000 0000 0000 0000 0000  ................

Итак, сверху вы можете ясно видеть размер раздела данных, смещение внутри раздела и смещение в объединенном томе. Итак, давайте посчитаем;

Disk1:
Size of block = fffb f000 = 4294701056
Start offset = 07 de = 2014
Partition offset = 00 0000 00 = 0

Disk2:
Size of block = fffb f000 = 4294701056
Start offset = 07 de = 2014
Partition offset = 00ff fbf0 00 = 4294701056

Disk3:
Size of block = fffb f000 = 4294701056
Start offset = 07 de = 2014
Partition offset = 01ff fbf0 00 = 8589402112

Disk4:
Size of block = fffb f000 = 4294701056
Start offset = 07 de = 2014
Partition offset = 02ff fbf0 00 = 12884103168

Disk5:
Size of block = 17b7 d000 = 397922304
Start offset = 07 de = 2014
Partition offset = 03ff fbf0 00 = 17178804224

*Note: Use Excel, hex2dec() function*

Это переведено с dmraid:

# File /etc/ntfsvolume
#offset into    Size of this    Raid    Device          Start sector
# volume                        type                    in volume
0               4294701056      linear  /dev/sdd3       2014
4294701056      4294701056      linear  /dev/sdc3       2014
8589402112      4294701056      linear  /dev/sdf3       2014
12884103168     4294701056      linear  /dev/sde3       2014
17178804224     397922304       linear  /dev/sdg3       2014

, который затем можно установить напрямую:

$ dmsetup create myvolume /etc/ntfsvolume
$ sudo mkdir /media/volume/
$ mount -t ntfs-3g /dev/mapper/myvolume /media/volume
$ sudo mount -t ntfs-3g -o ro /dev/mapper/myvolume /media/volume (mount read-only)

, для которого требуются модули:

dmraid
ntfs-3g

ВНИМАНИЕ!

Перед установкой чтения-записи убедитесь, что у вас все смещения, размер на диске и диапазон смещений корректны. ntfs-3g будет монтироваться, если смещения неправильны, и содержимое вашего файла не будет правильным.

Хорошая двойная проверка - использовать диск Windows с проверкой диска и циклом для дополнительной информации в конце. Обратите внимание на общее количество выделенных блоков, умножьте его на размер блока (у меня было 4096), затем разделите его на 512 (нормальный размер сектора). это должно соответствовать указанному размеру окна.

Размер моего раздела сообщает об ошибке на 4096 байт меньше размера, указанного в приведенных выше таблицах метаданных. Я предполагаю, что размер раздела округляется до четного числа. Я вычисляю 2197090816, Windows говорит 2197090815, 4096 байтных блоков ..

Ссылки

...