Команди за идентифициране и управление на SD картата в Linux

  • Linux идентифицира SD картата като блоково устройство в /dev и я монтира по пътища като /media или /mnt, достъпни чрез команди като lsblk и df.
  • Инструменти като Hardinfo, lshw, dmidecode, lsusb и lspci ви позволяват да получите подробна информация за хардуера и да диагностицирате проблеми с откриването.
  • Специфични помощни програми за съхранение и тестване, като fdisk, lsscsi, pydf, hdparm и F3, помагат за проверка на състоянието и надеждността на SD картата.
  • Комбинацията от системни команди, възстановяване и отдалечен достъп (Samba, SFTP, SSH) улеснява работата със SD карти в Linux от различни среди.

Команди за идентифициране на свързаната SD карта в Linux

Ако идвате от Windows и току-що сте попаднали на Linux, е доста често срещано да се чудите къде, по дяволите, е вашата SD карта. Не виждате обичайните си C: и D: устройства, не можете да намерите нищо в /mnt, а пътят /media ви звучи като безсмислица.Отваряте емулатор, RetroArch или която и да е друга програма, която ви моли да изберете „Зареждане на съдържание“ и се взирате в екрана, мислейки си: но къде е моята SD карта в тази странна система?

Освен това, нещата се усложняват, когато започнете да виждате километрични маршрути като /var/.local/каквато и да е/другапапка/morefoldersСкрити директории, които не се показват във файловия мениджър, освен ако не ги въведете ръчно, и команди, които сякаш са предназначени да изплашат някого. Не се притеснявайте: под всички тези странни имена, Linux има много ясна логика за идентифициране, монтиране и управление на SD картата и с няколко добре подбрани команди можете да я локализирате, проверите, да тествате състоянието ѝ, да възстановите данните ѝ и дори да проверите дали паметта е надеждна.

Как Linux разпознава SD карта и защо не виждате C: или D:

Linux няма букви на устройства като Windows; Всичко се управлява като файлове и директории в root /Всяко устройство за съхранение (твърди дискове, SSD, USB устройства, SD карти и др.) е представено като специален файл в / dev /, и след това се „монтира“ в точка във файловата система, която обикновено е в / половината o /run/media според разпределението.

Когато поставите SD карта, ядрото открива ново блоково устройство, обикновено наречено / Сътрудничество / SDX (където X е буква: a, b, c…) или в някакво интегрирано оборудване, като например /dev/mmcblk0. Всеки дял на тази карта е представен като /dev/sdX1, /dev/sdX2 и т.н. и, ако дистрибуцията го е конфигурирала, то автоматично се монтира към път като /media/USER/TAG.

Тук започват съмненията: Много емулатори, файлови мениджъри или по-стари програми не показват директно /mediaИли може би сте свикнали да виждате „Сменяем диск“, а сега всичко е само с имена в /dev и безкрайни пътища. Ето защо е важно да знаете ключовите команди за изброяване на хардуер за съхранение и локализиране на тази проклета SD карта.

SD Card

Основни команди за намиране на свързаната SD карта

Първата стъпка, за да спрете да се борите с абсурдни маршрути, е да се научите да питате системата какви устройства са свързани. Linux предлага няколко конзолни инструмента, които изброяват дискове, дялове и точки на монтиране. съвсем ясно, след като свикнеш.

Най-удобната команда в повечето дистрибуции е lsblkИзпълнете следното в терминала:

lsblk

С тази команда ще видите таблица с имена като sda, sdb, sdc, техните дялове (sdb1, sdb2…) и колони с типа на устройството, размера и, много важното, ТОЧКА НА МОНТАЖ. SD картата обикновено се появява като най-малкото „допълнително“ устройство в сравнение с основния ви твърд диск.Например, ако имате вътрешен SSD (sda) от 512 GB и включите SD карта от 16 GB, вероятно ще го видите като (sdb) с размер 14-16 GB.

Ако искате да видите директно всички точки на монтиране и файлови системи, можете да използвате:

df -h

Тази команда показва къде са монтирани устройствата, с пътища като /media/USER/SD_NAME. Това е особено полезно, когато графичната среда е монтирала автоматично картата. И просто трябва да знаете кой път да изберете в RetroArch или всяко друго приложение, за да получите достъп до вашите ROM-ове или файлове.

Друг класически начин за изброяване на наличните дялове е:

Sudo Fdisk-л

Тази заповед учи всички таблици на дяловете на откритите дисковеЩе видите нещо като /dev/sdb: 14.8 GiB, тип дял, файлова система и т.н. По-подробно е от lsblk, но е много полезно, когато подозирате, че картата е повредена, няма таблица на дяловете или искате да видите подробности на ниско ниво.

В някои случаи (особено на лаптопи или платки тип Raspberry Pi) вашата карта може да изглежда като:

/dev/mmcblk0, /dev/mmcblk1…

с прегради /dev/mmcblk0p1, /dev/mmcblk0p2И др Командата lsblk също открива тези устройства.Така че това е най-удобният за потребителя вариант за ежедневна употреба.

Къде е монтирана SD картата и как да получите достъп до нея от приложенията

След като картата бъде идентифицирана, следващият въпрос обикновено е: „Добре, знам, че е /dev/sdb1, но Къде точно се намират моите файлове в системата от директории?Тук влизат в действие сборните точки.

На съвременните настолни компютри (Ubuntu, Debian, Mint и др.), системата обикновено монтира SD карти автоматично в:

/media/ВАШЕТО_ПОТРЕБИТЕЛСКО_ИМЕ/ЕТИКЕТ_НА_КАРТАТА

Ако не сте сигурни, комбинирайте го с:

lsblk -f

Този вариант също показва етикетът и UUID на всеки дял, а колоната MOUNTPOINT ви показва точната директория, където е монтиран. Това е пътят, който трябва да намерите по-късно, използвайки RetroArch, файлов мениджър или която и да е програма, която ви моли да изберете папка.Вместо „Диск D:“, ще помислите „/media/user/My_SD“.

Ако вашата среда не монтира автоматично картата, ще трябва да го направите ръчно. Типичен работен процес би бил:

sudo mkdir -p /mnt/misds
sudo mount /dev/sdb1 /mnt/misds

След това ще можете да навигирате до /mnt/misds за достъп до файловете. Ако вашата SD карта има дял с различна файлова система (например exFAT), може да се наложи първо да инсталирате съответните драйвери (например exfat-предпазител или подобни пакети в зависимост от дистрибуцията).

Относно „скритите“ директории, като например .местен Ако не го виждате във файловия мениджър, не забравяйте, че в Linux Всичко, което започва с точка, се счита за скрито.Ако браузърът ви е конфигуриран да ги скрива, няма да видите /var/.local, въпреки че съществува. Нормално е в Linux да се обработват много дълги пътища под /var, /home/.config, /usr/local и т.н., но вашата SD карта не е задължително да е заровена там: тя почти винаги ще бъде в някоя поддиректория на / половината o / mnt.

SD карта с Linux

Преглед на подробна информация за системата и хардуера (включително SD картата)

Ако вече знаете основите и искате да се задълбочите, Linux разполага с много подробни инструменти за проверка на хардуера и системата.Те са особено полезни, когато имате нужда от поддръжка във форума, за диагностициране на проблеми с разпознаването на SD карта или просто за да опознаете компютъра си отвътре и отвън.

Много удобна графична опция е hardinfoТова е приложение, достъпно в повечето хранилища за дистрибуции на GNU/Linux. Можете да го инсталирате от софтуерния център, със Synaptic или чрез терминала, използвайки мениджъра на пакети на вашата система. След като бъде инсталиран, можете да го стартирате от менюто с приложения или като изпълните hardinfo в терминал..

Hardinfo организира информацията в четири основни блока: Оборудване, устройства, мрежа и бенчмарковеВ секцията „Оборудване“ ще видите информация за операционната система. версия на ядрото, заредени модули, файлови системи, потребители, компилатори, променливи на средата и много други подробности, които обикновено искат, когато попитате в технически форум.

В раздела „Устройства“ ще намерите процесор, RAM, PCI и USB устройства, устройства за съхранение (дискове и контролери), сензори, батерия, входни устройства, дънна платка и още Вашата SD карта обикновено ще се появи в секцията за съхранение, показвайки ви модела, открит от ядрото, и други параметри.

Накрая, Hardinfo включва и раздел за еталони което ви позволява да натоварите системата, за да измерите производителността и температурите, нещо полезно, ако подозирате, че дадена карта или четец се държи нестабилно под натоварване.

Конзолни команди за изучаване на софтуер, ядро ​​и архитектура

Освен че знаете къде се намира SD картата, в много случаи ви е необходимо системни данни за отстраняване на проблеми със съвместимостта или за заявка на помощЕто някои ключови команди, свързани със софтуера и средата:

За да видите използваната версия на ядрото:

uname-R

Ако това, което искате, е да знаете архитектура на вашата система (например, за да знаете кои пакети да изтеглите):

uname-т

За да проверите името и версията на дистрибуцията (особено полезно, когато следвате уроци):

lsb_release -a (в дистрибуции, които го включват) или прочетете съдържанието на /etc/os-release.

За да видите текущ потребител този, с когото работите:

Whoami

И да покажем име на машина (име на хост):

име на хост

Ако някой гид ви помоли да изброите модули, заредени в ядротоОсобено когато има проблеми със съхранението или USB контролерите, използвайте:

lsmod

В контекста на съхранението е важно да се знае и конфигурацията на swap паметта, която можете да проверите с:

swapon –покажи

И ако имате нужда да видите UUID на всички дялове (уникални идентификатори, които някои дистрибуции използват в /etc/fstab за постоянно монтиране на дискове и SD карти):

blkid

SD карта с Linux

Команди за изброяване и управление на хардуер

След като сте проверили, че вашата SD карта „съществува“, но подозирате хардуерни проблеми, има команди, които ви дават общ преглед на устройството. lshw Това е едно от най-пълните:

sudo lshw | по-малко

Тази команда изброява целият хардуер в много подробен форматИзходът е дълъг, така че обикновено се номерира с less или се пренасочва към текстов файл за внимателен преглед:

sudo lshw > hardware.txt

Ако искате по-компактен изход, можете да пропуснете опции като -къс:

sudo lshw -късо

Друг много често срещан инструмент за описание на хардуера, достъпен от BIOS/UEFI, е dmidecode:

sudo dmidecode -q >> hardware.txt

Информацията, предоставена от dmidecode, е обширна и понякога донякъде загадъчна, но Може да ви помогне да идентифицирате модела на дънната платка, контролерите и други елементи, които влияят върху начина, по който се разпознава SD картата..

Специфични инструменти за устройства за съхранение

За да се съсредоточим върху дискове, SSD дискове, USB устройства и SD карти, в допълнение към lsblk, df и fdisk, има някои много практични допълнителни помощни програми. lsscsi Списък на SCSI/SATA устройства (включително много четци и карти за SD карти):

sudo apt инсталира lsscsi
lsscsi

Това ще ви покаже списък с устройства за съхранение и оптични устройстваВашата SD карта може да се появи там, ако четецът я разпознае като SCSI/SATA устройство на системата.

За да видите използването на пространството по удобен за потребителя начин, можете да използвате pydfПодобрена версия на df в Python, която показва информация с цветове:

sudo apt инсталира pydf
pydf

Друг усъвършенстван инструмент е hdparmТози инструмент ви позволява да преглеждате и настройвате параметрите на диска. Той е мощен и трябва да се използва с повишено внимание, но за да видите информация, можете да изпълните:

sudo hdparm -I /dev/sdX

замяна на sdX с устройството, което съответства на вашата карта. Ще получите информация за модела, възможностите, режимите на трансфер и други.Не е от съществено значение за ежедневието, но е добре да се знае, че съществува.

Проверете RAM, PCI и USB устройства

Въпреки че не е пряко свързано със SD картата, Цялостното състояние на системата влияе върху поведението на устройствата за съхранение.За да проверите бързо наличната RAM памет и използването на swap, използвайте:

безплатно -m

Това ще ви покаже обща памет, използвана памет, свободна памет и суап в мегабайти. Полезно, ако подозирате, че системата не разполага с необходимите ресурси, докато копира големи файлове на SD картата.

За да изброите PCI устройства (мрежови карти, контролери, графични карти и др.):

lspci

И за да проверите свързаните USB устройства, включително много външни четци за SD карти:

lsusb

С lsusb можете бързо да потвърдите дали USB четецът открива нещоАко при свързване на картата не се появят промени в lsusb или dmesg (ще видим това сега), четецът или самата карта може да са повредени.

SD картата не е открита: използване на dmesg и случаи на корупция

Много често срещан проблем е прекъсването на връзката с картата. докато се пише за неяНапример, използване на `dd` за запълване с нули или създаване на образ. Ако го премахнете по средата на процеса, може да се окажете с карта, която вече не се монтира или не се показва в `lsblk` или `fdisk`. Ето защо е полезно да знаете как защита срещу запис на USB или SD карта.

Когато това се случи, първото нещо, което трябва да направите, е проверете съобщенията на ядрото с dmesgВместо да търсите файл /var/log/dmesg (който не съществува като отделен файл в много дистрибуции), просто изпълнете следната команда в терминала:

dmesg | опашка -n 50

Веднага след поставянето на SD картата. Там ще видите дали ядрото е открило грешки при опит да го прочете.Съобщения за грешки при входно/изходни операции, проблеми с контролера, предупреждения, че таблицата с дялове не може да бъде прочетена и др.

Ако dmesg не показва абсолютно нищо ново, когато поставите картата, но открива други карти или USB устройства, вероятно е това... картата е физически повредена и няма какво много да се направи, освен да се тества с други четци и, ако все още е същото, да се счита за изгубено.

Когато картата се появи в dmesg, но не и във fdisk -lo lsblk, можете да опитате да използвате инструменти на ниско ниво (например, принудително четене с ddrescue), за да се опитате да клонирате каквото можете на друго устройство за съхранение, въпреки че Ако вътрешната електроника е повредена, възможностите са много ограничени..

Възстановяване на данни от SD карта в Linux

Ако проблемът не е, че картата е „умряла“, а че Загубили сте файлове, папки са изчезнали или файловата система е повредена.Все още имате много опции от Linux за възстановяване на информация.

Първото нещо е да не се паникьосвате: Всяко ново писане върху картата намалява шансовете ви за успех.В идеалния случай трябва незабавно да спрете да го използвате и, ако е възможно, да направите пълно копие на картата във файл с изображение, използвайки dd или подобни инструменти (напр. ddrescue), и да работите върху това изображение. Ако планирате да го използвате повторно, може да искате... формат SD карта след възстановяване на данните.

Преди да започнете процеса на възстановяване, уверете се, че картата е монтирана (или поне видима като устройство в /dev). За да проверите дали дистрибуцията я разпознава, знаете процедурата: lsblk, fdisk -ly и dmesg са вашите съюзници.

Има няколко метода и инструмента за възстановяване на данни, от конзолни помощни програми до приложения с графичен интерфейс. В Linux много решения за възстановяване са базирани на терминали.За разлика от Windows, където преобладават графичните инструменти, логиката обикновено е една и съща: сканиране на суровото устройство, търсене на файлови сигнатури, реконструкция на структури и копиране на друг носител за съхранение.

Освен това винаги се препоръчва първо извлечете цялата информация, която все още е нормално достъпна (копиране на файлове, които все още са видими, правене на снимки и др.) преди започване на процес на дълбоко възстановяване, тъй като това може допълнително да натовари картата и да ускори евентуална пълна повреда.

Проверете дали SD картата или USB устройството са фалшиви или дефектни (F3)

Друг сценарий, който може да ви звучи познато, особено ако сте купили евтини картички в сайтове като eBayТова поражда съмнения, че рекламираният капацитет не е реален или че данните се повреждат много лесно. За тази цел има фантастичен инструмент за Linux, наречен F3 (Борба с флаш измамите).

F3 е съставен предимно от два двоични файла: f3write y f3readИдеята е проста, но много ефективна: f3write запълва файловата система на картата с 1 GB файлове, наречени NNNN.fff (0001.fff, 0002.fff…), докато цялото свободно пространство бъде заето; след това f3read проверява съдържанието на тези файлове. Ако всичко е валидирано правилно, паметта има обявения капацитет и не поврежда данните.Ако има корумпирани сектори или фалшиви възможности, това ще излезе наяве.

За да използвате F3, първо трябва да изтеглите изходния код от техния уебсайт и да го компилирате. Например, можете да изтеглите zip файла от / TmpСлед това създайте работна директория:

mkdir -p ~/src/f3
cd ~/src/f3
разархивирайте /tmp/f3v2_1.zip

Уверете се, че имате инсталиран пакет за изграждане (например изграждане на-важно (на Debian/Ubuntu) и компилирайте:

направете Линукс

След няколко секунди ще имате двоичните файлове в директорията f3write y f3readСега, с монтирана SD карта (например в /медия/10DF-6679/), изпълнявате:

./f3write /media/10DF-6679/

Ще видите, че създава файлове като 0001.fff, 0002.fff и т.н., а накрая ще ви покаже свободното пространство и средната скорост на запис. Когато приключи, трябва да валидирате с:

./f3read /media/10DF-6679/

Резултатът ще покаже, за всеки файл, колко сектора са правилно, повредено, леко променено или презаписано...както и окончателно обобщение, показващо количеството валидни и загубени данни. Ако всичко изглежда наред и няма повредени сектори или загубени данни, можете да се чувствате съвсем уверени, че носите тази карта на пътуването си и сте сигурни, че не е „цифров боклук“.

Достъп до SD картата на Raspberry Pi или друго устройство от Windows

Ако използвате Raspberry Pi или друг Linux miniPC и обикновено работите с Windows, може би ще искате манипулирайте файлове на SD картата, без постоянно да стартирате и спирате оборудване.Ето няколко доста удобни варианта.

Най-гъвкавият вариант е да активирате някаква отдалечена услуга на Raspberry Pi (или Linux машина) и Достъп през мрежа от WindowsНякои възможности:

– Монтиране на споделени папки с Самбатака че да се показват като мрежови ресурси в Windows File Explorer.
- Използвайте SFTP (например с WinSCP), за да се свържете със SSH сървъра на устройството и да плъзгате/пускате файлове.
– Свържете се чрез SSH Ако искате да редактирате настройките и да работите директно в терминала.

Ако предпочитате да не докосвате мрежовите настройки, друга възможност е да използвате Linux LiveUSB на вашия компютър с Windows. Стартирайте от USB устройството, дистрибуцията ще открие SD картата на Raspberry Pi и ще можете да работите с нея с всички обичайни инструменти на Linux. Ако трябва да създадете USB устройството, можете да научите как да го направите. Създайте стартиращо USB устройство от терминала.

Третият начин е инсталиране на виртуална машина с Linux (VirtualBox, VMware и др.) на Windows и свържете SD картата като USB устройство. По този начин виртуалната машина ще я вижда като друг диск и можете да монтирате и променяте съдържанието ѝ, без да е необходимо да изключвате основната си система.

Команди, свързани с графика, звук и мрежа (за по-пълна диагноза)

Въпреки че на пръв поглед тези области може да изглеждат несвързани с вашата SD карта, в много случаи проблеми с производителността, проблеми с драйверите или сривове по време на копиране на файлове Това се дължи на по-общи аспекти на системата, като например графичната карта, аудиото или мрежовата конфигурация.

За да изброите PCI/PCIe видеокарти, можете да използвате:

lspci | Впиши-VGA

Ако искате да проверите графичната производителност, има класически тест за предавки (glxgears), който можете да стартирате за ограничено време с:

изчакване 60 glxgears

В продължение на 60 секунди ще видите прозорец с анимацията на три зъбни колела и в терминала среден брой кадри в секунда (FPS)Това не е сериозен бенчмарк, но служи за бърза проверка дали графичният сървър реагира.

За да видите текущата резолюция и честота на опресняване на екрана, можете да изпълните:

xrandr

Тази команда изброява и всички резолюции, поддържани от вашите монитори, което е полезно, ако ще използвате компютъра като медиен център за достъп до съдържанието на SD картата на телевизор или външен дисплей.

Що се отнася до звука, Linux предлага помощни програми за тествайте високоговорителите в различни конфигурации: моно, стерео или 5.1 системи. Например, с инструменти като тест на високоговорителя Можете да провеждате тестове, за да проверите разположението на каналите и да регулирате силата на звука и връзките, докато слушате тестовите звуци.

В секцията „Мрежа“ можете да изброите кабелни PCI карти с:

lspci | grep -i Ethernet

и безжични карти с:

lspci | grep -i безжичен или подобно, според случая.

Ако трябва да видите Таблица за маршрутизиране За да разберете защо компютърът ви не осъществява правилен достъп до мрежови ресурси (например NAS, където съхранявате копия на SD картата), можете да използвате:

ip маршрут

Целият този набор от команди, макар и да не е фокусиран върху SD картата, Това ви помага да получите глобална диагноза на систематакоето е ключово, когато подозирате проблеми със стабилността или сривове по време на интензивно копиране или възстановяване на данни.

След като разгледаме целия този набор от инструменти и команди, става по-ясно, че работата със SD карта в Linux не е въпрос на черна магия, а по-скоро разбиране къде се намират устройствата (/dev), как са монтирани във файловата система (/media, /mnt), какви помощни програми имате, за да видите състоянието на хардуера (lsblk, fdisk, lshw, dmidecode, lsusb, lspci), как да възстановите данни, когато нещо се обърка, и, ако подозирате фалшиви карти с памет, как да ги тествате с F3. С тези знания, навигирането по дълги пътища, използването на RetroArch или отстраняването на неизправности, поради които вашата SD карта не се показва, престава да бъде разочароващо и се превръща просто в въпрос на прилагане на правилната команда в точното време.

SD карта
Свързана статия:
Как да форматирате SD карта