Вопрос или проблема
Я пытаюсь изменить размер раздела Linux, но после многочисленных настроек с этим диском я не знаю, повредил ли я его полностью.
Device Boot Start End Sectors Size Id Type
/dev/sdd1 * 64 5913631 5913568 2.8G 17 Hidden HPFS/NTFS
/dev/sdd2 5913632 5915039 1408 704K 1 FAT12
/dev/sdd3 5915040 17578125 11663086 5.6G 83 Linux
/dev/sdd4 17578126 28320312 10742187 5.1G 83 Linux
Используя dd
для удаления разделов и создания новых, я получаю
Device Boot Start End Sectors Size Id Type
/dev/sdd1 * 64 5913631 5913568 2.8G 17 Hidden HPFS/NTFS
/dev/sdd2 5913632 5915039 1408 704K 1 FAT12
/dev/sdd3 5915040 40000000 34084961 16.3G 83 Linux
/dev/sdd4 40000001 62521343 22521343 10.8G 83 Linux
Затем, следуя некоторому руководству, я выполняю
$ e2fsck -f /dev/sdd1
$ e2fsck 1.43.7 (16-Oct-2017)
$ ext2fs_open2: Bad magic number in super-block
$ e2fsck: Superblock invalid, trying backup blocks...
$ e2fsck: Bad magic number in super-block while trying to open /dev/sdd1
Суперблок не может быть прочитан или не описывает действительную файловую систему ext2/ext3/ext4. Если устройство действительно содержит файловую систему ext2/ext3/ext4 (а не swap или ufs или что-то другое), то суперблок поврежден, и вы можете попробовать запустить e2fsck с альтернативным суперблоком:
e2fsck -b 8193 <device>
или
e2fsck -b 32768 <device>
/dev/sdd1 содержит файловую систему iso9660 с меткой 'Kali Live'
(И так далее для остальных 3 разделов)
Попытка изменить размер имеет тот же эффект:
$ resize2fs /dev/sdd3
resize2fs 1.43.7 (16-Oct-2017)
resize2fs: Bad magic number in super-block while trying to open /dev/sdd3
Couldn't find valid filesystem superblock.
Я следовал руководству в интернете, но оно не работает, под названием: HOWTO: Repair a broken Ext4 Superblock in Ubuntu.
$ mke2fs -n /dev/sdd4
$ e2fsck -b block_number /dev/sdd4
$ e2fsck 1.43.7 (16-Oct-2017)
e2fsck: Bad magic number in super-block while trying to open /dev/sdd4
Суперблок не может быть прочитан или не описывает действительную файловую систему ext2/ext3/ext4. Если устройство действительно содержит файловую систему ext2/ext3/ext4 (а не swap или ufs или что-то другое), то суперблок поврежден, и вы можете попробовать запустить e2fsck с альтернативным суперблоком:
e2fsck -b 8193 <device>
или
e2fsck -b 32768 <device>
Так что у меня определенно кончились идеи, что делать. Он полностью испорчен или мне просто заново все переустановить с нуля?
Используйте mke2fs
, чтобы получить резервную копию суперблока:
sudo mke2fs -n /dev/sdaX
пример вывода:
Суперблоки резервной копии хранятся в блоках:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Восстановите суперблок:
sudo e2fsck -b 32768 /dev/sdaX
Если первый не работает, попробуйте следующий, пока не найдете работающий. После завершения прервите операцию, затем выполните:
sudo fsck -y /dev/sdaX
Ответ или решение
Если вы столкнулись с ошибкой "ext2fs_open2: Bad magic number in super-block" при попытке работы с разделами диска в Linux, это указывает на проблему с файловой системой, скорее всего, с повреждением суперблока. Давайте разберем шаги, которые можно предпринять для устранения этой проблемы.
Описание проблемы
Вы пытаетесь изменить размер раздела на диске под Linux. После нескольких манипуляций с разделами с помощью dd
вы могли потенциально повредить файловую систему. При проверке файловой системы с помощью e2fsck
вы получаете сообщение об ошибке, указывающее на "Плохое магическое число в суперблоке".
Возможные причины
-
Неверный тип файловой системы: Вы пытаетесь выполнить проверку с
e2fsck
на разделе/dev/sdd1
, который содержит файловую систему ISO9660.e2fsck
предназначен для работы с ext2/ext3/ext4, поэтому оно тут неприменимо. -
Повреждение суперблока: Операции с разделом могли повредить суперблок. Это структурный элемент файловой системы, содержащий важные метаданные.
Решения
Шаг 1: Проверка типа файловой системы
Перед любыми операциями убедитесь, что вы работали с правильной файловой системой. Для этого используйте команду:
sudo file -s /dev/sdd1 # Замените '/dev/sdd1' на ваш целевой раздел
Убедитесь, что это действительно ext2/ext3/ext4, прежде чем продолжать.
Шаг 2: Использование резервных суперблоков
Каждая ext2/ext3/ext4 файловая система имеет несколько резервных суперблоков. Чтобы узнать, где они расположены, выполните команду:
sudo mke2fs -n /dev/sdd3
Это покажет список блоков для резервных копий суперблока. Используйте один из этих блоков для восстановления:
sudo e2fsck -b 32768 /dev/sdd3 # Замените '32768' на действительный номер блока
Если первая попытка не удалась, пробуйте другие резервные суперблоки из списка.
Шаг 3: Полная проверка файловой системы
После восстановления суперблока рекомендуется выполнить полную проверку:
sudo fsck -y /dev/sdd3
Профилактика
-
Регулярное резервное копирование: Перед любыми изменениями файловой системы убедитесь, что у вас есть резервные копии всех важнейших данных.
-
Тестирование изменений: Применяйте изменения на копии диска, прежде чем выполнять операции на рабочем разделе.
Заключение
Если вышеописанные шаги не помогают и данные имеют большую ценность, возможно, стоит рассмотреть возможность помощи профессионалов по восстановлению данных. В противном случае, если вы планируете повторную установку, вы можете создать новую файловую систему, предварительно убедившись в корректном разбиении диска.
Этот подход должен помочь вам в решении данной проблемы. Используйте описанные шаги с осторожностью, чтобы минимизировать риск потери данных.