Когато ще записвате изображение на карта с памет USB в ЛинуксЕдин от най-често задаваните въпроси е да знаете с пълна сигурност кое устройство съответства на вашето USB устройство: /dev/sda, /dev/sdb, /dev/sdc… ли е?Грешка тук може да означава презаписване на твърдия диск вместо на USB устройството, така че е най-добре да бъдете педантични и да имате няколко надеждни метода за идентифицирането му, без да обърквате нещата.
В тази статия ще видим, в подробен и практиченКак да откриете идентификатора на вашето USB устройство в Linux без да правите грешки, какви графични и конзолни инструменти можете да използвате, как да се възползвате от UUID, за да го монтирате винаги по един и същи начин, какво да правите, ако системата не го разпознава или дава странни грешки и дори как да проверите дали паметта е фалшива или дефектна и какво да правите с нея.
Защо е толкова важно правилно да идентифицирате USB устройството си?
В Linux всички устройства за съхранение са представени като специални файлове в / разработка (например /dev/sda, /dev/sdb1и т.н.). Когато пишете изображение с dd, Вентой или подобен инструмент; ако използвате грешно устройство, може да се окажете изтриване на твърдия диск вместо USB устройството. Ето защо е важно да знаете със сигурност кой е правилният идентификатор.
Освен това, когато работите с множество дискове или USB устройства, редът може да се промени: днес вашата памет е / Сътрудничество / SDB и утре ще бъде / Сътрудничество / ШАРСЗа да избегнете проблеми, е много полезно да научите как да проверявате системата, да идентифицирате новосвързаното USB устройство и, когато е уместно, да използвате по-стабилни идентификатори, като например... UUID.
Използване на графични инструменти: примерът с CPU-G
Ако предпочитате нещо визуално, има приложения като CPU-G които не само показват системна информация, но и помагат за идентифицирайте дисковете и дяловетеВ една от последните си версии, тя включва раздел, наречен „Записи“ където можете да видите с един поглед свързаните устройства за съхранение.
Този раздел изброява различните монтирани прегради, като за всеки от тях се посочва неговото име на устройство (например, /dev/sdb1), на точка на монтиране (например, /media/user/USB), на общ капацитет и текуща употребаПо този начин можете лесно да разпознаете какво представлява всяко нещо, особено ако включите USB устройството и видите какво ново устройство се появява.
Тази информация с един поглед е много удобна: просто погледнете приблизителен капацитет на вашето USB устройство (8 GB, 16 GB, 64 GB и т.н.) и точката му на монтиране, за да знаете точно на което съответства /dev/sdX1Това е особено полезно, ако след това искате да използвате този маршрут за запишете ISO файл от терминала или коригирайте настройките за монтаж.
CPU-G, в допълнение към този раздел за дисковете, включва раздел, посветен на батерия на устройствотоТой показва данни като действително напрежение, проектно напрежение, текущо натоварване, проектно натоварване и ток, всичко това в в реално времеТова е полезно за наблюдение на състоянието на батерията и прогнозиране кога е препоръчително да я смените.
В предишни версии приложението се сриваше на настолни компютри без батерия, особено при опит за достъп до тези данни. В по-нови версии Коригирано е Проблемът: ако устройството няма батерия, този раздел просто не се появява и програмата функционира нормално.
Грешките в раздела също бяха коригирани. Система, свързани с това как да се получи версията на Xorg на някои компютри, така че сега страницата със системна информация се показва правилно на повече конфигурации.
В дистрибуции като UbuntuCPU-G обикновено не се намира в официалните хранилища, но можете Инсталирайте го лесно от PPA изпълнение на команди в терминал, като например add-apt-repository, apt update и apt install cpu-gСлед като бъде инсталиран, разделът за диск се превръща в лесен начин да проверите кое устройство е вашето USB устройство, преди да направите нещо деликатно.
Проверете дали системата разпознава USB устройството

Преди да навлезем в подробности, струва си да знаем дали вашият Linux Всъщност разпознава USB устройството.Има два типични сценария: системата дори не вижда устройството или го открива, но Нямате достъп до съдържанието му или го сглобете правилно.
Много полезна първа проверка е да се използва lsusbТази команда е предназначена да изброи всички USB устройства, които системата разпознава в момента. Просто отворете терминал и изпълнете:
lsusb
Изходът ще покаже редове с шината, номера на устройството, Производител и идентификатор на продуктаи кратко описание. Например, може да видите нещо подобно:
Bus 003 Device 002: ID 13fe:1d00 Kingston Technology Company Inc. DataTraveler 2.0 1GB Flash Drive
Ако вашето USB устройство е в списъка тук, това означава, че системата Разпознава го като USB устройствоВъпреки че все още не знаем на кой /dev/sdX съответства. Ако изобщо не се появи, проблемът обикновено е в хардуера (USB порт, кабел, повредена памет) или на много ниски нива на системата.
Командата lsusb Той служи не само за спомени, но и за мишки, клавиатури, камери, USB мрежови адаптери и др.Той предлага няколко интересни опции: с -v Получавате много подробен списък на всяко устройство, с -t Виждате топологията под формата на дърво, с -d производител:продукт Филтрирате по конкретно устройство и с -s шина:устройство Остава ви един-единствен конкретен запис.
Например, за да покажете цялата информация за конкретно устройство, можете да направите следното:
lsusb -v | less
Или за да видите йерархията на USB устройствата:
lsusb -t
И ако имате нужда от подробности за конкретно устройство, представено от файл в /dev/bus/usb/, можете да стартирате:
sudo lsusb -D /dev/bus/usb/001/002
С тези вариации, lsusb Това се превръща в много полезен диагностичен инструмент: позволява ви да потвърдите, че вашето USB устройство е свързано, да видите производителя и модела му и да изключите сериозен физически проблем от самото начало (ако не се появи, значи нещо сериозно не е наред).
Идентифицирайте правилното устройство /dev, използвайки системни команди
След като се потвърди, че USB устройството е в системата, следващата стъпка е да разберете какво име на устройството е в /dev Той ви е бил присвоен. В Linux дисковите устройства обикновено се показват като /dev/sda, /dev/sdb, /dev/sdcи неговите дялове като /dev/sda1, /dev/sdb1 и др..
Консултирайте се с blkid, за да видите устройства и файлови системи
Много практичен начин за преглед на откритите устройства за съхранение и тяхната файлова система е чрез използване на командата blkidМожете да го стартирате с права на суперпотребител, за да получите цялата информация:
sudo blkid
Изходът ще покаже редове, подобни на:
/dev/sda1: UUID="xxxx-xxxx" TYPE="ext4"
/dev/sdb1: UUID="yyyy-yyyy" TYPE="vfat"
Тук ще видите, за всеки устройство за съхранение, неговата уникален идентификатор (UUID) и тип файлова система (ext4, vfat, ntfs и др.). Това, освен че ще ви помогне да идентифицирате USB устройството по файловата му система или приблизителния му размер, ще бъде ключово по-късно, за да монтирате винаги едно и също устройство, използвайки неговия UUID.
Ако вече знаете кое устройство ви интересува (например, подозирате, че е / Сътрудничество / sdb1), можете директно да стесните заявката:
sudo blkid /dev/sdb1
С тази команда получавате UUID на дялакойто е стабилен идентификатор, дори ако пътят /dev/sdX, който системата използва, за да го види, се промени. Това се използва широко в / И т.н. / fstab за да се избегнат проблеми при промяна на реда на дисковете.
Използвайте vol_id като алтернатива (когато е налично)
На някои по-стари системи или с инсталирани определени инструменти може да срещнете командата том_идентификаторкойто се използва и за показване на информация за устройство за съхранение. Използва се подобно на blkid:
vol_id /dev/sdb1
Този инструмент обикновено показва доста Изчистете етикета, UUID и типа на файловата системаВъпреки че в днешно време blkid По-често срещано и стандартно е, ако имате инсталиран vol_id, можете да използвате който и да е от тях, за да получите UUID на USB устройството.
Монтирайте USB устройството ръчно, като използвате неговия идентификатор.
След като разберете кое устройство съответства на вашата USB памет (например / Сътрудничество / sdb1Можете да го монтирате ръчно, ако по някаква причина работната среда не го прави автоматично. Типичната процедура е да създадете точка на монтиране и след това да използвате монтиране:
sudo mkdir -p /media/externaldisk
sudo mount /dev/sdb1 /media/externaldisk
Общият синтаксис е прост: път_към_монтиране на устройствоОт този момент нататък ще имате достъп до съдържанието на USB устройството в избраната от вас директория (в примера, /media/externaldisk или /media/usb, ако предпочитате това име).
Този подход е много полезен, когато графичната среда не монтира автоматично паметта, както понякога се случва в някои настолни компютри или в минималистични системиАко обаче монтирате грешно устройство, обикновено няма да повредите нищо, но може случайно да монтирате различен дял и да объркате данните си.
Откриване на USB устройства в среди, където те не се монтират автоматично
На някои настолни компютри, като например определени конфигурации на KDEВъзможно е да включите USB устройство и Не се монтира автоматичноДокато в други среди, като GNOME, работи без проблеми. В тези случаи ще трябва да извършите известна „детективска работа“, за да разберете кое системно устройство представлява вашето USB устройство.
Една стратегия включва използването на инструментите в пакета sg3-utilsкоито ви позволяват да работите с общи SCSI устройства. Първо, ще инсталирате пакета (например с apt-get инсталиране sg3-utils на Debian/Ubuntu-базирани системи) и след това бихте използвали команди като sg_map y sg_scan.
Командата sg_map Показва съпоставяне между устройствата /dev/sgX (общ SCSI) и техните дискови или CD/DVD еквиваленти, например:
/dev/sg0 /dev/sda
/dev/sg1 /dev/scd0
/dev/sg2 /dev/scd1
Ако тичаш sg_map Преди да поставите USB устройството, а след това отново след включването му, можете да видите какъв нов ред се е появил. Новото устройство (например /dev/sg3 /dev/sdb) ще бъде вашето USB устройство и там ще знаете, че свързаният диск е / Сътрудничество / SDB.
За повече информация относно тези устройства, sg_scan -i Много е показателно. Показва подробности като модел, тип устройство и т.н. Ще видите нещо подобно:
/dev/sg3: Kingston DataTraveler 2.0 PMAP
Това ясно показва, че /dev/sg3 Това съответства на USB устройството Kingston, което току-що свързахте. Комбинирането на тази информация с резултата от sg_mapСъс сигурност ще потвърдите, че паметта ви изглежда така / Сътрудничество / SDB в системата (и обикновено нейният дял ще бъде / Сътрудничество / sdb1).
Ако искате да валидирате и това, което ядрото е видяло, можете да изпълните:
dmesg | tail
След включване на паметта, последните редове на dmesg Те обикновено показват съобщения, указващи, че е открит нов диск, неговия размер в сектори, състоянието на защитата от запис и, много важно, появата на дялове като sdb1Нещо подобно:
sdb: sdb1
sd 3:0:0:0: Attached SCSI removable disk
С това имате всичко: знаете, че паметта ви се разглежда като / Сътрудничество / sdb1 и можете да го сглобите с:
sudo mount /dev/sdb1 /media/usb
Този процес изглежда малко като „криминалистично разследване“, но в ситуации, когато графичната среда се повреди, той е изключително полезен за продължаване на работата с вашите USB устройства, без да се разчита на автоматично монтиране.
Използвайте UUID на USB устройството за безпроблемно монтиране
Много надежден начин да идентифицирате вашето USB устройство (и всяко друго устройство за съхранение) е да използвате неговото UUID, универсално уникалният идентификатор, свързан с файловата система. За разлика от /dev/sdb1 или /dev/sdc1, които могат да се променят в зависимост от реда на свързване, UUID остава постоянен стига да не преформатирате устройството.
Това е особено интересно, ако искате да конфигурирате / И т.н. / fstab настройка с определени опции по подразбиране (например за решаване на проблеми на език и акценти Когато монтирате USB устройства с файлови системи като vfat или ntfs, вместо да указвате устройството чрез пътя му /dev, можете директно да използвате неговия UUID.
Както видяхме преди, можете да получите UUID с blkid или с том_идентификатор, например:
sudo blkid /dev/sdb1
Резултатът ще включва нещо подобно:
UUID="1234-ABCD" TYPE="vfat"
С тази стойност можете да редактирате / И т.н. / fstab и добавете ред като този:
UUID=1234-ABCD /media/usb vfat defaults,uid=1000,gid=1000,utf8 0 0
По този начин се уверявате, че това конкретно USB устройство Винаги трябва да се монтира с правилните опции, независимо кой /dev/sdX му присвоява системата при всяко зареждане. Този подход може да се приложи и за твърди дискове, камери, SD карти и др., стига да имат файлова система.
Какво да направите, когато USB устройството ви дава грешки или изглежда фалшиво
Не всички проблеми с USB устройствата са просто въпрос на правилното им идентифициране. Понякога системата ги открива, но не можете да копирате много данни, появяват се входно-изходни грешки, отчетеният размер не съответства на реалността или инструменти като... f3сонда Те предупреждават, че нещо мирише лошо.
В реалния свят е доста често срещано да се намерят USB устройства фалшив Например, те рекламират 64 GB на корпуса, но вътрешно имат само 16 GB функционални. Фърмуерът заблуждава операционната система да вярва, че капацитетът е много по-голям, отколкото е в действителност, и когато превишите физическия размер, започват грешки, повреда на данните или неуспехи при запис.
Инструменти като f3 (Fight Flash Fraud) са идеални за откриване на тези ситуации. Едно от техните приложения, f3сондаПозволява ви да тествате устройството, да записвате и четете данни и да определите дали паметта е оригинална или е подправена. Когато го стартирате на устройството (например, f3probe –деструктивен /dev/sdb), ще провери пространството и ще покаже отчет.
Ако инструментът открие, че устройството е подозрително, може да покаже съобщения като: „Лоши новини: Устройството `/dev/sda` е фалшификат от тип limbo“или директно да показват, че устройството е повредено. Вътрешната класификация „забрава" обикновено се използва, когато f3probe не може надеждно да картографира паметта поради сериозни грешки: на практика това означава, че Устройството е фалшиво или не може да бъде възстановено за надеждна употреба.
В други случаи f3probe съобщава, че устройството има по-малък използваем капацитет от които декларира. В резултатите му обикновено се появява поле. „използваем размер“ който показва действителния размер, както в гигабайти, така и в брой блоковеАко например, флашката памет твърди, че е 64 GB, но f3 показва, че има само 16 GB използваема свободна памет, имате работа с фалшиво, но потенциално фалшиво USB устройство. повторно използваема до действителния си размер.
Предвид този сценарий, имате основно два пътя: предявете иск за гаранция или опитайте адаптирайте паметта към действителния ѝ размерВ идеалния случай трябва да предявите рекламация, особено ако наскоро сте го закупили и имате касова бележка; но ако решите да го запазите и да използвате това, което работи, f3 включва инструмента. f3fix за да регулирате устройството.
Процесът включва използване на стойността на блока, посочена от f3probe, и изпълнение на нещо подобно:
sudo f3fix --last-sec=<numero_de_bloques> /dev/sda
Това преконфигурира устройството, така че операционната система да вижда само използваемото пространство. След като операцията приключи, се препоръчва да... изключете и свържете отново памет и след това форматирайте дяла в резултат. От този момент нататък системата ще го вижда като по-малко, но поне ще е съвместимо с реалността и ще намали възможността за загуба на данни, като се опитва да записва отвъд това, което всъщност съществува.
Разбира се, тези видове операции променят структурата на USB устройството и изтриване на даннитеСледователно, те трябва да се правят с пълно познаване на фактите и винаги на правилното устройство, за да не се засегнат други дискове в системата.
Ако вместо фалшива памет имате работа с оригинално устройство дефектна (например USB устройство, което при минимална употреба вече показва сериозни грешки, а f3probe показва само лоши сектори), най-добрият вариант обикновено е не ѝ вярвайВъпреки че понякога можете да го използвате малко повече, използването му за важни данни е ненужен риск.
В контексти, където възникват грешки при писане и четене, пръстен за съобщения на ядрото (достъпно с dmesg) е много полезно: ще виждате съобщения за грешки при входно/изходни операции, внезапни прекъсвания, повторни опити и т.н. Това помага да се определи дали проблемът е в железария (памет, порт, кабел) или на файлова система (логическа повреда, която може да бъде поправима чрез форматиране или изпълнение на fsck).
С целия този набор от инструменти (lsusb, blkid, sg3-utils, dmesg, f3probe, f3fix) можете не само точно откриване на идентификатора на вашето USB устройство в Linux, но също така да диагностицира състоянието му, да провери дали е автентично и да вземе информирани решения за това как да го използвате или дали си струва да го подмените възможно най-скоро.
Овладяването на тези команди и концепции ви позволява да работите с USB устройства в Linux с много по-голяма увереност: винаги ще знаете кое устройство използвате, можете да го монтирате ръчно или автоматично, използвайки неговия UUID, ще имате ресурси да разследвате кога нещо не се монтира автоматично и ако дадено устройство се окаже фалшиво или полумъртво, ще знаете точно кои инструменти да използвате, за да потвърдите това и, ако е необходимо, да извлечете поне използваемото пространство без неприятни изненади. Споделете този урок, за да могат повече хора да научат как да открият идентификатора на USB устройството в Linux без грешки.