4 проверенных метода восстановления данных с SD-карты в Linux

Как восстановить данные с SD-карты в Linux - Руководство 2023

Карты памяти отлично подходят для сохранения информации и переноса ее между цифровыми камерами, мобильными устройствами и различными компьютерами. Однако, когда вы подключили SD-карту к Linux, то обнаружили, что некоторые файлы исчезли или недоступны.

Если вы работаете на Linux, то вскоре обнаружите, что большая часть информации о восстановлении сосредоточена на macOS или Windows. Информации о том, как выполнить восстановление SD-карты в Linux практически нет. К счастью для вас, у нас есть ответы, которые вам нужны. В этой статье мы рассмотрим эффективные методы восстановления файлов с SD-карты в Linux.

Часть 1: Необходимые условия

Когда вы теряете данные с SD-карты, это может быть очень неприятно. Ниже перечислены некоторые условия, которые необходимо соблюсти перед началом процесса восстановления. 

Проверьте, смонтирована ли SD-карта

Первое, что вы должны сделать в такой ситуации, это убедиться, что ваша SD-карта смонтирована. Большинство дистрибутивов Linux настроены на автоматическое монтирование съемных устройств хранения данных. Однако это не всегда происходит. Вы не сможете получить доступ к SD-карте, не смонтировав ее. Поэтому необходимо выполнить следующие шаги, чтобы убедиться, что SD-карта смонтирована и ваш компьютер Ubuntu Linux может ее обнаружить.

Шаг 1: Запустите Терминал, нажав одновременно кнопки "Ctrl + Alt + T". Большинство дистрибутивов Linux рассматривают SD-карты как SATA устройства хранения данных, поэтому вы должны найти их в подпапке "/dev/".

Шаг 2: Чтобы получить доступ к этой подпапке, введите команду: 

ls -l /dev/sd

монтирование sd-карты в linux

Если SD-карта не найдена, ее необходимо смонтировать вручную. Создайте папку в каталоге "/mnt/" и свяжите ее с устройством, к которому вы хотите получить доступ.

Шаг 3: Вы также можете использовать команду "mkdir" для создания новой папки для хранения SD-карты. Поскольку "/mnt/" защищен, вам нужно будет использовать "sudo" для получения временных прав администратора.

Шаг 4: Войдите в папку "/mnt" с помощью команды "cd" ("change Dir"): 

cd /mnt

Шаг 5: Затем создайте новую папку для SD-карты с помощью команды: 

sudo mkdir NAMEOFSD_CARD

создание новой папки для sd-карты в linux

Шаг 6: Теперь вы можете прикрепить основной раздел вашей SD-карты в том же формате, что и список, который вы видели при проверке папки "/dev". Используйте команду: 

sudo mount /dev/SDCARDDEVICE /mnt/SDCARDFOLDER

подключите основной раздел sd-карты

Это все, что вам нужно сделать; вы увидите, что теперь вы можете получить доступ к вашей карте через точку монтирования "/mnt".

карта доступа через точку крепления

Резервное копирование содержимого на SD-карте

Прежде чем приступить к восстановлению данных с SD-карты Linux, необходимо создать резервную копию имеющихся файлов на SD-карте. Это необходимо для предотвращения дальнейшей потери данных после восстановления утраченных данных. Вы можете скопировать данные с SD-карты на компьютер Linux, если размер файла невелик. В противном случае вам понадобится инструмент для резервного копирования данных, чтобы ускорить процесс.

Gddrescue - это хороший вариант для резервного копирования данных в Linux. Вы можете использовать его для резервного копирования данных с SD-карты в файл образа. После процесса резервного копирования вы всегда сможете восстановить данные из файла образа, не беспокоясь о том, что ваша SD-карта выйдет из строя в процессе восстановления данных. Для резервного копирования данных с помощью Gddrescue выполните следующие действия.

Шаг 1: Установите Gddrescue на ваш Ubuntu Linux с помощью команды: 

sudo apt install gddrescue

установите gddrescue для восстановления

Шаг 2: После установки вы можете использовать приведенную ниже команду, чтобы найти вашу SD-карту среди обнаруженных устройств хранения данных: 

lsblk or ls -l /dev/sd*

найдите карту sd в списке

Хотя название инструмента - Gddrescue, команда для его использования - "ddresuce". Вам также придется использовать "sudo" для всего процесса резервного копирования. Чтобы создать резервную копию данных после установки, выполните следующие действия.

Шаг 3: Используйте команду: 

sudo ddresue -d /dev/SDCARDDEVICE/PATH/TO/IMAGE/FILE/IMAGEFILENAME/PATH/TO/LOG/FILE/MAPFILENAME

создание файла изображения для резервного копирования

Приведенная выше команда работает для быстрого резервного копирования. Если вы хотите, чтобы резервное копирование сохраняло большие данные, необходимо использовать параметр "rx". Чем большее число вы используете, тем выше вероятность восстановления. Однако это также означает более высокий период сканирования. 

Шаг 4: Чтобы задать количество повторных попыток в виде числа, введите команду:

sudo ddrescue -dr5 /dev/SDCARDDEVICE/PATH/TO/IMAGE/IMAGEFILENAME/PATH/TO/LOG/FILE/MAPFILENAME

введите количество повторных попыток

Шаг 5: Созданный образ можно смонтировать как устройство хранения данных, когда вы захотите получить доступ к его содержимому. 

Часть 2: 4 метода восстановления файлов с SD-карт в Linux

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

Метод 1: Восстановление SD-карты с помощью дисковой программы Ubuntu GNOME Disk Utility

Первый метод, который вы можете использовать для восстановления данных с SD-карты в Linux, - это GNOME Disk Utility. Этот инструмент восстановления SD-карты в Ubuntu эффективно обеспечивает восстановление доступа ко всем потерянным данным. Она восстанавливает SD-карту, чтобы сделать устройство хранения данных снова доступным. Ниже описаны шаги, которые необходимо выполнить, чтобы восстановить SD-карту в Linux с помощью этой программы.

Шаг 1: Откройте программу GNOME из меню Whisker, Dash или KDE. 

Шаг 2: Найдите имя файла устройства для чтения флэш-памяти. Обычно на нем написано "single flash reader".

определение местоположения карты памяти sd в linux

Шаг 3:Если вы найдете этот параметр под графиком хранилища, щелкните стрелку, направленную вниз, чтобы попытаться смонтировать его. Если он монтируется, то вы можете начать копирование его файлов.

Шаг 4: Иногда на экране появляется надпись "отсутствие медиа". В этом случае попробуйте отключить и снова подключить карту, а затем проверьте, изменится ли что-нибудь. Если это возможно, то нажмите на значок шестеренки и выберите опцию "Создать образ диска".

Шаг 5: Теперь попробуйте сохранить его как файл изображения. Если это удалось, можно переходить к следующему шагу.

Шаг 6: Извлеките карту и вставьте новую SD-карту такого же размера. Запишите образ диска на эту новую карту с помощью меню передач.

Шаг 7: Теперь вы можете смонтировать новую файловую систему. Однако вы должны убедиться, что новая карта полностью пуста, так как при продолжении работы вы можете потерять все файлы на карте.

Шаг 8: Когда вы отмонтируете раздел, а Ubuntu обнаружит его, вы можете запустить проверку согласованности, чтобы гарантировать восстановление файловой системы. Если у вас FAT32, FAT12 или FAT16, введите следующую команду, чтобы начать восстановление:

sudo fsck.msdos -r /dev/sdd1 

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

Шаг 9: Если вы отформатировали карту для работы с файловой системой Linux, просто введите "fsck.ext#". Замените "#" на "ext number" системы, если вы его помните.

Метод 2: Восстановление SD-карты в системе Ubuntu с двойной загрузкой

Если вышеуказанный инструмент восстановления SD-карты Ubuntu не сработал, вы можете использовать систему двойной загрузки Ubuntu для восстановления SD-карты Linux. Если вы устанавливаете Linux вместе с Windows, это лучший вариант.

Вы можете восстановить SD-карту с помощью команды "chkdsk" в командной строке Windows. Хотя в Ubuntu больше шансов восстановить потерянные данные с устройств FAT, Windows поможет вам эффективно восстановить устройства NTFS. Ниже приведены шаги, которые необходимо выполнить для восстановления SD-карты в системе Ubuntu с двойной загрузкой.

Шаг 1: Сначала нужно перезагрузить компьютер, а когда появится GRUB, запросите его начать процесс загрузки Microsoft Windows с помощью ключевого слова.

Шаг 2: После этого откройте окно File Explorer, одновременно удерживая кнопки "Windows + E".

Шаг 3: Теперь найдите букву диска, которую Windows назначила карте памяти, и выберите ее. Windows может попросить вас отформатировать карту памяти; проигнорируйте это предложение.

Шаг 4: Откройте командную строку, найдя "command prompt" в строке поиска и выбрав опцию, когда она появится.

Шаг 5: В командной строке введите:

chkdisk /f E: 

Убедитесь, что вы заменили "E:" буквой диска, которую Windows назначила SD-карте. 

Шаг 6: Если вы получили сообщение об ошибке, значит, Windows не удалось восстановить карту памяти, как Ubuntu. 

Шаг 7: Если у вас нет доступа к Microsoft Windows, вы можете выполнить приведенную ниже команду на Ubuntu:

sudo ntfsfix -d /dev/sdd1

Вам нужно заменить файл устройства на имя карты. Хотя это не Linux-версия "chkdsk", она исправит некоторые несоответствия. 

Шаг 8: Вы также можете использовать следующую команду для создания образа диска карты памяти NTFS, если программа GNOME Disk Utility не справляется с этой задачей:

ntfsclone -so dsk.img /dev/sdd1 

После этого вы сможете восстановить файлы с SD-карты в Linux на чистую карту памяти. 

Метод 3: Восстановление удаленных или потерянных файлов с SD-карты с помощью TestDisk для Linux

Если встроенные средства восстановления SD-карты в Linux не работают, вы можете попробовать такие инструменты восстановления данных, как TestDisk для Linux. Этот инструмент поможет вам восстановить различные типы потерянных файлов с SD-карты в течение нескольких минут. Чтобы восстановить файлы с SD-карты в Linux, следуйте приведенным ниже инструкциям.

Шаг 1: Установите TestDisk с помощью командной строки Linux CLI, введя команду:

sudo apt-get install testdisk

установить testdisk на пк linux

Шаг 2: После установки необходимо проверить SD-карту на наличие потенциально устранимых проблем с помощью TestDisk. Поэтому запустите инструмент, набрав в Терминале "testdisk" и нажав "Enter".

Шаг 3: Выберите "Create" из первого меню, чтобы создать новый файл журнала.

создать новый файл журнала в testdisk

Шаг 4: С помощью клавиш перемещения выберите вашу SD-карту из списка, предоставленного TestDisk. Убедитесь, что вы выбрали "proceed". Вы можете использовать клавиши перемещения влево и вправо, чтобы выделить его. После выбора SD-карты нажмите "Enter".

выберите sd-карту из списка тестовых дисков

Шаг 5: Теперь выберите тип таблицы разделов. Этот инструмент восстановления SD-карты Linux может распознать имеющиеся остатки данных и подсказать лучший вариант для вас. Если вы используете SD-карту для хранения файлов для смартфонов, камер или ПК, выберите "Intel".

выберите тип таблицы разделов

Шаг 6: Выберите "Analyze", чтобы проверить структуру карты на наличие поврежденных или потерянных разделов. Этот шаг очень важен для процесса восстановления.

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

Шаг 7: Если раздел не найден, TestDisk предложит выполнить быстрый поиск. Обычно этот вариант достаточно эффективен, чтобы помочь вам восстановить потерянный раздел. Нажмите "Enter", чтобы продолжить.

выполнять быстрый поиск потерянных файлов

Шаг 8: TestDisk обеспечит отображение каждого расположенного раздела. На картах SD, как правило, только один. Проверьте предоставленную опцию, чтобы изменить тип раздела и сделать его загрузочным. После этого нажмите "Enter", чтобы восстановить потерянный раздел с SD-карты в Linux.

восстановление выбранного раздела sd-карты

Шаг 9: Если TestDisk не нашел ни одного раздела, нужно нажать параметр "Deeper Search". Когда TestDisk завершит поиск и найдет ваш раздел, выберите "Write", чтобы продолжить.

глубокий поиск разделов sd-карты

Шаг 10: Этот шаг запишет таблицу разделов на SD-карту, удалив потерянный раздел. Затем TestDisk предложит перезагрузить компьютер, чтобы новые изменения вступили в силу. Перейдите к кнопке "exit" и выйдите из приложения.

перезагрузка компьютера после восстановления

Это все, что требуется. Надеемся, что после перезагрузки компьютера ваша SD-карта будет доступна, а все потерянные данные будут восстановлены.

Метод 4: Восстановление удаленных или потерянных фотографий с SD-карты с помощью PhotoRec для Linux

Если вы хотите восстановить фотографии с SD-карты в Linux, то PhotoRec - лучший вариант для вас. Если Linux видит SD-карту как устройство хранения данных, но не может определить файловую систему, PhotoRec поможет восстановить ее файлы. В отличие от TestDisk, это приложение для восстановления данных не пытается записать данные на устройство или исправить его; оно просто восстанавливает потерянный файл, чтобы предоставить вам доступ. Выполните следующие шаги, чтобы использовать PhotoRec для восстановления SD-карты Linux.

Шаг 1: Если он у вас не установлен, вы можете загрузить его из хранилища Ubuntu с помощью команды:

sudo apt-get install photorec

Часто его не нужно устанавливать, поскольку он входит в комплект TestDisk. 

Шаг 2: Запустите приложение, введя "photorec" в Терминале после установки. Нажмите "Enter".

Шаг 3: Как и в случае с TestDisk, вы должны выбрать SD-карту из списка устройств, предоставляемого PhotoRec.

выбор карты памяти sd в фоторекордере для linux

Шаг 4: Есть шанс, что PhotoRec обнаружит раздел. Однако лучше всего выбрать "No partition", чтобы приложение проверило весь диск на наличие потерянных файлов.

выберите без раздела для сканирования всего диска

Шаг 5: В программе зайдите в "Options" и выберите опцию "Keep corrupted files". Они, вероятно, будут непригодны для использования, но это позволит вам сохранить разбитые на части тестовые файлы и изображения. Вы также можете включить "Low memory mode" перед выходом со страницы "options".

выбрать сохранение поврежденных файлов

Шаг 6: Вернувшись в главное меню, выберите типы файлов, которые PhotoRec хочет восстановить. Хотя в названии программы указаны фотографии, PhotoRec может восстанавливать не только файлы изображений. 

выбрать типы файлов для восстановления

Шаг 7: Чтобы ускорить процесс сканирования потерянных данных, отключите те типы файлов, которые вы не хотите восстанавливать. 

Шаг 8: PhotoRec также попросит вас выбрать способ сканирования и файловую систему вашей SD-карты. В большинстве случаев лучшим вариантом для вас будет "Others".

выберите файловую систему карты sd

Шаг 9: Теперь необходимо выбрать папку назначения, в которой PhotoRec будет хранить восстановленные файлы.

выберите папку назначения для восстановленных файлов

Шаг 10: PhotoRec начнет сканирование карты памяти на наличие искомых файлов, а затем сообщит о типах файлов, которые на ней находятся. Найдя нужный файл, вы можете остановить процесс.

сканирование sd-карты в linux для поиска потерянных файлов

Шаг 11: По окончании сканирования PhotoRec напомнит вам о количестве восстановленных файлов и папке, в которой были сохранены восстановленные фотографии. 

выход из программы photorec после восстановления

На этом процесс восстановления завершен. Теперь вы можете выйти из приложения и проверить файлы, восстановленные с помощью этого инструмента восстановления файлов. 

Часть 3: Форматирование SD-карты после восстановления данных в Linux

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

Форматирование SD-карты в Терминале

Один из лучших способов форматирования SD-карты - через Терминал, а один из самых эффективных - через "Fdisk". Выполните следующие действия, чтобы отформатировать SD-карту в Терминал Linux с помощью FD.

Шаг 1: Нажмите одновременно "Ctrl + Alt + T", чтобы открыть Терминал.

Шаг 2: Теперь используйте Fdisk на вашей SD-карте, введя команду:

sudo fdisk /dev/SDCARD

Убедитесь, что вы заменили "SDCARD" на название карты.

откройте fdisk для форматирования карты

Шаг 3: Затем введите "p" и нажмите "Enter" , чтобы просмотреть таблицу разделов карты.

выберите таблицу разделов карты памяти

Шаг 4: Введите "n" для создания новой таблицы разделов, затем нажмите "p" , чтобы сделать этот раздел первичным, а затем "1", поскольку вам больше не нужно создавать разделы.

создать новый основной раздел

Шаг 5: Теперь нажмите "Enter", чтобы принять значения по умолчанию для первого и последнего пространства раздела. Это также позволяет использовать доступное дисковое пространство. 

Шаг 6: Если Fdisk обнаружит предыдущую сигнатуру файловой системы, он спросит вас, хотите ли вы сохранить или удалить ее. Выберите удаление, так как вы создаете новый раздел с нуля.

удалить подпись файловой системы

Шаг 7: Теперь нажмите "w", чтобы записать новый раздел на SD-карту, после чего выйдите из Fdisk. 

запись новых разделов на sd-карту

Это все, что вам нужно сделать; ваш новый раздел уже на месте, но вам нужно отформатировать его, прежде чем вы сможете его использовать. 

Шаг 8: Вы можете отформатировать в формате FAT 32, наиболее распространенном в портативных устройствах и компьютерах, введя команду:

sudo mkfs.vfat -F32 -v /dev/sdcl

выберите новый формат файла для sd-карты

Форматирование SD-карты с помощью дисков

Другой способ отформатировать SD, чтобы снова начать его использовать, - это использование дисков. Диски позволяют пользователям легко управлять своими устройствами хранения данных. Такие дистрибутивы, как Linux Mint и Ubuntu, также поддерживают его. Форматировать SD-карту в Linux с помощью Disks довольно просто; выполните следующие шаги.

Шаг 1: Найдите инструменты в меню приложений и запустите их.

инструмент поиска дисков на компьютере linux

Шаг 2: После запуска выберите SD-карту из предложенного списка, а затем создайте новый раздел, нажав на кнопку "Plus".

нажмите кнопку плюс

Шаг 3: Оставьте размер раздела и освободите немного места, следуя указанным настройкам, поскольку вы хотите использовать все доступное пространство на SD-карте.

оставить размер раздела и свободное пространство

Шаг 4: При желании можно задать новое имя для SD-карты. Чтобы получить полный формат, нажмите "Enable" и выберите файловую систему, которую вы предпочитаете. Мы рекомендуем FAT, если вам нужна полная совместимость.

создание новых настроек для sd-карты

Шаг 5: После завершения процесса форматирования вы можете легко подключить SD-карту. Используйте диски, нажав кнопку "Play" под названием карты.

монтировать sd-карту в диски

Часто задаваемые вопросы

Да, существует множество инструментов, которые вы можете использовать для восстановления SD-карты Linux. В зависимости от причины потери данных и того, что вы ищете, четыре метода, представленные в нашем руководстве выше, являются лучшими для восстановления файлов с поврежденной SD-карты.

Рассмотренные выше методы восстановления SD-карты Ubuntu помогут вам восстановить все типы файлов, включая фотографии, с SD-карты.

Не обязательно. Хотя процесс может быть довольно похожим, используемые инструменты обычно отличаются. Одно из отличий этих двух операционных систем заключается в том, что методы Windows обычно основаны на графическом интерфейсе. С другой стороны, методы восстановления Linux обычно основаны на использовании Терминала.

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

Заключение

Как мы уже видели, потеря данных на SD-карте - это еще не конец. Вы можете восстановить данные с SD в Linux, следуя методам, описанным в этом руководстве. В этой статье мы разложили сложный процесс на простые шаги. Восстановление SD-карты в Linux и восстановление работоспособности SD-карты может быть несложным, если вы будете следовать простым шагам, приведенным выше. 

Скачать Бесплатно

Для Windows XP/Vista/7/8/10/11

Скачать Бесплатно

Для macOS X 10.10 - macOS 13

Статьи по теме