Случайно сделал dd / dev / sda

Я записал ISO-образ на свой жесткий диск, используя sudo dd if=image.iso of=/dev/sda. Я имел в виду /dev/sdc, и теперь запуск sudo fdisk -l возвращает только один раздел в / dev / sda, хотя их должно быть 6. Возможно ли восстановить мои данные?

Я не закрылся ( перезагрузите компьютер).

35
задан 2 December 2017 в 23:10

6 ответов

Так как ваш компьютер все еще включен, у вас есть хорошие шансы на сохранение.

Во-первых, sysfs отображает в виде памяти таблицы разделов ядра. На данный момент ядро не перечитало таблицу диска и запоминает разметку. Внутри /sys/block/sda/ должен быть один каталог для каждого раздела. Каждый такой подкаталог содержит файл start и файл size, представляющий расположение и размер раздела в секторах. Запустите fdisk и заново создайте каждый раздел (в порядке!) с информацией в каталоге sysfs. Обратите внимание, что вам также нужно будет создать новую таблицу разделов. Убедитесь, что новая таблица разделов такая же, как и предыдущая. Вы можете проверить это в /sys/block/sda. Если вы видите sda1 до sda7 , в то время как у вас только 6 разделов, то скорее всего у вас был MBR, а в противном случае это скорее всего был GPT. Также необходимо установить флаги и типы для этих разделов. Посмотрите на /etc/fstab и попробуйте собрать информацию о типах разделов, которые у Вас есть, затем проверьте Википедию, чтобы преобразовать их в коды для Вашей схемы разметки.

Так как Вы, кажется, можете использовать свою файловую систему, вероятно, что Ваш dd не смог перезаписать ни один из них, так как большинство важных битов файловой системы находятся на передней панели. Проверьте /etc/fstab, какие разделы соответствуют какой части Вашей системы, а затем используйте количество скопированных данных dd, чтобы получить оценку того, сколько Вы взломали. Если вы переписали только часть файловой системы, то хороший fsck может немного исправить это (но вы потеряли хороший кусок данных).

Скорее всего, вы переписали /boot. Вам придётся переустановить ядро (с aptitude) и переустановить GRUB2 (с grub-install) (в результате чего была уничтожена первая и вторая стадии). GRUB2 настроена с файлами в /etc, так что вам не придётся вручную что-либо воссоздавать.

64
ответ дан 2 December 2017 в 23:10

Своей командой dd вы переписали таблицу разделов /dev/sda и все данные до размера image.iso.

Таким образом, лучшее, что вы можете сделать - это восстановить таблицу разделов (с точными размерами), чтобы восстановить, по крайней мере, разделы до конца /dev/sda.

18
ответ дан 2 December 2017 в 23:10

Восстановление из резервной копии невозможно. DD перезаписал таблицу разделов и некоторые данные устройства.

15
ответ дан 2 December 2017 в 23:10

Если диск разбит на отдельные разделы / и /home, а раздел /home находился после раздела /, то данные можно восстановить. MBR, в котором указано, где перезаписано большинство разделов. Однако gparted может восстановить раздел /home.

Это сообщение на форумах Ubuntu. дает некоторые идеи о том, как это сделать; я нашел это при поиске "gparted recover partition".

После того, как вы нашли потерянный раздел (внутри которого он может находиться внутри расширенного раздела), вы должны добавить его как единственный раздел в таблице разделов.

После этого нужно переустановить Linux, сказав сохранить восстановленный раздел как /home.

9
ответ дан 2 December 2017 в 23:10

Testdisk спешит на помощь

Я лично могу поручиться за Testdisk , который сохранил мои данные после того, как я неоднократно копировал и вставлял инструкции для / dev / sdb и изменив его на / dev / sdd , который был моим USB. Только один раз я забыл его изменить, и мой / dev / sdb попал в мусорную корзину.

Настройте свою систему так, чтобы никогда не писать в / dev / sda

. Я настоятельно рекомендую создать сценарий-оболочка: Запретить `dd` уничтожить SSD или HDD . Это гарантирует, что dd никогда не будет записывать в / dev / sda или, возможно, / dev / sdb или любое другое из ваших запоминающих устройств.

2
ответ дан 2 December 2017 в 23:10

Сожалею о вашей невезении

Я полагаю, что у вас нет текущей резервной копии, и мне жаль читать о вашей невезении, используя

sudo dd if=image.iso of=/dev/sdx

, где вы использовали букву диска x = a, так что вы перезаписывали начало вашего жесткого диска, на котором хранилось много ценных данных.

Боюсь, что вы не первый и не последний человек, затронутый этой проблемой. dd рекомендуется использовать на многих веб-сайтах. Это мощный, но опасный метод, потому что он делает то, что вы говорите ему делать без вопросов. По этой причине его часто называют "Уничтожителем данных".

@marcelm комментирует, что этот псевдоним нечестен. Он прав, что запись непосредственно в файл устройства в качестве root приводит к риску. Поэтому имейте в виду, что можно легко перезаписать диск и уничтожить ценные данные, записав их в соответствующий файл устройства /dev/sdx. (Более безопасные утилиты перечислены в конце этого ответа.)

Восстановите таблицу разделов, файловые системы и/или содержимое файлов

  • Сделайте как можно меньше с диском и, прежде всего, не записывайте на него ничего, потому что это может ухудшить ситуацию, перезаписывая данные, которые все еще можно восстановить.

  • Если ваши данные ценны, вам следует работать с клонированной копией, а не с оригинальным (частично перезаписанным) диском. См. эту ссылку, прокрутите вниз до 'Расширенное восстановление таблицы разделов, файловой системы и/или восстановление файлов'

    Восстановление таблицы разделов и файловой системы подвесного диска

  • Если у вас была таблица разделов GUID, GPT, то в конце диска есть резервная копия таблицы разделов /dev/sda, и вы можете восстановить основную таблицу разделов из этой таблицы резервных копий с помощью утилиты gdisk. Подробности см. в руководстве man gdisk.

  • Вы можете восстановить таблицу разделов и файловые системы с помощью Testdisk с

    http://cgsecurity. org

    Прочтите инструкции на веб-сайте CGSecurity, а также ссылку, предоставленную @ElderGeek, Разделы, исчезнувшие после отключения питания во время установки

  • Также можно восстановить таблицу разделов и файловые системы с помощью gpart/gparted по ссылке, предоставленной @CSM,

    HOWTO: Восстановление утраченных разделов в удаленную или поврежденную таблицу разделов

  • PhotoRec: Если не удается восстановить таблицу разделов и файловые системы, можно восстановить некоторые файловые данные. Файлы на главном конце (может быть, 1-1,5 ГБ) перезаписываются и теряются, но файлы за этой частью диска все еще находятся там. PhotoRec с http://cgsecurity.org - это утилита, которая может восстанавливать данные "с поверхности диска" без файловой системы. Для идентификации используются типичные данные в начале распространенных типов файлов.

    Ниже приведена ссылка на PhotoRec,

    https://www.cgsecurity.org/wiki/PhotoRec

    Файлы необходимо сохранять в раздел на отдельном диске.

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

Более безопасные инструменты для создания USB загрузочных дисков с Ubuntu

В будущем, пожалуйста, используйте инструмент, который поможет вам определить и выбрать правильное целевое устройство и который имеет конечную контрольную точку, так что вы можете перепроверить, что вы будете клонировать из iso файла на правильное целевое устройство, например,

  • В Ubuntu: Ubuntu Startup Disk Creator (в Ubuntu 16). 04 LTS и более новые версии),
  • В Linux:

    • Диски под псевдонимом гномовые диски,
    • mkusb,
  • В Windows: Win32DiskImager.

Также можно использовать извлечение инструментов, которые обеспечивают конечную контрольную точку, например

22
ответ дан 2 December 2017 в 23:10

Другие вопросы по тегам:

Похожие вопросы: