Linux не видит разделы жесткого диска

Обновлено: 02.07.2024

В моем домашнем NAS внезапно отказал один из дисков. Это был единственный диск не в raid, данные на котором вроде как не важные (торренты, софт и т.д., все, что можно заново выкачать из инетрнета), поэтому диск не дублировался. Ничего критичного не произошло, но мне все равно стало жалко данные, поэтому я заменил диск, а этот отложил в сторонку, чтобы попытаться восстановить информацию. У меня это получилось, поэтому решил задокументировать результат, чтобы самому не забыть и с вами поделиться.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

Симптомы поломки были следующие. Заметил, что пропал сетевой диск. Зашел на сервер и увидел, что диск не инициализирован. Таблица разделов пустая. При этом, диск работал нормально и SMART ошибок не показывал. Я сразу заподозрил, что проблема именно с таблицей разделов. Данные должны быть на месте.

Дополнительная важная информация - диск был в составе mdadm массива, состоящим из одного диска. LVM не использовался.

Я подключил сбойный диск в обычный системник. Сделал загрузочную флешку с Ubuntu Live CD и загрузился с нее. Настроил там сеть, стандартные репозитории.

Восстановление таблицы разделов

Я давно знаю утилиту testdisk. С ее помощью мне уже удавалось восстанавливать данные в linux. Она есть в репозиториях ubuntu, так что я ее установил. Далее все было просто. К сожалению, скриншотов нет, так как делал все на отдельном системнике. Расскажу на словах, что сделал:

  1. Запустил утилиту. Она вывела список всех подключенных дисков. В моем случае диск был /dev/sda.
  2. Выбрал нужный диск, указал в выборе partition table types первый вариант - Intel.
  3. Запустил сканирование. Утилита нашла разделы, которые там были ранее. Я прикинул, вроде бы то, что и должно быть.
  4. Записал таблицу разделов на диск.

Далее через fdisk я увидел разделы диска sda, в том числе тот, что меня интересовал - Linux raid autodetect.

Восстановление таблицы разделов

Если восстанавливаете таблицу разделов обычного диска, то уже сейчас можно было бы смонтировать найденный раздел и попытаться прочитать данные. В моем же случае, нужно было собрать mdadm массив и подмонтировать уже его. Вот тут и начались самые сложности, с которыми больше всего провозился.

Восстановление mdadm массива

Установил в live систему mdadm:

Первым делом проверил суперблоки на восстановленном разделе:

Информация о mdadm массиве

На вид все было в порядке. Дальше рассчитывал сразу найти массив и примонтировать его.

mdadm: failed to add /dev/sda2 to /dev/md3: Invalid argument

Тут я приуныл, потому что не мог понять, в чем проблема. Пробовал разные команды для запуска массива, но он упорно не стартовал. При этом на вид все было в порядке. Потом в какой-то момент я додумался посмотреть dmesg.

md: sda2 does not have a valid v1.2 superblock, not importing!

Решение этой ошибки достаточно быстро нагуглилось.

mdadm --assemble --verbose /dev/md2 /dev/sda2 --update=devicesize

После этого массив нормально стартовал и cat /proc/mdstat показывал его состояние. Тут я думал, что мои мучения окончены и я сейчас получу свои данные. Но это тоже было еще не все.

Восстановление таблицы разделов на mdadm

Просто подмонтировать запущенный mdadm массив к системе не получилось.

Я так понял, что тут либо таблица разделов так же была уничтожена, либо файловая система. Я не знал, как был разбит на разделы сам массив, поэтому просто решил еще раз прогнать анализ таблицы разделов уже массива md2 через утилиту testdisk.

К счастью, она нашла единственный раздел на диске и восстановила его. Таким образом у меня получилось устройство /dev/md2p1. Дальше я успешно смонтировал этот раздел в /mnt и получил доступ к данным. Они все были на месте.

В заключении я к этой же системе подмонтировал сетевой диск через cifs и начал копировать данные.

Заключение

Непонятной осталась причина сбоя, и это хуже всего. На вид все в порядке, но я теряю доступ к данным. Любой другой пользователь, не разбирающийся в linux, просто потерял бы данные, либо пришлось обращаться в специализированные фирмы по восстановлению информации, а это стоит дорого. И еще, как я понял, я точно так же мог потерять доступ и к массиву из нескольких дисков. К слову, потерпевший NAS это Synology, где под капотом обычный linux и mdadm, поэтому я понимал, как надо действовать. На этом же устройстве есть несколько массивов на много Tb и если бы кто-то из них сглючил, то было бы плохо.

Несколько моих статей по восстановлению загрузки linux после различных сбоев:

Доброго времени суток. Проблема в следующем. При установке Kubuntu не видит разделов винта. Всё что видит это /dev/sda/ но и туда установить отказывается. Ставлю на HP 4530s, уже стоит win7. Так вот таблицу разделов я переразбить не могу(так как инфу надо сохранить). Внимание вопрос)
Как заставить видеть разделы винта. пустое место в 30гб тоже не видит.

Изображение пользователя slipmetal.

Так эти 30 Гб нужно сначала "отщипнуть" от раздела с Вын7, а уже потом отформатировать это свободное место в фс ext4. Хорошо бы эти 30 Гб на 3 раздела разделить: "/"-раздел под систему, "/home"- раздел под пользовательские настройки и файлы, "/swap"-раздел подкачки

"отщипнул". Теперь 30 Гб пустого места. И это пустое место не видеться при установке убунты. Я ж говорю в том окне где вообще должен быть выбор куда ставить и вообще должны быть видны все разделы нету нечего. Всё что написано это /dev/sda/. Больше нечего что бы разделы создавать надо их из чего то создавать а у меня пустая таблица. Поэтому и прошу помощи. Может в BIOS надо что то настроить? Ведь я по разделам лажу и щас пишу из win7 на этом же ноуте.

Изображение пользователя slipmetal.

Загрузитесь с LiveCD, потом пройдите K-Система-Редактор разделов. Там создайте нужные разделы, а уже потом приступайте к установке.

Изображение пользователя DarkneSS.

Да вроде не видит установщик его веник.

Изображение пользователя slipmetal.

Посоветовал, что знал. А теперь пусть кто поумнее советует :)

Поясните пожалуйста на какой раздел сколько "отрезать"?

Изображение пользователя DarkneSS.

Пробуйте альтернативный сиди, другие релизы бунт (альфу 12.04; 11.04; 10.04), другие дистры.

Попробовал 4 версии. Всё одинаково.

Изображение пользователя Susumo.

А dolphin разделы видит?
альтернативный сиди пробовали? Альтернативный это не другая версия, там другой установщик используется.

Я много раз устанавливал Kubuntu. И всегда все действия с веником в том числе создание разделов я делал во время установки. Я пробовал пустое место фарматнуть в ext4 с надеждой что установчик его увидит но этого не произошло. Быть может всё таки есть какие то настройки BIOS которые влияют на HDD?

Изображение пользователя slipmetal.

Опишите конфигурацию оборудования вашего компа. А так же почитайте вот эту статью

Уже запарился))) Итак попробовал поставить IDE в настройках BIOS написало что не одной живой файловой системы. Core i3 2.1гц, Intel HD3000 встроенная.

а винда то грузится нормально? а раздел с виндой видит? или вообще разделов нет?

Команда sudo synaptic не дала не каких результатов. Написало такой команды нет.

А сам synaptic установлен? И на кой ляд его писать с sudo?

По денным выше ссылкам есть такой способ где надо удалить драйвера ответственные за рейд.(мол тогда всё заработает)А удалить их говорят что мол надо из сенаптика. А я его не нахожу когда захожу с LiveCD. (и меня терзают смутные сомнения по поводу ест ли он вообще там)

Естественно его там нету. А удалить можно из чего угодно.

Пожалуйста пошагово как удалить?

Запустить Muon и дальше всё так же, как в Synaptic.

Изображение пользователя sotas.

Cakyh а у Вас случаем хард не динамикой запилен?.

Прости те не в курсе о чем речь)

Изображение пользователя sotas.

Если базовый раздел c Масдаем был преобразован в динамический. Эт еся такая чисто Масдаевская шняга. Тык Если динамика то эт прикол либо производителя. Либо ваша ошибка при использовании встроенной Масдайной дисковой утилиты. Если я прав и у Вас действительно динамика то лечится тока одним сохранением всех данных на другой носитель и удалением всех разделов с "больного" диска,с перезаписью MBR и после этого создаем новые разделы. Устанавливаем софт.

а при чём тут динамика если "отщипнул". Теперь 30 Гб пустого места ? их то установщик должен увидеть

Изображение пользователя knuckles.

Не увидит. Потому что свободное место всегда вычисляется, а не прописывается явно в MBR. А если в MBR динамика, то Кубунта его воспринимает как отсутствие таблицы разделов. А если таблицы нет, то и видит она только девайс /dev/sda, и он как бы весь свободный.

Может и должен но не видит.
1) Запускаем Ubuntu с диска
2) в менеджере пакетов прибиваем драйвера раида
3) ставим Ubuntu
4) при необходимости возвращаем драйвера
5) радуемся :-)
И если это сделать не удалю ли я всё что есть на винте(этого делать не как нельзя)
как вот это сделать?
когда я пишу sudo synaptic то пишет нет такой команды.
Как еще можно удалить dmraid и libdmraid?

Данный способ помог Ubuntu стоит. ) но почему то сразу грузиться винда. как поставить выбор системы.

на зажатие shift'а после загрузки биоса есть реакция?

Изображение пользователя knuckles.

Ubuntu стоит. ) Где она стоит? Как стоит? Покажи сюда, как у тебя диск размечен.

Пищу из Ubuntu через пару часов опишу как это сделал вдруг каму поможет.

Изображение пользователя trubadur4ik.

Спасибо!! Еслиб не твой комент, в очередной раз пришлось бы забить на убунту, еще на этапе установки xD Щас поставлю в мультибут, буду заходить раздуплять, авось не мешает.

Реально помогло. Спасибо огромное.

Отрезал KDE part managerom 30 gb Не давал им никакого расширения и при установке все равно пустой экран. Чего делать?

Изображение пользователя sotas.

voodoo04 покажи таблицу разделов тада более детальные предложения будут :)

Таблицу всю реальную или которая при установке?

Огромный респект за помощь. Ставил 12.04 на комп с виндою, так же видел только /dev/sda после команд все запилилось! Спасибо.

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 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: 0xbcc78f3e

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 146802687 73297920 7 HPFS/NTFS/exFAT
/dev/sda3 146802688 488394751 170796032 7 HPFS/NTFS/exFAT

Disk /dev/sdb: 2034 MB, 2034237440 bytes
63 heads, 62 sectors/track, 1017 cylinders, total 3973120 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: 0x20ac7dda

Device Boot Start End Blocks Id System
/dev/sdb1 ? 3224498923 3657370039 216435558+ 7 HPFS/NTFS/exFAT
/dev/sdb2 ? 3272020941 930513678 976730017 16 Hidden FAT16
/dev/sdb3 ? 0 0 0 6f Unknown
/dev/sdb4 50200576 974536369 462167897 0 Empty

Disk identifier: 0x20ac7dda

Device Boot Start End Blocks Id System
/dev/sdb1 ? 3224498923 3657370039 216435558+ 7 HPFS/NTFS/exFAT
/dev/sdb2 ? 3272020941 930513678 976730017 16 Hidden FAT16
/dev/sdb3 ? 0 0 0 6f Unknown
/dev/sdb4 50200576 974536369 462167897 0 Empty

Изображение пользователя fongostev.

Мне помогло сокращение колличества разделов до 3 (было 4 + раздел линукса + свап линукса +2ая винда, все 3 раздела удалил, оставив слитую воедино неразмеченную область в конце винчестера). Ставил Ubuntu 13,04 вместо 12,04. Так же встречал эту проблему при ошибках MBR. Как их исправлять и находить не знаю… Всем удачи в установке. <):-)

Вроде решено: fdisk не видит таблицу разделов (а все остальные - видят. )

IDE, SATA, SCSI, внешние USB-HDD, SSD, USB-Flash накопители

Вроде решено: fdisk не видит таблицу разделов


testdisk ошибок не находит, всё работает нормально. Что за фигня такая?

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Что в dmesg на предмет дисков и разделов на них? Что в /proc/partitions ? Разделы на sda доступны для монтирования? RAID?
Что-нибудь подозрительное делали перед появлением ошибки?
Ранее эта же версия fdisk в этой же системе нормально работала?

Они не только доступны для монтирования, с них система грузится.


За ту же версию fdisk сказать не могу, обновлял систему с 2010.0 до 2010.1. Появилась проблема после этого или раньше - не уверен.

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик


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

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик


Это перемещение в начало расширенного раздела. Далее читается EBR, но затем почему-то происходит перемещение аж на 2222753188864 байт, что намного больше ёмкости вашего диска. Видимо, что-то не то с записью логического раздела в EBR расширенного. Было бы интересно на это взглянуть. Если не сложно, выложите:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

вместо offset=23729997312 - skip=23729997311, ибо offset dd не понимает


Спасибо, исправил. Вот только почему на единицу меньше (хоть это и не так важно)?

Думал, разница в 1 должна быть. Хотя, действительно, откуда ей взяться. AA там в конце, если что. (Перезалил и поправил ссылку.)

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Я правильно предполагаю, что лажа кроется во второй записи таблицы разделов EBR? Раньше в ней должен был значиться на фиг мне не нужный раздел, идущий в начале расширенного (так исторически сложилось). По идее содержимое его должно быть на прежнем месте, тестдиск его видит. Если попробовать его восстановить тестдиском - поможет?

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик


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


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


В первой команде разве не seek надо вместо skip?
skip - пропустить энное кол-во блоков в читаемом файле, seek - в записываемом.


Lubuntu не видит таблицу разделов во время установки
Однако, разбивку разделов, сделанную в &quot;Mageia 6&quot; при установке &quot;Lubuntu&quot; GParted так и не увидел.

Во время установки не видит сетевую карту
Добрый вечер, во время установки Ubuntu 16.04 на ноут Sony Vaio вылетает ошибка ниже. Если.

Слетела таблица разделов Windows, после установки linux
Всем привет, очень прошу помочь. На рабочем ноутбуке хотел запустить линукс в Live режиме (с флешки.

При установки Windows 7 не видит ни жестких дисков, ни его разделов
Доброго время суток ! У меня такая проблемка - полетела винда, решил поставить себе семёрку.

А какую таблицу разделов при установке виндовс вы выбирали, MSDOS или GPT? А попробуйте посмотреть разделы другим менеджером. Акронисом, например. Да акронис видит все мои текущие разделы. Если нужно могу фото выложить. ерунда какая-то
логические диски живут в расширенном разделе, коих бывает один. основные разделы не живут в расширенном разделе. а на скриншоте - каша

И правда, что-то совсем несуразное. В MBR (в смысле - в таблице разделов MSDOS) такого просто не может быть!

Я тут уже много раз где-то рассказывал о принципе организации разделов на HDD в таблице MSDOS, рекомендую поискать.
Но, тем не менее, вкраце повторюсь:
1. Таблица разделов MSDOS подразумевает создание на одном физичкском HDD не более 4 основных разделов, любой один из которых может быть загрузочным (то есть, иметь метку "Активный" в акронисе), т.е. именно в нём находится загрузчик для всех установленных на данной машине (или, как минимум, на данном HDD) OS, какого бы типа они ни были.
2. Любой один из основных разделов может быть преобразован в расширенный, который является контейнером для логических разделов. Расширенный раздел не может быть загрузочным.
3. Логические разделы помещаются в расширенном разделе, они не могут быть загрузочными и их количество, в принципе, неограничено.
Таким образом, основной раздел не может оказаться между двумя логическими. Обратное - один или несколько подряд идущих логических разделов между основными - вполне себе нормальный случай разметки.
То есть, разметка может выглядеть, например, вот так: Основной, Логический, Логический, Логический, Основной, Основной.
Или: Основной, Основной, Основной, Логический, Логический.
Разметка не может выглядеть так: Логический, Основной, Основной, Логический, Логический,
Или: Основной, Логический, Основной, Логический.

Разметка типа GPT подразумевает создание только основных разделов - логические в ней не предусмотрены вообще, а загрузчик находится всегда в заголовочном разделе. В конце диска имеется резервная копия заголовочного раздела.

Добавлено через 6 минут
"Что же делать?" - спросите вы?
Отвечу коротко и ясно: В первую очередь сохранить на внешний носитель все важные (и не особо важные можно) данные.
Потом переразмечать HDD при помощи GParted. Возможно, придётся создавать таблицу разделов по-новой.

Читайте также: