Некоторый фон
- Сам диск был "обработан" другом и, как говорят, все еще неповрежден, неповрежден и все еще может быть смонтирован / восстановлен
- Диск был частью программного рейда 1 на Ubuntu 12.04
- Другой диск в исходном рейде 1 был отформатирован и использован для другой цели, оставляя текущий диск (рассматриваемый) технически частью рейда, который больше не существует
Что я уже пробовал
Базовый монтаж
- Я добавил запись в fstab, пометил диск как ext3 / ext4 и попытался смонтировать.
При монтаже появляется следующая ошибка
wrong fs type, bad option, bad superblock on
И в dmesg
EXT4-fs (sdc1): VFS: Can't find ext4 filesystem
Я попытался найти тип файловой системы диска и придумал
$sudo file -s /dev/sdc
/dev/sdc: x86 boot sector; partition 1: ID=0x83, starthead 254, startsector 63, 1953520002 sectors, code offset 0xb8
Где мне нужна помощь / Мои вопросы
- Есть ли способ конвертировать диск в ext4 без повреждения данных?
- Есть ли простой способ смонтировать диск с типом файлов Linux 83 и восстановить данные?
- У меня есть другой диск в настоящее время свободен на случай, если есть возможность как-то пересобрать рейд
- Моя главная цель - восстановить данные с диска. Я открыт для всех вариантов.
Обновить
Вывод некоторых команд
fdisk -l / dev / sdc
$fdisk -l /dev/sdc
Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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
Disk identifier: 0x0005ed9c
Device Boot Start End Blocks Id System
/dev/sdc1 63 1953520064 976760001 83 Linux
файл -s / dev / sdc1
$file -s /dev/sdc1
/dev/sdc1: data
hexdump -C -n 32256 / dev / sdc (не уверен, может ли это помочь или нет)
$hexdump -C -n 32256 /dev/sdc` 00000000 fa b8 00 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |................| 00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..| 00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u| 00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..| 00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001b0 00 00 00 00 00 00 00 00 9c ed 05 00 00 00 00 fe |................| 000001c0 ff ff 83 fe ff ff 3f 00 00 00 82 59 70 74 00 00 |......?....Ypt..| 000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.| 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00007e00
mount -f ext4 /dev/sdc1 /mountpoint
должен сделать свое дело. Принудительно смонтировать mount для принятия ext4 вместо поиска файловой системы - вот что делает -fdf
показывает, что новый подключенный диск используется на 2%, что значительно ниже ожидаемого.mount -t ext4
? Флаг -f предназначен для «поддельного» монтирования (ubuntu 14.04).Ответы:
Это отлично работает в Ubuntu 14.04:
Ты получишь:
Затем смонтируйте и посмотрите ваши файлы:
источник
/dev/sdc
и как/dev/md127
. Затем сделал,mdadm --assemble --scan
что привело к/dev/md/Volume0_0p1
и/dev/md/Volume0_0p2
так далее, соответствующие 4 разделам, которые были на диске. P2 был тем, что мне было нужно,mkdir /p2
а затемmount /dev/md/Volume0_0p2 /p2
смонтировал его, который был EXT3, и я могу легко получить доступ и скопировать данные. Это также установило это как чтение-запись.--scan
режим не запускает массивы с отсутствующими дисками, в моем случае здесь я должен был остановить автоматически собранный массив и запустить его снова сmdadm --assemble --force /dev/md/1 /dev/sdc1
Linux mdraid имеет несколько форматов метаданных . Форматы 0.9 и 1.0 помещают метаданные в конец содержащего устройства, а полезная нагрузка (файловая система) начинается в начале устройства и может быть доступна напрямую, не проходя через уровень raid. Форматы 1.1 и 1.2 помещают метаданные в середину и начало содержащего устройства соответственно, поэтому полезная нагрузка находится в смещении.
Установщик Ubuntu создает тома в формате метаданных 1.2, поэтому ваши данные запускаются после метаданных, а не в начале устройства.
Самый простой способ получить доступ к этим данным - собрать устройство raid. В томе RAID-1 достаточно одного устройства.
(Остановитесь здесь, если вы не любите боль.)
Вы также можете получить доступ к данным со смещением. Единственное, что я могу увидеть, это сделать, если вам нужно работать в очень старом ядре, которое не поддерживает форматы 1.x mdraid. Сначала определите смещение
mdadm -E /dev/sdc1
: ищите линиюData Offset : SSS sectors
. Сектор mdadm составляет 512 байт.В отчаянии, с форматами 1.x, смещение данных сохраняется в байтах 128–135 метаданных, little-endian¹. Метаданные 1.2 составляют 4096 байт после начала работы устройства.
Вы также можете изменить таблицу разделов, чтобы она начиналась дальше. Будьте очень осторожны с вашей арифметикой. Делайте это только в том случае, если вы хотите продолжать использовать диск на долгосрочной основе в старой системе, которая не может получить доступ к устройству raid.
¹ Или с порядком байтов платформы? Я не уверен.
источник
mdadm -E /dev/sdc1
где именно), но, конечно, не с 4k для метаданных 1.2, поскольку 4k - это именно то место, где хранятся метаданные. См. Также unix.stackexchange.com/q/57477/22565mdadm -A /dev/sdc1
Выводыmdadm: device /dev/sdc1 exists but is not an md array.
Я пошел немного дальше, чтобы использовать mdadm и посмотреть, есть ли дополнительная информация ...mdadm --misc --examine /dev/sdc1
выходыmdadm: No md superblock detected on /dev/sdc1.
. Есть ли способ, которым я могу перезаписать суперблоки на этом диске, чтобы пометить его как доступный диск для сборки RAID?mdadm -E /dev/sdc
возвращает мне следующее:/dev/sdc: MBR Magic : aa55 Partition[0] : 1953520002 sectors at 63 (type 83)
но никакой информации для / dev / sdc1 нетК моему удивлению, я смог / смог восстановить данные, просто используя самое главное .
Полученная здесь помощь была неоценима. После того, как я попробовал множество предложенных комбинаций, а также мои собственные дополнения, идеальный метод (монтировать и использовать диск как обычно) больше не казался вариантом. В этом случае я прибегаю к восстановлению данных.
источник
Кажется, вы уже зарезали суперблок mdadm. Если раньше он был там и имел формат 1.1 или 1.2, то, скорее всего, файловая система смещена в 2048 секторов. Вы можете запустить,
e2fsck /dev/sdc1?offset=2048
чтобы заставить его искать файловую систему, начиная с этого смещения. Если он найдет его, вы можете изменить таблицу разделов так, чтобы она указала, где фактически начинается файловая система. Вы можете использоватьparted /dev/sdc
иunit s
команду, чтобы использовать единицы секторов.print
в таблице запишите начальный и конечный сектор, затемrm
раздел, затем создайте его зановоmkpart
и используйте тот же конечный сектор, но добавьте смещение к начальному сектору.Если 2048 не работает, вы также можете попробовать 1985.
источник
e2fsck /dev/sdc1?offset=2048
(я также выполнил offset = 1985) выходных данных,Bad magic number..Superblock invalid...
а также предположение, что суперблок поврежден, и попытка запустить e2fsck с альтернативным суперблоком. Похоже, я должен предоставить ему альтернативный суперблок для продвижения вперед.testdisk
должен быть в состоянии сделать детальное сканирование и исправить таблицу разделов для вас.testdisk
это совершенно новая для меня территория. Базовый прогон (Анализ) шоуNo ext2, JFS, Reiser.. marker. Bad relative sector. No partition is bootable.
Он также предоставляет следующее:1 P Linux 0 1 1 121600 254 63 1953520002
Как я могу понять это, чтобы помочь ситуации?