Android virtuelna memorijska kartica. Slom microSD memorijske kartice na Androidu. Priprema za zasjedanje

Ovaj alat vam omogućava da kreirate i upravljate particijama na SD kartici/USB disku vašeg telefona ili tableta. Možete dodati više RAM-a svom uređaju kreiranjem swap particije. Također možete popraviti oštećene datotečne sisteme SD kartice. Podržava samo "glavni" tip particije.
Funkcije:

  • kreiranje particija;
  • brisanje particija;
  • oporavak oštećenih fajl sistema.

Podržani sistemi datoteka:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (počevši od verzije MoalBoal).

Zahtjevi:

  • Root phone;
  • dostupnost Busybox-a;
  • instalacija u internu memoriju;
  • Prije nego počnete raditi s aplikacijom, odspojite SD karticu.

Upute o tome kako kreirati particije pomoću programa

Prva stvar je da prenesete sve svoje vrijedne datoteke sa fleš diska na računar, odnosno nakon toga će sve biti izbrisano sa fleš diska.

- Otvorite program

U odjeljku Kreiraj dvaput kliknite na znak plus “+”

U prvom dijelu "Part 1" odaberite Fat32, u drugom "Part 2" odaberite željeni ext2/3/4 ili swap.
- Koristite klizač da podesite veličinu svakog odeljka; polje za potvrdu „Format“ treba da bude označeno.

Potvrdite "U redu"

Sve je spremno.

Kako vratiti fleš disk u puni kapacitet
Ako odlučite da izbrišete drugu particiju sa fleš diska, to možete učiniti.
- Idite na postavke telefona, “Memorija” i kliknite na “Ukloni SD karticu”.
- Otvorite program
- U odeljku Kreiraj jednom kliknite na znak plus “+”.
- U "Part 1" izaberite Fat32, postavite klizač na puni kapacitet fleš diska, polje za potvrdu "Format" treba da bude označeno.

Softkej, kliknite na "primijeni promjene"

Potreba za podjelom memorijske kartice na nekoliko dijelova obično se javlja kada Android telefon/tablet nema dovoljno ugrađene memorije za instaliranje aplikacija. Izvođenjem slične operacije možete osloboditi prostor na telefonu, na primjer, prelaskom na drugi odjeljak microSD kartice. Ranije smo vam već rekli kako možete kreirati/spojiti particije na memorijskoj kartici pomoću i.

Nije uvijek moguće pronaći oporavak za određeni telefon/tablet koji podržava particioniranje memorijske kartice, pa ćemo vam u ovom članku reći kako to učiniti pomoću Android aplikacije AParted.

Ova aplikacija nudi sljedeće funkcije (iz službene dokumentacije):

  • Particioniranje vanjske/interne memorije Android uređaja.
  • Formatiranje eksterne/interne memorije Android uređaja.
  • Uklanjanje particija.
  • Provjera i popravljanje grešaka u sistemu datoteka.
  • Promjena veličine particija.
  • Ažuriranje sistema datoteka.

U ovom članku koristit ćemo samo prvu od njih.

Priprema za zasjedanje

Prije razdvajanja, obavezno napravite sigurnosnu kopiju vaših važnih podataka (fotografije, video zapisi, itd.), jer će svi fajlovi biti izbrisani sa memorijske kartice tokom procesa razdvajanja.

Uvjerite se da postoji na vašem telefonu; bez njega AParted neće raditi.

Prije pokretanja aplikacije morate onemogućiti memorijsku karticu u postavkama Androida. Da biste to učinili, idite na "Postavke > Memorija", u odjeljku povezane microSD kartice kliknite na stavku "Sigurno uklanjanje" i potvrdite radnju.

Izgled budućih sekcija

Pokrenite aplikaciju AParted, na kartici "CREATE" vidjet ćete dva grafička prikaza memorijske kartice u obliku pravokutnika: donji pravougaonik sa natpisom "SD memorijska kartica msdos partition tables" prikazuje trenutni izgled particije, a gornji jedna "Nove msdos particione tabele" - raspored budućih particija na microSD kartici.

Kliknite na dugme "DODAJ" da dodate prvi odeljak i koristite klizač da odredite njegovu veličinu. Ovaj odjeljak će biti dostupan telefonu/tabletu kao eksterna memorija za fotografije, muziku itd. Za precizniju raščlambu kliknite na broj sa MB, u polju koje se pojavi unesite tačnu veličinu u megabajtima i potvrdite promjene klikom na “OK”. Ostavite polje za potvrdu "Format" uključeno, a sistem datoteka "fat32" nepromijenjen.

Ponovo kliknite na dugme "ADD" da dodate drugu particiju na microSD karticu, koja će u budućnosti služiti kao produžetak sistemske memorije Android uređaja. Koristite klizač da odaberete sav preostali prostor, ostavite polje za potvrdu "Format" uključeno, kliknite na natpis "fat32" i odaberite jedan od sljedećih sistema datoteka: "ext2", "ext3" ili "ext4".

I ovdje počinje zabava, preporučljivo je odabrati opciju “ext4”, ali postoji niz razloga zašto nećete moći kreirati particiju u ovom sistemu datoteka: kernel/firmver Android sistema, klasa/proizvođač (kvalitet) memorijske kartice itd.

Stoga, eksperimentirajte, pokušajte prvo stvoriti particiju s “ext4”, zatim “ext3” i “ext2”. Na kraju krajeva, Link2SD aplikacija podržava sve gore navedene sisteme datoteka.

Nakon izvođenja gore navedenih operacija, pravougaonik označen kao “Nove msdos particione tabele” bi trebao prikazati izgled budućih particija vaše memorijske kartice.

Izvođenje zacrtavanja

Da biste raspored novih particija primijenili na memorijsku karticu, kliknite na dugme "APPLY". Aplikacija AParted će vas upozoriti da će svi podaci na prenosivom mediju biti izbrisani.

Zatim će se prikazati proces particioniranja i formatiranja particija memorijske kartice, po čijem završetku će donji grafikon “SD memory card msdos partition table” prikazati rezultat particioniranja medija. Ponovo idite na “Postavke > Pohrana” vašeg telefona/tableta i u odjeljku vanjske memorije kliknite na “Poveži SD karticu”. Nakon povezivanja i analize microSD kartice od strane Android sistema, vidjet ćete da se njena memorija smanjila na veličinu koju ste postavili.

Ako status telefona pokazuje poruku da je SD kartica oštećena, ponovo pokrenite Android sistem, nakon ponovnog pokretanja memorijska kartica bi se trebala automatski povezati.

Postavljanje Link2SD

Instalirajte i pokrenite. Program bi trebao automatski otkriti prisutnost druge particije na memorijskoj kartici i zatražiti od vas da kreirate skriptu za montiranje. Na listi odaberite sistem datoteka druge particije koji ste naveli prilikom particioniranja memorijske kartice u aplikaciji AParted, potvrdite zahtjev i nakon završetka operacije kliknite na dugme „Reboot device“.

Nakon ponovnog pokretanja Android sistema, možete prenijeti aplikacije iz memorije uređaja na drugu particiju vanjske memorijske kartice.

Dok sam razvijao konkurentsku aplikaciju, naišao sam na problem skladištenja baze podataka. Problem je bio kako da identifikujem eksternu memorijsku karticu. Općenito, pretraga na internetu nije dala tačan odgovor. Stoga sam, kombinujući sve pronađene rezultate, sastavio svoj razred. Ako nekoga zanima neka pogleda ispod.

Dakle, počnimo s teorijom.

Terminologija

Google nam kaže da postoje sljedeći koncepti:
  1. Interni ( interni) memorija je dio memorijske kartice ugrađene u telefon. Kada se koristi prema zadanim postavkama, folder aplikacije je zaštićen od pristupa drugih aplikacija (Upotreba interne memorije).
  2. Vanjski ( vanjski) memorija je opća "spoljna memorija", tj. ovo može biti dio ugrađene memorije ili uređaj koji se može ukloniti. Obično je ovo dio ugrađene memorije, posljednji put kada sam vidio da se uređaj uklanja bio je na Androidu 2.2, gdje je ugrađena memorija bila oko 2 GB, a povezana memorija je postala vanjska (Using the External Storage).
  3. Izbrisano ( uklonjiv) memorija - sva pohrana koja se može ukloniti iz uređaja bez “hirurških” intervencija.

Prije KitKat 4.4, API nije pružao funkcionalnost za dohvaćanje vanjskih memorijskih staza. Počevši od ove verzije (API 19), pojavila se funkcija javnih apstraktnih datoteka getExternalFilesDirs(Tip stringa), koji vraća niz stringova sa putanjama do interne i eksterne memorije. Ali šta je sa našom SD karticom, koja je umetnuta u slot? Opet ne možemo doći do toga.

rezultate pretraživanja

Da odgovorim na pitanje, obratio sam se sveznajućem Guglu. Ali ni meni nije dao jasan odgovor. Razmotrene su mnoge opcije definicije, od korištenja standardnih funkcija koje vode do eksterne memorije, ali one nemaju nikakve veze sa uređajima za pohranu koji se uklanjaju, do obrade pravila montiranja uređaja (Android radi na Linux kernelu). U potonjim slučajevima korištene su “žičane” putanje do mape s montiranim uređajima (ovaj direktorij se razlikuje u različitim verzijama). Ne zaboravite da se pravila montiranja mijenjaju od verzije do verzije.

Na kraju, odlučio sam da iskombinujem svo znanje koje sam stekao i napisao sopstvenu klasu, koja može da vraća putanje do eksternih i izbrisanih uređaja.

Opis koda

Klasa je kreirana MountDevice, koji sadrži putanju do uređaja, tip uređaja i hash.
Postoje dvije vrste uređaja (internu memoriju nisam dirao, jer joj se može pristupiti preko sistemskog API-ja).

Javni enum MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
I klasa je stvorena StorageHelper, koji traži dostupne memorijske kartice.

Klasa StorageHelper implementira dvije metode pretraživanja - kroz sistemsko okruženje ( Životna sredina) i korištenjem Linux uslužnog programa mount, odnosno rezultat njegovog izvršenja.

Prvi metod - Životna sredina
Kada radim sa okruženjem, koristim standardnu ​​funkciju getExternalStorageDirectory() da dobijem informacije o vanjskoj memoriji. Da dobijem informacije o memoriji koja se briše, koristim varijablu okruženja " SECONDARY_STORAGE".

Uvijek postoji jedna eksterna memorija i obično uvijek postoji, pa je provjerimo čitljivost, izračunamo heš i zapamtimo. Može biti puno memorije za brisanje, pa je potrebno rezultujući niz podijeliti graničnikom i provjeriti svaku vrijednost.

funkcija fillDevicesEnvirement

Putanja niza = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(path, MountDeviceType.EXTERNAL_SD_CARD); ) // Get remove ther); String rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Sve sekundarne SD-KARTICE se dijele u niz finalni String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.StringSeparator raconage) (File.StringSeparator) test (File.StringSeparator racon); d(rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD); ) )


Rješenje je preuzeto iz stackoverflow-a. Odgovor je negdje dolje.
Drugi metod - montiranje
Pošto dugo nisam mogao da nateram sistem da mi kaže put do memorije koja se briše, odlučio sam da pogledam u pravcu montiranih uređaja. Sistem ima konfiguracijske datoteke koje opisuju pravila za montiranje vanjskih uređaja. Sve bi bilo u redu, ali na Android verziji 4.* obični smrtnici nemaju pristup ovoj datoteci, tako da neću razmatrati ovu metodu.

Vratimo se na uslužni program za montiranje. Kada se pokrene bez parametara, naredba vraća listu montiranih sistema datoteka. Uređaji koji se brišu obično su u formatu FAT sistema datoteka, tako da ćemo istaknuti redove koji sadrže karakteristiku " debeo". Eksternu memoriju će karakterizirati parametar " fitilj".

Napomena: kada koristite ovu metodu, vrste montiranih uređaja nisu uvijek ispravno određene (najvjerovatnije nešto nisam uzeo u obzir). Primijetio sam razliku na različitim verzijama Androida. Stoga se ova metoda može koristiti kao dodatna.

fillDevicesProcess funkcija

pokušaj ( Runtime runtime = Runtime.getRuntime(); proc = runtime.exec("mount"); try (is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ( (line = br.readLine()) != null) ( if (line.contains("secure")) nastavi; if (line.contains("asec")) nastavi; if (line.contains("fat") ) (// TF kartica String columns = line.split(" "); if (kolone != null && columns.length > 1) ( testAndAdd(columns, MountDeviceType.REMOVABLE_SD_CARD); ) ) else if (line.contains(" fuse")) (// interni(eksterni) // Storage String columns = line.split(" "); if (kolone != null && columns.length > 1) ( // mount = mount.concat(columns + " \n"); testAndAdd(columns, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) konačno ( ... ) ) uhvatiti (Izuzetak e) ( ... )

Izvorni kod za cijelu klasu se još nigdje ne nalazi. Jednog od ovih dana pokušat ću to objaviti na gitHub-u.

Ko još koristi koje metode?

Oznake: Dodajte oznake

Neki Android uređaji imaju utore za memorijske kartice (obično microSD formata). Ako vaš uređaj podržava SD kartice, možete:

  • povećati kapacitet memorije;
  • koristite karticu za neke funkcije i aplikacije.

Da biste saznali ima li vaš uređaj utor za SD karticu, posjetite web stranicu proizvođača.

Bilješka. Neki od ovih koraka mogu se izvršiti samo na uređajima koji koriste Android 6.0 i novije verzije.

Kako instalirati SD karticu

Korak 1: Umetnite SD karticu.
  1. Provjerite gdje se nalazi utor za SD karticu.
  2. Isključite telefon.
  3. Uklonite ležište za SD karticu ili uklonite stražnji poklopac uređaja (ovisno o modelu). Ako je potrebno, podignite jezičak koji drži karticu.
  4. Stavite SD karticu u utor. Ako ste podigli jezičak za držanje, spustite ga.
  5. Vratite ladicu za SD karticu ili zadnji poklopac uređaja.
Korak 2: Uključite SD karticu.
  1. Pričekajte da se pojavi obavijest o SD kartici.
  2. Kliknite Tune.
  3. Odaberite željenu vrstu skladištenja.
    • Uklonjivo skladište:
      Možete prenijeti karticu na drugi uređaj zajedno sa svim vašim fajlovima (kao što su fotografije i muzika). Aplikacije se ne mogu premjestiti na prenosivi disk.
    • unutrašnja memorija:
      Kartica može pohraniti aplikacije i podatke samo za taj uređaj. Ako ga premjestite na drugi uređaj, svi podaci na njemu će biti izbrisani.
  4. Pratite uputstva na ekranu da postavite svoju SD karticu.
  5. Kada završite, kliknite Spreman.

Kako koristiti SD karticu

Kako premjestiti aplikacije na SD karticu

Ako ste karticu povezali kao internu memoriju, na nju možete prenijeti aplikacije.

Bilješka. Ne mogu se sve aplikacije prenijeti na SD karticu.

Kako premjestiti fajlove na SD karticu

Ako ste instalirali SD karticu kao prenosivi uređaj za pohranu, na nju možete prenijeti razne datoteke, poput muzike i fotografija. Nakon toga, mogu se izbrisati iz interne memorije uređaja.

Korak 1: Kopirajte fajlove na SD karticu.

Korak 2: Izbrišite fajlove iz vaše interne memorije.

Možete pogledati sadržaj SD kartice i vidjeti koliko je prostora ostalo.

Kada se SD kartica koristi kao interna memorija

Kada se SD kartica koristi kao prenosivi uređaj za pohranu

  1. Prevucite nadole od vrha ekrana da otvorite tablu sa obaveštenjima.
  2. Ispod obavještenja SD kartice dodirnite Otvori.

Dolphin može pohraniti podatke na virtuelnu SD karticu pod nazivom sd.raw. Podrazumevano će biti kreiran sa veličinom od 128MB.

Virtuelna SD kartica ima važnu upotrebu za homebrew aplikacije na Dolphinu. Project M i Mario Kart Wii prilagođene staze su dva dobra primjera, jer neke homebrew aplikacije mogu raditi samo koristeći datoteke pohranjene na SD kartici stvarnog hardvera za koji su dizajnirane.

Sadržaj

Kreiranje virtuelne SD kartice

Preporučljivo je da napravite jednu s veličinom od najmanje 1 GB za velike homebrew aplikacije, na primjer, Project M, i ne više od 2 GB za najbolju kompatibilnost jer postoje problemi s kompatibilnošću s nekim homebrew aplikacijama koje pokušavaju pokrenuti pod SDHC karticom na stvarnom hardveru .

Komandna linija i izvršne datoteke

WinImage je nepouzdan, jer će, začudo, uzrokovati desinhronizaciju i nekoliko drugih nepredvidivih problema. ImDisk će biti u redu.

Brzi vodič za montiranje i uređivanje virtuelne SD kartice sa ImDisk Virtual Disk Driver:

  1. Desni klik na sd.raw datoteku, a zatim kliknite "Mount as ImDisk Virtual Disk" iz kontekstnog menija.
  2. Potvrdni okvir Izmjenjivi medij onda udari "UREDU". Unaprijed definirano slovo pogona i sve ostalo će biti u redu.
    • Virtuelna SD kartica će se sada pojaviti kao "Removable Disk" u koji izvorni prozor Explorera može čitati i pisati.
  3. Kada završite s uređivanjem virtualne SD kartice, jednostavno je isključite desnim klikom na "Removable Disk", a zatim kliknite "Demontiraj ImDisk virtuelni disk" iz kontekstnog menija.
    • Virtuelna SD kartica mora biti demontirana prije korištenja s Dolphinom.

Dolphin Setting

Idite na Opcije > Konfiguriši... > Wii > i omogućite Umetnite SD karticu.

Upotreba

Uz aplikaciju Homebrew

Vanjski fajlovi koji se koriste za homebrew aplikaciju moraju biti pohranjeni u njoj sd.raw i sama homebrew aplikacija ( boot.elf ili boot.dol) mora postojati izvan njega da bi se Dolphin učitao. Projekt M, na primjer, će se učitati iz SD root-a \projekt\ i Dolphin će morati pokrenuti Projekt M do kraja \apps\projectm\boot.elf, NE u virtuelnoj SD kartici. Radi pogodnosti, idealno je imati iste kopije paralelno između unutarnje i vanjske strane virtualne SD kartice.

Ipak, moguće je pokrenuti homebrew aplikaciju s virtualne SD kartice putem homebrew eksploata za Wii.

Aplikacija za pokretanje Wii igrica radit će samo ako je određena Wii igra postavljena kao zadani ISO. Unutar liste igara Dolphin otvorite kontekstni meni (desni klik) na bilo kojoj igrici Wii i kliknite Postavi kao zadani ISO. Učinite to prije učitavanja homebrew aplikacije s Dolphinom.

Za Netplay

Netplay će se na kraju desinhronizirati ako bilo šta pročita virtuelnu SD karticu koja nije klonirana, bez obzira na istu veličinu koja je kreirana i identične strukture datoteka/mapika unutar njenog korijena. Da bi to spriječili, sd.raw mora se kopirati sa računara domaćina na stolarske računare prije pokretanja netplaya. Ako je virtuelna SD kartica korišćena van mreže ili na mreži sa onemogućenim blokom pisanja, MD5 kontrolni zbroj će se promeniti („Datum pristupa“ fajlova je ono što se razlikuje na virtuelnoj SD kartici), ali neće izazvati desinhronizaciju. dolaze odnekud ili podvrgnuti datotekama izmijenjenim unutar da budu "drugačije".

Za aplikaciju za pokretanje igrica Wii, korisnici na oba kraja moraju prvo imati iste kopije homebrew aplikacije i igre na svojoj listi igara, a zatim postaviti igru ​​kao zadani ISO, kao što je spomenuto u prethodnom odjeljku.